diff --git a/src/app/campaigns/[id]/propose/page.tsx b/src/app/campaigns/[id]/propose/page.tsx index b77432d..bb278c0 100644 --- a/src/app/campaigns/[id]/propose/page.tsx +++ b/src/app/campaigns/[id]/propose/page.tsx @@ -5,8 +5,13 @@ import { useParams } from 'next/navigation'; import Link from 'next/link'; import { Campaign } from '@/types'; import { campaignService, propositionService } from '@/lib/services'; +import { Button } from '@/components/ui/button'; +import { Input } from '@/components/ui/input'; +import { Textarea } from '@/components/ui/textarea'; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; +import { Badge } from '@/components/ui/badge'; +import { ArrowLeft, FileText, User, Mail, CheckCircle, AlertCircle } from 'lucide-react'; -// Force dynamic rendering to avoid SSR issues with Supabase export const dynamic = 'force-dynamic'; export default function PublicProposePage() { @@ -64,7 +69,6 @@ export default function PublicProposePage() { setError(''); try { - // Créer la proposition avec les informations de l'auteur await propositionService.create({ campaign_id: campaignId, title: formData.title, @@ -100,10 +104,10 @@ export default function PublicProposePage() { if (loading) { return ( -
+
-
-

Chargement de la campagne...

+
+

Chargement de la campagne...

); @@ -111,21 +115,20 @@ export default function PublicProposePage() { if (error && !campaign) { return ( -
+
-
- - - -

Erreur

-

{error}

- - Retour à l'accueil - -
+ + +
+ +
+

Erreur

+

{error}

+ +
+
); @@ -133,54 +136,44 @@ export default function PublicProposePage() { if (success) { return ( -
+
-
- - - -

Proposition soumise !

-

- Votre proposition a été soumise avec succès. Merci pour votre participation ! -

-
- - - Retour à l'accueil - -
-
+ + +
+ +
+

Proposition soumise !

+

+ Votre proposition a été soumise avec succès. Merci pour votre participation ! +

+
+ + +
+
+
); } return ( -
-
+
+
{/* Header */}
-
+
- - - - - Retour à l'accueil - -

Déposer une proposition

-

+

Déposer une proposition

+

Campagne : {campaign?.title}

@@ -188,143 +181,130 @@ export default function PublicProposePage() {
{/* Campaign Info */} -
-

Informations sur la campagne

-
-
-

Description

-

{campaign?.description}

+ + + + + Informations sur la campagne + + + +
+
+

Description

+

{campaign?.description}

+
-
-

Budget par participant

-

{campaign?.budget_per_user}€

-
-
-

Paliers de dépenses

-

{campaign?.spending_tiers}

-
-
-

Statut

- - Dépôt de propositions - -
-
-
+ + {/* Form */} -
-
-

Votre proposition

-

+ + + Votre proposition + Remplissez le formulaire ci-dessous pour soumettre votre proposition. -

-
+ + -
- {error && ( -
- {error} -
- )} - -
- - -
- -
- -