Changeset 999aad2 in Klonkt


Ignore:
Timestamp:
06/20/2026 02:14:32 PM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
bffb348
Parents:
83b8b8f
Message:

feat(themes): preview colours synced with real CSS + 4 palettes + 4 accents

  • ThemeService.PALETTES paper/ink now 1-to-1 matching [data-palette] CSS → the preview swatches in Appearance now match the applied theme (Stone=beige, Midnight=purple, Sunset=pink, Forest=olive, etc. — was a mismatch).
  • 4 new palettes: Rose, Slate, Mint, Lilac (CSS light+dark + ThemeService).
  • 4 new accent colours: Turquoise, Pink, Violet, Sky Blue.

style.css?v=29.

Co-Authored-By: Claude <noreply@…>

Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/assets/css/style.css

    r83b8b8f r999aad2  
    240240    --ink: #fef3d6; --ink-soft: #e0cfa0; --ink-muted: #b0996b; --ink-faint: #7a6848;
    241241    --rule: #3d2c16; --rule-2: #523d1f;
     242}
     243
     244/* ── ROSE ── zacht roze → wijnrood ── */
     245[data-palette="rose"] {
     246    --paper: #fdf2f4; --paper-2: #f8dde3;
     247    --ink: #2e1419; --ink-soft: #4d242c; --ink-muted: #7a4651; --ink-faint: #b3838d;
     248    --rule: #f0c9d1; --rule-2: #e0a3af;
     249}
     250@media (prefers-color-scheme: dark) {
     251    [data-palette="rose"]:not([data-theme="light"]) {
     252        --paper: #1f0a0f; --paper-2: #33141c;
     253        --ink: #fce4ea; --ink-soft: #f0bcc8; --ink-muted: #c98f9d; --ink-faint: #8a6470;
     254        --rule: #4a1f2c; --rule-2: #5e2d3a;
     255    }
     256}
     257[data-theme="dark"][data-palette="rose"] {
     258    --paper: #1f0a0f; --paper-2: #33141c;
     259    --ink: #fce4ea; --ink-soft: #f0bcc8; --ink-muted: #c98f9d; --ink-faint: #8a6470;
     260    --rule: #4a1f2c; --rule-2: #5e2d3a;
     261}
     262
     263/* ── SLATE ── koel grijsblauw → antraciet ── */
     264[data-palette="slate"] {
     265    --paper: #f4f6f8; --paper-2: #e2e8ee;
     266    --ink: #1a232e; --ink-soft: #2e3c4d; --ink-muted: #56657a; --ink-faint: #93a1b3;
     267    --rule: #cdd6e0; --rule-2: #aebbc9;
     268}
     269@media (prefers-color-scheme: dark) {
     270    [data-palette="slate"]:not([data-theme="light"]) {
     271        --paper: #0d1117; --paper-2: #1a2029;
     272        --ink: #e6edf3; --ink-soft: #c2cdd9; --ink-muted: #8b98a8; --ink-faint: #5a6675;
     273        --rule: #283039; --rule-2: #3a444f;
     274    }
     275}
     276[data-theme="dark"][data-palette="slate"] {
     277    --paper: #0d1117; --paper-2: #1a2029;
     278    --ink: #e6edf3; --ink-soft: #c2cdd9; --ink-muted: #8b98a8; --ink-faint: #5a6675;
     279    --rule: #283039; --rule-2: #3a444f;
     280}
     281
     282/* ── MINT ── fris mintgroen → diep teal ── */
     283[data-palette="mint"] {
     284    --paper: #effaf5; --paper-2: #d6f0e4;
     285    --ink: #0f2e22; --ink-soft: #1d4a39; --ink-muted: #468066; --ink-faint: #82b3a0;
     286    --rule: #c0e6d6; --rule-2: #9ad3bd;
     287}
     288@media (prefers-color-scheme: dark) {
     289    [data-palette="mint"]:not([data-theme="light"]) {
     290        --paper: #06201a; --paper-2: #0f3329;
     291        --ink: #d6f5e9; --ink-soft: #aee0cd; --ink-muted: #79b59f; --ink-faint: #4e8270;
     292        --rule: #1c4a3c; --rule-2: #2a5e4d;
     293    }
     294}
     295[data-theme="dark"][data-palette="mint"] {
     296    --paper: #06201a; --paper-2: #0f3329;
     297    --ink: #d6f5e9; --ink-soft: #aee0cd; --ink-muted: #79b59f; --ink-faint: #4e8270;
     298    --rule: #1c4a3c; --rule-2: #2a5e4d;
     299}
     300
     301/* ── LILAC ── zacht lila → donker violet ── */
     302[data-palette="lilac"] {
     303    --paper: #faf4fb; --paper-2: #f0e0f3;
     304    --ink: #2a1830; --ink-soft: #46294f; --ink-muted: #7a5685; --ink-faint: #b393bd;
     305    --rule: #e6cdec; --rule-2: #d4abdd;
     306}
     307@media (prefers-color-scheme: dark) {
     308    [data-palette="lilac"]:not([data-theme="light"]) {
     309        --paper: #170a1c; --paper-2: #281433;
     310        --ink: #f3e2f7; --ink-soft: #dabce4; --ink-muted: #b088c0; --ink-faint: #7a5a88;
     311        --rule: #3d1f4a; --rule-2: #4f2b5e;
     312    }
     313}
     314[data-theme="dark"][data-palette="lilac"] {
     315    --paper: #170a1c; --paper-2: #281433;
     316    --ink: #f3e2f7; --ink-soft: #dabce4; --ink-muted: #b088c0; --ink-faint: #7a5a88;
     317    --rule: #3d1f4a; --rule-2: #4f2b5e;
    242318}
    243319
  • src/services/ThemeService.js

    r83b8b8f r999aad2  
    1616
    1717class ThemeService {
     18  // Paper/ink komen 1-op-1 uit de [data-palette]-CSS in style.css (= wat ECHT
     19  // wordt toegepast); de accent-stip is een representatieve kleur per palet.
    1820  static PALETTES = {
    1921    sage: {
     
    2527      name: 'Paper',
    2628      light: { paper: '#ffffff', ink: '#09090b', accent: '#000000' },
    27       dark: { paper: '#09090b', ink: '#fafafa', accent: '#ffffff' }
     29      dark: { paper: '#0a0a0a', ink: '#fafafa', accent: '#ffffff' }
    2830    },
    2931    ocean: {
    3032      name: 'Ocean',
    31       light: { paper: '#f0f9ff', ink: '#0c2d48', accent: '#0369a1' },
    32       dark: { paper: '#001f3f', ink: '#e0f2fe', accent: '#06b6d4' }
     33      light: { paper: '#f0f6fb', ink: '#0f1e2e', accent: '#0369a1' },
     34      dark: { paper: '#0a1929', ink: '#e0f2fe', accent: '#38bdf8' }
    3335    },
    3436    forest: {
    3537      name: 'Forest',
    36       light: { paper: '#f0fdf4', ink: '#15803d', accent: '#16a34a' },
    37       dark: { paper: '#052e16', ink: '#dcfce7', accent: '#22c55e' }
     38      light: { paper: '#f2f6ed', ink: '#1a2e15', accent: '#4d7c2a' },
     39      dark: { paper: '#0d1f12', ink: '#dcf2d0', accent: '#6fae3f' }
    3840    },
    3941    stone: {
    4042      name: 'Stone',
    41       light: { paper: '#f5f5f5', ink: '#262626', accent: '#737373' },
    42       dark: { paper: '#1f1f1f', ink: '#e5e5e5', accent: '#a3a3a3' }
     43      light: { paper: '#f5f0e8', ink: '#2b2218', accent: '#8a6a45' },
     44      dark: { paper: '#1a130b', ink: '#f5e9d5', accent: '#b89366' }
    4345    },
    4446    midnight: {
    4547      name: 'Midnight',
    46       light: { paper: '#f8fafc', ink: '#1e293b', accent: '#3b82f6' },
    47       dark: { paper: '#0f172a', ink: '#f1f5f9', accent: '#60a5fa' }
     48      light: { paper: '#f3f1f8', ink: '#1e1a2e', accent: '#7c5cbf' },
     49      dark: { paper: '#0f0a1f', ink: '#e9def7', accent: '#9d88e0' }
    4850    },
    4951    sunset: {
    5052      name: 'Sunset',
    51       light: { paper: '#fef3c7', ink: '#92400e', accent: '#f97316' },
    52       dark: { paper: '#5a1f08', ink: '#fef3c7', accent: '#fb923c' }
     53      light: { paper: '#fdf4f3', ink: '#2e1618', accent: '#d6477f' },
     54      dark: { paper: '#1f0a14', ink: '#fce7f3', accent: '#f06fa3' }
    5355    },
    5456    cream: {
    5557      name: 'Cream',
    56       light: { paper: '#fffbf0', ink: '#78350f', accent: '#d97706' },
    57       dark: { paper: '#3f2305', ink: '#fffbf0', accent: '#f59e0b' }
     58      light: { paper: '#fefaf0', ink: '#2a1f0f', accent: '#d97706' },
     59      dark: { paper: '#1a1208', ink: '#fef3d6', accent: '#f0a93a' }
     60    },
     61    rose: {
     62      name: 'Rose',
     63      light: { paper: '#fdf2f4', ink: '#2e1419', accent: '#e11d6b' },
     64      dark: { paper: '#1f0a0f', ink: '#fce4ea', accent: '#f06b9a' }
     65    },
     66    slate: {
     67      name: 'Slate',
     68      light: { paper: '#f4f6f8', ink: '#1a232e', accent: '#475569' },
     69      dark: { paper: '#0d1117', ink: '#e6edf3', accent: '#8b98a8' }
     70    },
     71    mint: {
     72      name: 'Mint',
     73      light: { paper: '#effaf5', ink: '#0f2e22', accent: '#0d9488' },
     74      dark: { paper: '#06201a', ink: '#d6f5e9', accent: '#2dd4bf' }
     75    },
     76    lilac: {
     77      name: 'Lilac',
     78      light: { paper: '#faf4fb', ink: '#2a1830', accent: '#a855f7' },
     79      dark: { paper: '#170a1c', ink: '#f3e2f7', accent: '#c084fc' }
    5880    }
    5981  };
     
    7395    { key: 'crimson', name: 'Karmijn', color: '#ef2840' },
    7496    { key: 'indigo',  name: 'Indigo',  color: '#6366f1' },
     97    { key: 'teal',    name: 'Turquoise', color: '#0d9488' },
     98    { key: 'pink',    name: 'Roze',    color: '#ec4899' },
     99    { key: 'violet',  name: 'Violet',  color: '#7c3aed' },
     100    { key: 'sky',     name: 'Hemelsblauw', color: '#0ea5e9' },
    75101  ];
    76102
  • src/views/shell.ejs

    r83b8b8f r999aad2  
    163163
    164164<!-- v9 stylesheet (full palette system) -->
    165 <link rel="stylesheet" href="/assets/css/style.css?v=28">
     165<link rel="stylesheet" href="/assets/css/style.css?v=29">
    166166
    167167<!-- Audio player styles: loaded on every page so the mini-player works
Note: See TracChangeset for help on using the changeset viewer.