Keep/keep-notes/THEMES-HARMONISES-SLATE.md

12 KiB

🎨 Thèmes Harmonisés avec Slate

Ramez, voici les thèmes midnight, blue et sepia harmonisés avec le thème Slate principal.


📊 Tableau des Thèmes

Thème Teinte OKLCH Caractère Description
Slate 230° Gris-bleu élégant Thème principal
Midnight 250° Gris-bleu très sombre Nuit profonde
Blue 225° Gris-bleu saturé Version vibrant
Sepia 45° Gris-brun chaud Vintage chaleureux

🎯 Thème SLATE (Principal) - TEINTE 230°

Light Mode

[data-theme='slate'] {
  --background: oklch(0.985 0.003 230);      /* Blanc grisâtre */
  --foreground: oklch(0.2 0.02 230);          /* Gris-bleu foncé */
  --card: oklch(1 0 0);                         /* Blanc pur */
  --card-foreground: oklch(0.2 0.02 230);
  --primary: oklch(0.45 0.08 230);             /* Gris-bleu doux */
  --primary-foreground: oklch(0.99 0 0);       /* Blanc */
  --secondary: oklch(0.94 0.005 230);          /* Gris-bleu très pâle */
  --secondary-foreground: oklch(0.2 0.02 230);
  --muted: oklch(0.92 0.005 230);
  --muted-foreground: oklch(0.6 0.01 230);
  --accent: oklch(0.94 0.005 230);
  --accent-foreground: oklch(0.2 0.02 230);
  --destructive: oklch(0.6 0.18 25);           /* Rouge */
  --border: oklch(0.9 0.008 230);              /* Gris-bleu très clair */
  --input: oklch(0.98 0.003 230);
  --ring: oklch(0.7 0.005 230);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.2 0.02 230);
  --sidebar: oklch(0.97 0.004 230);
  --sidebar-foreground: oklch(0.2 0.02 230);
  --sidebar-primary: oklch(0.45 0.08 230);
  --sidebar-primary-foreground: oklch(0.99 0 0);
  --sidebar-accent: oklch(0.94 0.005 230);
  --sidebar-accent-foreground: oklch(0.2 0.02 230);
  --sidebar-border: oklch(0.9 0.008 230);
  --sidebar-ring: oklch(0.7 0.005 230);
}

Dark Mode

[data-theme='slate'].dark {
  --background: oklch(0.14 0.005 230);     /* Noir grisâtre */
  --foreground: oklch(0.97 0.003 230);     /* Blanc grisâtre */
  --card: oklch(0.18 0.006 230);         /* Gris-bleu foncé */
  --card-foreground: oklch(0.97 0.003 230);
  --primary: oklch(0.55 0.08 230);         /* Gris-bleu plus clair */
  --primary-foreground: oklch(0.1 0 0);       /* Noir */
  --secondary: oklch(0.24 0.006 230);
  --secondary-foreground: oklch(0.97 0.003 230);
  --muted: oklch(0.22 0.006 230);
  --muted-foreground: oklch(0.55 0.01 230);
  --accent: oklch(0.24 0.006 230);
  --accent-foreground: oklch(0.97 0.003 230);
  --destructive: oklch(0.65 0.18 25);
  --border: oklch(0.28 0.01 230);
  --input: oklch(0.2 0.006 230);
  --ring: oklch(0.6 0.01 230);
  --popover: oklch(0.18 0.006 230);
  --popover-foreground: oklch(0.97 0.003 230);
  --sidebar: oklch(0.12 0.005 230);
  --sidebar-foreground: oklch(0.97 0.003 230);
  --sidebar-primary: oklch(0.55 0.08 230);
  --sidebar-primary-foreground: oklch(0.1 0 0);
  --sidebar-accent: oklch(0.24 0.006 230);
  --sidebar-accent-foreground: oklch(0.97 0.003 230);
  --sidebar-border: oklch(0.28 0.01 230);
  --sidebar-ring: oklch(0.6 0.01 230);
}

