Skip to content

Commit c584ac3

Browse files
committed
Merge branch 'main' of github.com:boundlessfi/boundless
2 parents 774df15 + 57d7a72 commit c584ac3

2 files changed

Lines changed: 53 additions & 58 deletions

File tree

.env.example

Lines changed: 23 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,23 @@
1-
# Stellar Network Configuration
2-
NEXT_PUBLIC_STELLAR_NETWORK=testnet
3-
# Options: testnet, public
4-
5-
# Application Configuration
6-
NEXT_PUBLIC_APP_URL=http://localhost:3000
7-
# Your application's public URL
8-
9-
# API Configuration
10-
NEXT_PUBLIC_API_URL=http://localhost:8000/api
11-
# Your backend API URL
12-
13-
# WalletConnect Configuration
14-
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=your_wallet_connect_project_id
15-
# Get this from https://cloud.walletconnect.com/
16-
17-
# Stellar Horizon URLs (optional - defaults will be used)
18-
NEXT_PUBLIC_HORIZON_TESTNET_URL=https://horizon-testnet.stellar.org
19-
NEXT_PUBLIC_HORIZON_PUBLIC_URL=https://horizon.stellar.org
20-
21-
# Application Metadata
22-
NEXT_PUBLIC_APP_NAME=Boundless
23-
NEXT_PUBLIC_APP_DESCRIPTION=Stellar-based application
24-
NEXT_PUBLIC_APP_ICON=/logo.svg
25-
26-
# Development Settings
27-
NEXT_PUBLIC_DEBUG_MODE=false
28-
# Enable debug logging for wallet operations
29-
30-
# Feature Flags
31-
NEXT_PUBLIC_ENABLE_WALLET_CONNECT=true
32-
NEXT_PUBLIC_ENABLE_MULTI_WALLET=true
33-
NEXT_PUBLIC_ENABLE_NETWORK_SWITCHING=true
34-
35-
# NextAuth Configuration
36-
NEXTAUTH_SECRET=your_nextauth_secret_here
37-
# Generate a random string for this secret
38-
# You can use: openssl rand -base64 32
39-
40-
NEXTAUTH_URL=http://localhost:3000
41-
# Your application's public URL (same as NEXT_PUBLIC_APP_URL)
42-
43-
# Google OAuth Configuration
44-
GOOGLE_CLIENT_ID=your_google_client_id
45-
# Get this from Google Cloud Console
46-
47-
GOOGLE_CLIENT_SECRET=your_google_client_secret
48-
# Get this from Google Cloud Console
49-
50-
# Environment
51-
NODE_ENV=development
52-
# Options: development, production, test
53-
1+
# Created by Vercel CLI
2+
GOOGLE_CLIENT_ID=""
3+
GOOGLE_CLIENT_SECRET="your_google_client_secret"
4+
NEXTAUTH_SECRET="PiRlq+7IyU5QJuCiVwjiuwZUGCqc/3qw1QPgLOt2AFg="
5+
NEXTAUTH_URL="http://localhost:3000"
6+
NEXT_PUBLIC_API_URL="https://stage-api.boundlessfi.xyz/api"
7+
NEXT_PUBLIC_APP_DESCRIPTION="Stellar-based application"
8+
NEXT_PUBLIC_APP_ICON="/logo.svg"
9+
NEXT_PUBLIC_APP_NAME="Boundless"
10+
NEXT_PUBLIC_APP_URL="http://localhost:3000"
11+
NEXT_PUBLIC_BETTER_AUTH_URL="https://stage-api.boundlessfi.xyz"
12+
NEXT_PUBLIC_BOUNDLESS_PLATFORM_ADDRESS=""
13+
NEXT_PUBLIC_DEBUG_MODE="false"
14+
NEXT_PUBLIC_ENABLE_MULTI_WALLET="true"
15+
NEXT_PUBLIC_ENABLE_NETWORK_SWITCHING="true"
16+
NEXT_PUBLIC_ENABLE_WALLET_CONNECT="true"
17+
NEXT_PUBLIC_GOOGLE_CLIENT_ID=""
18+
NEXT_PUBLIC_HORIZON_PUBLIC_URL="https://horizon.stellar.org"
19+
NEXT_PUBLIC_HORIZON_TESTNET_URL="https://horizon-testnet.stellar.org"
20+
NEXT_PUBLIC_STELLAR_NETWORK="testnet"
21+
NEXT_PUBLIC_TRUSTLESS_WORK_API_KEY=""
22+
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID="your_wallet_connect_project_id"
23+
NODE_ENV="dev"

components/organization/hackathons/new/tabs/RewardsTab.tsx

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ const PRIZE_PRESETS = {
6464
const RANK_EMOJIS = ['🥇', '🥈', '🥉', '🏅', '🏅'];
6565

6666
interface PrizeTierProps {
67-
tier: Omit<PrizeTier, 'currency'> & { id: string; currency?: string };
67+
tier: any; // Using any for simplicity with FieldArray types
6868
index: number;
6969
onRemove: (id: string) => void;
7070
canRemove: boolean;
@@ -302,6 +302,7 @@ const ValidationAlert = ({ totalPool }: { totalPool: number }) => {
302302

303303
export default function RewardsTab({
304304
onSave,
305+
onContinue,
305306
initialData,
306307
isLoading = false,
307308
}: RewardsTabProps) {
@@ -432,6 +433,9 @@ export default function RewardsTab({
432433
if (onSave) {
433434
await onSave(data);
434435
}
436+
if (onContinue) {
437+
onContinue();
438+
}
435439
} catch (error: any) {
436440
const message = error.response?.data?.message || error.message;
437441
const errorMessage = Array.isArray(message) ? message[0] : message;
@@ -538,10 +542,31 @@ export default function RewardsTab({
538542
</Button>
539543

540544
{form.formState.errors.prizeTiers && (
541-
<p className='flex items-center gap-2 text-sm text-red-400'>
542-
<AlertCircle className='h-4 w-4' />
543-
{form.formState.errors.prizeTiers.message}
544-
</p>
545+
<div className='rounded-lg border border-red-500/20 bg-red-500/10 p-3'>
546+
<p className='flex items-center gap-2 text-sm font-medium text-red-400'>
547+
<AlertCircle className='h-4 w-4' />
548+
{form.formState.errors.prizeTiers.message ||
549+
'Validation error in prize tiers'}
550+
</p>
551+
<div className='mt-2 space-y-3 text-xs text-red-400/80'>
552+
<p>
553+
To proceed, you must use a <strong>Prize Preset</strong> to
554+
configure your rewards. Presets automatically apply the
555+
required ranking and score thresholds needed for the system.
556+
</p>
557+
<div className='rounded-lg border-red-500/30 bg-red-500/10 p-3 text-red-300'>
558+
<p className='mb-1 font-semibold tracking-wider uppercase'>
559+
Action Required:
560+
</p>
561+
<p>
562+
Scroll up and select one of the{' '}
563+
<strong>Prize Presets</strong> (Standard, Winner Takes Most,
564+
etc.). You can still adjust the total prize pool amounts
565+
after selecting a preset.
566+
</p>
567+
</div>
568+
</div>
569+
</div>
545570
)}
546571
</div>
547572

0 commit comments

Comments
 (0)