362 lines
12 KiB
Markdown
362 lines
12 KiB
Markdown
# 🎨 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
|
|
```css
|
|
[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
|
|
```css
|
|
[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
|
|
```css
|
|
[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")
|
|
```css
|
|
[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
|
|
```css
|
|
[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
|
|
```css
|
|
[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
|
|
```css
|
|
[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
|
|
```css
|
|
[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* 💻
|