🌙 Thème MIDNIGHT - TEINTE 250° (Valeurs harmonisées)

Description : Version plus sombre et profonde de Slate, idéal pour nuit

Light Mode

[data-theme='midnight'] {
  --background: oklch(0.94 0.005 250);      /* Gris-bleu très pâle */
  --foreground: oklch(0.18 0.03 250);         /* Gris-bleu très foncé */
  --card: oklch(0.97 0.006 250);           /* Gris-bleu pâle */
  --card-foreground: oklch(0.18 0.03 250);
  --primary: oklch(0.5 0.12 250);             /* Gris-bleu saturé */
  --primary-foreground: oklch(0.99 0 0);       /* Blanc */
  --secondary: oklch(0.2 0.01 250);
  --secondary-foreground: oklch(0.18 0.03 250);
  --muted: oklch(0.22 0.01 250);
  --muted-foreground: oklch(0.55 0.02 250);
  --accent: oklch(0.25 0.015 250);
  --accent-foreground: oklch(0.18 0.03 250);
  --destructive: oklch(0.6 0.22 25);
  --border: oklch(0.85 0.015 250);
  --input: oklch(0.25 0.01 250);
  --ring: oklch(0.65 0.015 250);
  --popover: oklch(0.97 0.006 250);
  --popover-foreground: oklch(0.18 0.03 250);
  --sidebar: oklch(0.9 0.01 250);
  --sidebar-foreground: oklch(0.18 0.03 250);
  --sidebar-primary: oklch(0.5 0.12 250);
  --sidebar-primary-foreground: oklch(0.99 0 0);
  --sidebar-accent: oklch(0.25 0.015 250);
  --sidebar-accent-foreground: oklch(0.18 0.03 250);
  --sidebar-border: oklch(0.85 0.015 250);
  --sidebar-ring: oklch(0.65 0.015 250);
}

Dark Mode (midnight ajoute aussi class "dark")

[data-theme='midnight'].dark {
  --background: oklch(0.1 0.01 250);       /* Noir profond */
  --foreground: oklch(0.96 0.005 250);      /* Blanc grisâtre */
  --card: oklch(0.15 0.015 250);         /* Gris-bleu très foncé */
  --card-foreground: oklch(0.96 0.005 250);
  --primary: oklch(0.6 0.12 250);             /* Gris-bleu vibrant */
  --primary-foreground: oklch(0.1 0 0);       /* Noir */
  --secondary: oklch(0.18 0.015 250);
  --secondary-foreground: oklch(0.96 0.005 250);
  --muted: oklch(0.2 0.015 250);
  --muted-foreground: oklch(0.5 0.02 250);
  --accent: oklch(0.22 0.02 250);
  --accent-foreground: oklch(0.96 0.005 250);
  --destructive: oklch(0.65 0.2 25);
  --border: oklch(0.3 0.02 250);
  --input: oklch(0.22 0.02 250);
  --ring: oklch(0.55 0.02 250);
  --popover: oklch(0.15 0.015 250);
  --popover-foreground: oklch(0.96 0.005 250);
  --sidebar: oklch(0.08 0.01 250);
  --sidebar-foreground: oklch(0.96 0.005 250);
  --sidebar-primary: oklch(0.6 0.12 250);
  --sidebar-primary-foreground: oklch(0.1 0 0);
  --sidebar-accent: oklch(0.22 0.02 250);
  --sidebar-accent-foreground: oklch(0.96 0.005 250);
  --sidebar-border: oklch(0.3 0.02 250);
  --sidebar-ring: oklch(0.55 0.02 250);
}

💎 Thème BLUE - TEINTE 225° (Saturé)

Description : Version plus vibrante et saturée de Slate, garde le côté bleu mais élégant

Light Mode

