Skip to content

Latest commit

 

History

History
381 lines (305 loc) · 9.95 KB

File metadata and controls

381 lines (305 loc) · 9.95 KB

✅ NAVIGATION COMPLÈTE & CHANGEMENT DE RÔLE

🎯 Améliorations Implémentées

1. Changement de Rôle (Apprenant ↔ Créateur)

Fichier: /app/settings/SettingsClient.tsx

Fonctionnalités:

  • Bouton pour passer d'Apprenant à Créateur
  • Bouton pour passer de Créateur à Apprenant
  • Mise à jour en temps réel dans Supabase
  • Redirection automatique vers le bon dashboard
  • Badge "Actif" sur le rôle actuel
  • Messages de succès/erreur

Flow:

1. Allez sur /settings
2. Section "Rôle sur la plateforme"
3. Cliquez sur le rôle souhaité
4. ✅ Confirmation "Rôle changé avec succès !"
5. ✅ Redirection automatique vers le nouveau dashboard

2. Navigation Complète avec Boutons Retour

Pages avec bouton retour:

  • /profile/edit → Retour au profil
  • /settings → Retour au profil
  • /my-courses → Retour au dashboard
  • /verify-email → (Gère la redirection auto)

Header Universel:

  • Présent sur toutes les pages
  • Menu dropdown avec navigation
  • Liens contextuels selon le rôle
  • Bouton de déconnexion

🔄 Flow Complet de Changement de Rôle

Scénario 1: Apprenant → Créateur

1. Utilisateur connecté en tant qu'Apprenant
   Dashboard: /dashboard
   
2. Clic sur profil (header) → Paramètres
   URL: /settings
   
3. Section "Rôle sur la plateforme"
   - Apprenant (Actif)
   - Créateur (Cliquer ici)
   
4. Clic sur "Créateur"
   - Message: "Rôle changé avec succès !"
   - Mise à jour Supabase: role = 'creator'
   
5. Redirection automatique
   URL: /creator/dashboard
   
6. ✅ Nouveau rôle actif
   - Header affiche "Créateur"
   - Menu adapté (Mes cours créateur)
   - Stats créateur

Scénario 2: Créateur → Apprenant

1. Utilisateur connecté en tant que Créateur
   Dashboard: /creator/dashboard
   
2. Paramètres → Changement de rôle
   
3. Clic sur "Apprenant"
   - Message: "Rôle changé avec succès !"
   - Mise à jour Supabase: role = 'learner'
   
4. Redirection automatique
   URL: /dashboard
   
5. ✅ Nouveau rôle actif
   - Header affiche "Apprenant"
   - Menu adapté (Mes cours)
   - Stats apprenant

🗺️ Carte de Navigation Complète

Pour un Apprenant

Header (toujours visible)
├── Logo → /
├── Cours → /courses
├── Dashboard → /dashboard
├── Mes cours → /my-courses
└── Profil (dropdown)
    ├── Profil → /profile
    ├── Paramètres → /settings
    └── Déconnexion → /

Dashboard (/dashboard)
├── Stats personnelles
├── Cours recommandés → /courses/[id]
├── Explorer les cours → /courses
└── Parcourir par catégorie → /categories

Mes Cours (/my-courses)
├── [Retour au dashboard]
├── Recherche
├── Filtres
└── Liste des cours → /learn/[id]

Profil (/profile)
├── Informations personnelles
├── Stats
├── Modifier le profil → /profile/edit
└── (Badges si apprenant)

Édition Profil (/profile/edit)
├── [Retour au profil]
├── Photo de profil
├── Informations personnelles
├── Réseaux sociaux
└── Sauvegarder → /profile

Paramètres (/settings)
├── [Retour au profil]
├── Changement de rôle (Apprenant ↔ Créateur)
├── Notifications
├── Sécurité
├── Abonnement → /pricing
├── Préférences
└── Zone de danger

Pour un Créateur

Header (toujours visible)
├── Logo → /
├── Cours → /courses
├── Dashboard → /creator/dashboard
├── Mes cours → /creator/courses
└── Profil (dropdown)
    ├── Profil → /profile
    ├── Mes cours → /creator/courses
    ├── Paramètres → /settings
    └── Déconnexion → /

Dashboard Créateur (/creator/dashboard)
├── Stats créateur
├── Créer un cours → /creator/courses/new
├── Gérer les cours → /creator/courses
└── Analytics → /creator/analytics

Mes Cours Créateur (/creator/courses)
├── [Retour au dashboard]
├── Liste des cours créés
├── Créer un cours → /creator/courses/new
└── Éditer un cours → /creator/courses/[id]/edit

Profil (/profile)
├── Badge "👨‍🏫 Créateur"
├── Stats créateur (Cours créés, Étudiants, Contenu)
├── Modifier le profil → /profile/edit
└── Vos cours → /creator/courses

Paramètres (/settings)
├── [Retour au profil]
├── Changement de rôle (Créateur ↔ Apprenant)
├── Notifications
├── Sécurité
├── Abonnement → /pricing
├── Préférences
└── Zone de danger

✅ Checklist Navigation

