feat: fix accents, improve candidature API, add legal pages

- Fix all missing French accents across 16 files (é, è, ê, à, ô, ç)
- Improve candidature API error handling: check env vars, better messages
- Add Mentions légales page (/mentions-legales)
- Add CGV page (/cgv)
- Add Politique de confidentialité page (/confidentialite)
- Business info: Enguerrand Ozano, SIREN 994538932, TVA FR16994538932

https://claude.ai/code/session_01H2aRGDaKgarPvhay2HxN6Y
This commit is contained in:
Claude
2026-02-08 20:49:54 +00:00
parent dd6ec0816b
commit 231667c2c6
19 changed files with 475 additions and 124 deletions

View File

@@ -55,7 +55,7 @@ export default async function DashboardPage() {
Bonjour {profile?.full_name?.split(" ")[0] || "!"} 👋
</h1>
<p className="text-white/60">
Voici un apercu de ta progression dans le programme.
Voici un aperçu de ta progression dans le programme.
</p>
</div>
@@ -69,7 +69,7 @@ export default async function DashboardPage() {
<ProgressBar value={progressPercent} showPercentage={false} />
</Card>
<Card>
<p className="text-white/40 text-sm mb-1">Modules completes</p>
<p className="text-white/40 text-sm mb-1">Modules complétés</p>
<p className="text-2xl font-bold text-white">
{completedModules}
<span className="text-white/30 text-lg font-normal">
@@ -122,11 +122,11 @@ export default async function DashboardPage() {
<Card className="text-center py-12">
<div className="text-4xl mb-4">🚀</div>
<h3 className="text-white font-semibold text-lg mb-2">
Le programme arrive bientot !
Le programme arrive bientôt !
</h3>
<p className="text-white/40 text-sm max-w-md mx-auto">
Les modules de formation sont en cours de preparation. Tu seras
notifie des qu&apos;ils seront disponibles.
Les modules de formation sont en cours de préparation. Tu seras
notifié dès qu&apos;ils seront disponibles.
</p>
</Card>
)}

View File

@@ -86,7 +86,7 @@ export default async function ModulePage({ params }: ModulePageProps) {
d="M5 13l4 4L19 7"
/>
</svg>
Complete
Complété
</span>
)}
</div>
@@ -133,7 +133,7 @@ export default async function ModulePage({ params }: ModulePageProps) {
d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
/>
</svg>
Telecharger le PDF
Télécharger le PDF
</a>
</div>
)}
@@ -144,7 +144,7 @@ export default async function ModulePage({ params }: ModulePageProps) {
<div className="text-center">
<div className="text-4xl mb-3">🎬</div>
<p className="text-white/40 text-sm">
Le contenu sera bientot disponible
Le contenu sera bientôt disponible
</p>
</div>
</div>

View File

@@ -53,7 +53,7 @@ export default async function FormationsPage() {
</p>
<ProgressBar
value={progressPercent}
label={`${completedModules} modules completes sur ${totalModules}`}
label={`${completedModules} modules complétés sur ${totalModules}`}
/>
</div>
@@ -72,7 +72,7 @@ export default async function FormationsPage() {
Semaine {week}
</h2>
<span className="text-white/30 text-sm">
{weekCompleted}/{weekTotal} completes
{weekCompleted}/{weekTotal} complétés
</span>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
@@ -101,7 +101,7 @@ export default async function FormationsPage() {
Aucun module disponible
</h3>
<p className="text-white/40 text-sm">
Les modules de formation seront bientot disponibles.
Les modules de formation seront bientôt disponibles.
</p>
</div>
)}