[data-theme='blue'] {
  --background: oklch(0.985 0.005 225);      /* Blanc légèrement bleuté */
  --foreground: oklch(0.18 0.035 225);         /* Gris-bleu foncé saturé */
  --card: oklch(1 0 0);                         /* Blanc pur */
  --card-foreground: oklch(0.18 0.035 225);
  --primary: oklch(0.5 0.15 225);             /* Bleu vibrant */
  --primary-foreground: oklch(0.99 0 0);       /* Blanc */
  --secondary: oklch(0.93 0.008 225);
  --secondary-foreground: oklch(0.18 0.035 225);
  --muted: oklch(0.9 0.01 225);
  --muted-foreground: oklch(0.58 0.015 225);
  --accent: oklch(0.93 0.01 225);
  --accent-foreground: oklch(0.18 0.035 225);
  --destructive: oklch(0.6 0.2 25);
  --border: oklch(0.87 0.012 225);
  --input: oklch(0.95 0.01 225);
  --ring: oklch(0.65 0.015 225);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.18 0.035 225);
  --sidebar: oklch(0.965 0.008 225);
  --sidebar-foreground: oklch(0.18 0.035 225);
  --sidebar-primary: oklch(0.5 0.15 225);
  --sidebar-primary-foreground: oklch(0.99 0 0);
  --sidebar-accent: oklch(0.93 0.01 225);
  --sidebar-accent-foreground: oklch(0.18 0.035 225);
  --sidebar-border: oklch(0.87 0.012 225);
  --sidebar-ring: oklch(0.65 0.015 225);
}

Dark Mode

[data-theme='blue'].dark {
  --background: oklch(0.13 0.008 225);      /* Noir légèrement bleuté */
  --foreground: oklch(0.97 0.006 225);      /* Blanc légèrement bleuté */
  --card: oklch(0.17 0.01 225);           /* Gris-bleu foncé */
  --card-foreground: oklch(0.97 0.006 225);
  --primary: oklch(0.6 0.15 225);             /* Bleu vibrant plus clair */
  --primary-foreground: oklch(0.1 0 0);       /* Noir */
  --secondary: oklch(0.22 0.015 225);
  --secondary-foreground: oklch(0.97 0.006 225);
  --muted: oklch(0.25 0.02 225);
  --muted-foreground: oklch(0.52 0.018 225);
  --accent: oklch(0.25 0.025 225);
  --accent-foreground: oklch(0.97 0.006 225);
  --destructive: oklch(0.65 0.22 25);
  --border: oklch(0.32 0.018 225);
  --input: oklch(0.25 0.02 225);
  --ring: oklch(0.55 0.02 225);
  --popover: oklch(0.17 0.01 225);
  --popover-foreground: oklch(0.97 0.006 225);
  --sidebar: oklch(0.1 0.01 225);
  --sidebar-foreground: oklch(0.97 0.006 225);
  --sidebar-primary: oklch(0.6 0.15 225);
  --sidebar-primary-foreground: oklch(0.1 0 0);
  --sidebar-accent: oklch(0.25 0.025 225);
  --sidebar-accent-foreground: oklch(0.97 0.006 225);
  --sidebar-border: oklch(0.32 0.018 225);
  --sidebar-ring: oklch(0.55 0.02 225);
}

📜 Thème SEPIA - TEINTE 45° (Chaleureux)

Description : Version vintage chaleureuse avec une touche dorée/brun, garde le gris comme base

Light Mode

[data-theme='sepia'] {
  --background: oklch(0.985 0.004 45);       /* Blanc légèrement doré */
  --foreground: oklch(0.2 0.015 45);          /* Gris-brun foncé */
  --card: oklch(1 0 0);                         /* Blanc pur */
  --card-foreground: oklch(0.2 0.015 45);
  --primary: oklch(0.45 0.08 45);             /* Gris-brun chaud */
  --primary-foreground: oklch(0.99 0 0);       /* Blanc */
  --secondary: oklch(0.94 0.008 45);
  --secondary-foreground: oklch(0.2 0.015 45);
  --muted: oklch(0.91 0.01 45);
  --muted-foreground: oklch(0.6 0.012 45);
  --accent: oklch(0.93 0.01 45);
  --accent-foreground: oklch(0.2 0.015 45);
  --destructive: oklch(0.6 0.2 25);
  --border: oklch(0.88 0.012 45);
  --input: oklch(0.97 0.008 45);
  --ring: oklch(0.68 0.01 45);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.2 0.015 45);
  --sidebar: oklch(0.96 0.01 45);
  --sidebar-foreground: oklch(0.2 0.015 45);
  --sidebar-primary: oklch(0.45 0.08 45);
  --sidebar-primary-foreground: oklch(0.99 0 0);
  --sidebar-accent: oklch(0.93 0.01 45);
  --sidebar-accent-foreground: oklch(0.2 0.015 45);
  --sidebar-border: oklch(0.88 0.012 45);
  --sidebar-ring: oklch(0.68 0.01 45);
}