Boutons Retour

  • /profile/edit → Retour au profil
  • /settings → Retour au profil
  • /my-courses → Retour au dashboard
  • /forgot-password → Retour à l'accueil (déjà présent)
  • /verify-email → Gestion auto

Header Universel

  • Logo cliquable → /
  • Navigation adaptée au rôle
  • Menu dropdown avec profil
  • Bouton de déconnexion
  • Avatar avec initiales

Changement de Rôle

  • Bouton Apprenant → Créateur
  • Bouton Créateur → Apprenant
  • Mise à jour Supabase
  • Redirection automatique
  • Messages de succès/erreur
  • Badge "Actif" sur rôle actuel

Protection des Routes

  • Dashboard vérifie l'auth
  • Profil vérifie l'auth
  • Settings vérifie l'auth
  • Redirection si non connecté

🧪 Tests à Faire

Test 1: Navigation Complète (Apprenant)

1. Connectez-vous en tant qu'apprenant
2. Testez chaque lien du header
3. Vérifiez les boutons retour sur chaque page
4. ✅ Toutes les pages doivent être accessibles
5. ✅ Tous les boutons retour doivent fonctionner

Test 2: Changement de Rôle (Apprenant → Créateur)

1. Connectez-vous en tant qu'apprenant
2. Allez sur /settings
3. Cliquez sur "Créateur"
4. ✅ Vérifiez le message de succès
5. ✅ Vérifiez la redirection vers /creator/dashboard
6. ✅ Vérifiez que le header affiche "Créateur"
7. ✅ Vérifiez les liens du menu (Mes cours créateur)

Test 3: Changement de Rôle (Créateur → Apprenant)

1. En tant que créateur, allez sur /settings
2. Cliquez sur "Apprenant"
3. ✅ Vérifiez le message de succès
4. ✅ Vérifiez la redirection vers /dashboard
5. ✅ Vérifiez que le header affiche "Apprenant"
6. ✅ Vérifiez les liens du menu (Mes cours)

Test 4: Persistance du Rôle

1. Changez de rôle (Apprenant → Créateur)
2. Déconnectez-vous
3. Reconnectez-vous
4. ✅ Vérifiez que vous êtes toujours Créateur
5. ✅ Vérifiez la redirection vers /creator/dashboard

Test 5: Boutons Retour

1. Allez sur /profile/edit
   ✅ Cliquez "Retour au profil" → /profile
   
2. Allez sur /settings
   ✅ Cliquez "Retour au profil" → /profile
   
3. Allez sur /my-courses
   ✅ Cliquez "Retour au dashboard" → /dashboard

📊 Données Gérées

Supabase user_metadata

{
  "role": "learner" | "creator",
  "onboarding_completed": true,
  "first_name": "John",
  "last_name": "Doe",
  "full_name": "John Doe",
  "bio": "...",
  "website": "...",
  "github": "...",
  "linkedin": "...",
  "twitter": "..."
}

Changement de Rôle

// Mise à jour dans Supabase
await supabase.auth.updateUser({
  data: {
    role: 'creator', // ou 'learner'
  },
});

// Redirection selon le nouveau rôle
if (newRole === 'creator') {
  router.push('/creator/dashboard');
} else {
  router.push('/dashboard');
}

🎨 UX du Changement de Rôle

Design

┌─────────────────────────────────────────────┐
│  👥 Rôle sur la plateforme                  │
│                                             │
│  Vous pouvez changer de rôle à tout moment │
│                                             │
│  ┌─────────────────────────────────────┐   │
│  │ 🎓 Apprenant              [Actif]   │   │
│  │ Suivre des cours et développer...   │   │
│  └─────────────────────────────────────┘   │
│                                             │
│  ┌─────────────────────────────────────┐   │
│  │ 👨‍🏫 Créateur                         │   │
│  │ Créer des cours et partager...      │   │
│  └─────────────────────────────────────┘   │
└─────────────────────────────────────────────┘

Messages

  • Succès: "Rôle changé avec succès ! Redirection vers votre nouveau dashboard..."
  • Erreur: "Vous avez déjà ce rôle"
  • Erreur: Message d'erreur Supabase si échec

🚀 Avantages

Pour l'Utilisateur

  • ✅ Flexibilité totale (changer de rôle quand il veut)
  • ✅ Navigation claire et intuitive
  • ✅ Boutons retour sur toutes les pages
  • ✅ Pas besoin de créer 2 comptes
  • ✅ Données conservées lors du changement

Pour le Développement

  • ✅ Code propre et réutilisable
  • ✅ Header universel
  • ✅ Gestion d'état centralisée
  • ✅ Protection des routes
  • ✅ Facile à étendre

✅ RÉSUMÉ FINAL

Navigation et changement de rôle 100% fonctionnels !

Changement de rôle:

  • Apprenant ↔ Créateur en 1 clic
  • Mise à jour Supabase
  • Redirection automatique
  • Messages clairs

Navigation:

  • Header universel sur toutes les pages
  • Boutons retour partout
  • Menu dropdown avec profil
  • Liens contextuels selon le rôle

Protection:

  • Routes protégées
  • Vérification auth
  • Redirection si non connecté

Tout est prêt pour passer au catalogue de cours ! 🎉