Ajout du mode clair/sombre (dark mode)

- Installation de next-themes
- Création du composant ThemeToggle avec icônes soleil/lune
- Intégration du ThemeProvider dans le layout
- Ajout du toggle dans la navigation mobile et le header admin
- Adaptation des couleurs pour le dark mode (tropical chic)
- Mise à jour des composants UI (Card, Button) pour le dark mode
- Adaptation des composants principaux (Layout, WifiCard, etc.)
This commit is contained in:
2025-11-23 16:53:27 +01:00
parent 106f15205c
commit 0e485aacee
13 changed files with 124 additions and 32 deletions

View File

@ -71,7 +71,7 @@ export default function WifiCard() {
const showPasswordFallback = error && error.includes("sélectionner manuellement");
return (
<Card className="bg-white">
<Card>
<CardHeader>
<CardTitle className="flex items-center gap-2">
<Wifi className="h-6 w-6 text-primary" />
@ -80,22 +80,22 @@ export default function WifiCard() {
</CardHeader>
<CardContent className="space-y-4">
<div>
<p className="text-sm text-gray-600 mb-1">Nom du réseau</p>
<p className="text-sm text-gray-600 dark:text-gray-400 mb-1">Nom du réseau</p>
<p className="text-lg font-semibold text-primary">{wifiName || "Chargement..."}</p>
</div>
{showPasswordFallback && wifiPassword && (
<div className="bg-yellow-50 border border-yellow-200 rounded-xl p-3">
<p className="text-sm text-yellow-800 font-mono select-all">
<div className="bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-xl p-3">
<p className="text-sm text-yellow-800 dark:text-yellow-300 font-mono select-all">
{wifiPassword}
</p>
</div>
)}
{error && !showPasswordFallback && (
<div className="bg-red-50 border border-red-200 rounded-xl p-3 flex items-start gap-2">
<AlertCircle className="h-5 w-5 text-red-600 flex-shrink-0 mt-0.5" />
<p className="text-sm text-red-800">{error}</p>
<div className="bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-xl p-3 flex items-start gap-2">
<AlertCircle className="h-5 w-5 text-red-600 dark:text-red-400 flex-shrink-0 mt-0.5" />
<p className="text-sm text-red-800 dark:text-red-300">{error}</p>
</div>
)}