Dark Mode

[data-theme='sepia'].dark {
  --background: oklch(0.15 0.008 45);       /* Noir légèrement bruni */
  --foreground: oklch(0.97 0.005 45);       /* Blanc légèrement bruni */
  --card: oklch(0.19 0.01 45);           /* Gris-brun foncé */
  --card-foreground: oklch(0.97 0.005 45);
  --primary: oklch(0.55 0.08 45);             /* Gris-brun plus clair */
  --primary-foreground: oklch(0.1 0 0);       /* Noir */
  --secondary: oklch(0.25 0.015 45);
  --secondary-foreground: oklch(0.97 0.005 45);
  --muted: oklch(0.23 0.02 45);
  --muted-foreground: oklch(0.55 0.012 45);
  --accent: oklch(0.27 0.018 45);
  --accent-foreground: oklch(0.97 0.005 45);
  --destructive: oklch(0.65 0.2 25);
  --border: oklch(0.3 0.018 45);
  --input: oklch(0.27 0.02 45);
  --ring: oklch(0.58 0.02 45);
  --popover: oklch(0.19 0.01 45);
  --popover-foreground: oklch(0.97 0.005 45);
  --sidebar: oklch(0.12 0.01 45);
  --sidebar-foreground: oklch(0.97 0.005 45);
  --sidebar-primary: oklch(0.55 0.08 45);
  --sidebar-primary-foreground: oklch(0.1 0 0);
  --sidebar-accent: oklch(0.27 0.018 45);
  --sidebar-accent-foreground: oklch(0.97 0.005 45);
  --sidebar-border: oklch(0.3 0.018 45);
  --sidebar-ring: oklch(0.58 0.02 45);
}

🎨 Visualisation des Teintes

Diagramme des teintes OKLCH :

      45° (Sepia)           225° (Blue)
          │                     │
          │      230° (Slate)    │
          │      ← principal →   │
          ↓                     ↓
    Gris-brun              Gris-bleu
    chaleureux             saturé

      250° (Midnight)
          │
          ↓
    Gris-bleu
    profond/sombre

Relation entre les thèmes :

Slate (230°) ⭐ ← THÈME PRINCIPAL
    ├── Midnight (250°) : Version + sombre
    ├── Blue (225°) : Version + saturée
    └── Sepia (45°) : Version chaleureuse

Modifications à faire

Dans keep-notes/app/globals.css :

1. Remplacer les lignes 169-188 (midnight actuel)

Par le nouveau code MIDNIGHT ci-dessus

2. Remplacer les lignes 190-217 (blue actuel)

Par le nouveau code BLUE ci-dessus

3. Remplacer les lignes 219-238 (sepia actuel)

Par le nouveau code SEPIA ci-dessus


💬 Choix du thème

Utilisez ce tableau pour choisir :

Pour l'utilisation de jour Utilisez
Travail standard, productivité Slate (230°)
Ambiance calme, liseuse Sepia (45°)
Ambiance énergique, créative Blue (225°)
Pour l'utilisation de nuit Utilisez
Nuit profonde, coding Midnight (250°)
Nuit légère, confort Slate dark (230°)

Tous les thèmes sont harmonisés ! 🎨

Thèmes créés par Amelia - Developer Agent 💻