Changeset c9c70cc in Klonkt


Ignore:
Timestamp:
06/24/2026 05:07:53 PM (3 months ago)
Author:
Robin Genis <roboburr@…>
Branches:
main
Children:
34076d7
Parents:
19fbe03
Message:

Palettes overhaul: neutral 'Klonkt' default + 7 real-colour themes

  • Default is now the clean neutral (white/black + gold accent), renamed 'Klonkt' (the old navy Klonkt is gone; former 'Paper' merged into it).
  • 7 real-colour palettes (tinted like forest/lilac, not navy-with-accent): Forest, Ocean (blue), Teal, Lilac, Sunset, Candy (red), Amber.
  • Dropped Sand/cream + Paper from the picker. style.css?v=46.

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

Location:
src
Files:
4 edited

Legend:

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

    r19fbe03 rc9c70cc  
    109109}
    110110
    111 /* ── KLONKT ── merk-standaard: off-white → donkerblauw (klonkt.com) ── */
     111/* ── KLONKT ── merk-standaard: clean wit → bijna-zwart (neutraal, gouden accent) ── */
    112112[data-palette="klonkt"] {
    113     --paper: #f3f1ea; --paper-2: #e7e4d9;
    114     --ink: #11141c; --ink-soft: #2b3040; --ink-muted: #5b6473; --ink-faint: #9aa3b2;
    115     --rule: #d8d4c6; --rule-2: #c5c0af;
     113    --paper: #ffffff; --paper-2: #f4f4f5;
     114    --ink: #09090b; --ink-soft: #27272a; --ink-muted: #52525b; --ink-faint: #a1a1aa;
     115    --rule: #e4e4e7; --rule-2: #d4d4d8;
    116116}
    117117@media (prefers-color-scheme: dark) {
    118118    [data-palette="klonkt"]:not([data-theme="light"]) {
    119         --paper: #0b0d12; --paper-2: #11141c;
    120         --ink: #f3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;
    121         --rule: #232a38; --rule-2: #2b3040;
     119        --paper: #0a0a0a; --paper-2: #18181b;
     120        --ink: #fafafa; --ink-soft: #d4d4d8; --ink-muted: #a1a1aa; --ink-faint: #71717a;
     121        --rule: #27272a; --rule-2: #3f3f46;
    122122    }
    123123}
    124124[data-theme="dark"][data-palette="klonkt"] {
    125     --paper: #0b0d12; --paper-2: #11141c;
    126     --ink: #f3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;
    127     --rule: #232a38; --rule-2: #2b3040;
     125    --paper: #0a0a0a; --paper-2: #18181b;
     126    --ink: #fafafa; --ink-soft: #d4d4d8; --ink-muted: #a1a1aa; --ink-faint: #71717a;
     127    --rule: #27272a; --rule-2: #3f3f46;
    128128}
    129129
     
    243243}
    244244
    245 /* ── OCEAN ── klonkt-structuur (navy → off-white), blauw accent ── */
     245/* ── OCEAN ── helder blauw → diep oceaanblauw ── */
    246246[data-palette="ocean"] {
    247     --paper: #f3f1ea; --paper-2: #e7e4d9;
    248     --ink: #11141c; --ink-soft: #2b3040; --ink-muted: #5b6473; --ink-faint: #9aa3b2;
    249     --rule: #d8d4c6; --rule-2: #c5c0af;
     247    --paper: #eef4fb; --paper-2: #d8e6f7;
     248    --ink: #0f2942; --ink-soft: #1d4368; --ink-muted: #4a6e90; --ink-faint: #87a3c0;
     249    --rule: #c2d8ee; --rule-2: #a3c2e0;
    250250}
    251251@media (prefers-color-scheme: dark) {
    252252    [data-palette="ocean"]:not([data-theme="light"]) {
    253         --paper: #0b0d12; --paper-2: #11141c;
    254         --ink: #f3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;
    255         --rule: #232a38; --rule-2: #2b3040;
     253        --paper: #081726; --paper-2: #102a42;
     254        --ink: #d6e8fb; --ink-soft: #aecbe8; --ink-muted: #7e9fc0; --ink-faint: #547390;
     255        --rule: #1d3a56; --rule-2: #2a4d6e;
    256256    }
    257257}
    258258[data-theme="dark"][data-palette="ocean"] {
    259     --paper: #0b0d12; --paper-2: #11141c;
    260     --ink: #f3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;
    261     --rule: #232a38; --rule-2: #2b3040;
    262 }
    263 
    264 /* ── CANDY ── klonkt-structuur (navy → off-white), candy-rood accent ── */
     259    --paper: #081726; --paper-2: #102a42;
     260    --ink: #d6e8fb; --ink-soft: #aecbe8; --ink-muted: #7e9fc0; --ink-faint: #547390;
     261    --rule: #1d3a56; --rule-2: #2a4d6e;
     262}
     263
     264/* ── TEAL ── mint-turquoise → diep teal ── */
     265[data-palette="teal"] {
     266    --paper: #ecf7f5; --paper-2: #cfe9e4;
     267    --ink: #0c2e2a; --ink-soft: #194a44; --ink-muted: #467168; --ink-faint: #84aaa2;
     268    --rule: #bce0d9; --rule-2: #9bcbc1;
     269}
     270@media (prefers-color-scheme: dark) {
     271    [data-palette="teal"]:not([data-theme="light"]) {
     272        --paper: #06201d; --paper-2: #0e332e;
     273        --ink: #d4f2ec; --ink-soft: #aad9d0; --ink-muted: #7aaaa0; --ink-faint: #517a72;
     274        --rule: #1a4a42; --rule-2: #275e54;
     275    }
     276}
     277[data-theme="dark"][data-palette="teal"] {
     278    --paper: #06201d; --paper-2: #0e332e;
     279    --ink: #d4f2ec; --ink-soft: #aad9d0; --ink-muted: #7aaaa0; --ink-faint: #517a72;
     280    --rule: #1a4a42; --rule-2: #275e54;
     281}
     282
     283/* ── CANDY ── zacht roze-rood → diep kersenrood ── */
    265284[data-palette="candy"] {
    266     --paper: #f3f1ea; --paper-2: #e7e4d9;
    267     --ink: #11141c; --ink-soft: #2b3040; --ink-muted: #5b6473; --ink-faint: #9aa3b2;
    268     --rule: #d8d4c6; --rule-2: #c5c0af;
     285    --paper: #fdf1f3; --paper-2: #f8d8de;
     286    --ink: #3a1018; --ink-soft: #5e1f2a; --ink-muted: #8e4450; --ink-faint: #c2868f;
     287    --rule: #f0c5cd; --rule-2: #e3a0ab;
    269288}
    270289@media (prefers-color-scheme: dark) {
    271290    [data-palette="candy"]:not([data-theme="light"]) {
    272         --paper: #0b0d12; --paper-2: #11141c;
    273         --ink: #f3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;
    274         --rule: #232a38; --rule-2: #2b3040;
     291        --paper: #220810; --paper-2: #3a121d;
     292        --ink: #fde0e6; --ink-soft: #f5b8c4; --ink-muted: #cd8b98; --ink-faint: #8e5f6a;
     293        --rule: #4d1a28; --rule-2: #632536;
    275294    }
    276295}
    277296[data-theme="dark"][data-palette="candy"] {
    278     --paper: #0b0d12; --paper-2: #11141c;
    279     --ink: #f3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;
    280     --rule: #232a38; --rule-2: #2b3040;
     297    --paper: #220810; --paper-2: #3a121d;
     298    --ink: #fde0e6; --ink-soft: #f5b8c4; --ink-muted: #cd8b98; --ink-faint: #8e5f6a;
     299    --rule: #4d1a28; --rule-2: #632536;
     300}
     301
     302/* ── AMBER ── warm honing → diep amber ── */
     303[data-palette="amber"] {
     304    --paper: #fdf6e9; --paper-2: #f7e6c2;
     305    --ink: #3a2a0c; --ink-soft: #5e451a; --ink-muted: #8e7340; --ink-faint: #c2a877;
     306    --rule: #f0dca8; --rule-2: #e3c581;
     307}
     308@media (prefers-color-scheme: dark) {
     309    [data-palette="amber"]:not([data-theme="light"]) {
     310        --paper: #221a08; --paper-2: #3a2c12;
     311        --ink: #fdeecb; --ink-soft: #f0d49a; --ink-muted: #c2a877; --ink-faint: #8e7340;
     312        --rule: #4d3a16; --rule-2: #634d20;
     313    }
     314}
     315[data-theme="dark"][data-palette="amber"] {
     316    --paper: #221a08; --paper-2: #3a2c12;
     317    --ink: #fdeecb; --ink-soft: #f0d49a; --ink-muted: #c2a877; --ink-faint: #8e7340;
     318    --rule: #4d3a16; --rule-2: #634d20;
    281319}
    282320
  • src/middleware/site.js

    r19fbe03 rc9c70cc  
    105105 */
    106106export function loadTheme(req, res, next) {
    107   const PALETTES = ['klonkt','paper','forest','sunset','cream','lilac','ocean','candy'];
     107  const PALETTES = ['klonkt','forest','ocean','teal','lilac','sunset','candy','amber'];
    108108 
    109109  const user = req.session?.user;
  • src/services/ThemeService.js

    r19fbe03 rc9c70cc  
    22 * ThemeService — Palette and theme management
    33 *
    4  * 8 Built-in Palettes (curated, no near-duplicates):
    5  * - Klonkt (default, navy + gold brand)
    6  * - Paper (minimalist white)
    7  * - Forest (greens)
    8  * - Sunset (pink)
    9  * - Sand (warm paper, clay accent — key 'cream')
    10  * - Lilac (purple)
    11  * - Ocean (klonkt navy + blue accent)
    12  * - Candy (klonkt navy + candy-red accent)
     4 * 8 Built-in Palettes — 1 neutral default + 7 real colours:
     5 * - Klonkt (DEFAULT, clean white/black neutral + gold accent; was 'Paper')
     6 * - Forest (green) · Ocean (blue) · Teal · Lilac (purple)
     7 * - Sunset (pink) · Candy (red) · Amber (warm)
     8 * Colour palettes are tinted (like forest/lilac), not navy-with-accent.
    139 *
    1410 * Dark/Light mode toggle stored per user
     
    1915  // is ACTUALLY applied); the accent dot is a representative color per palette.
    2016  static PALETTES = {
    21     // Brand default — matches klonkt.com (dark blue + gold).
     17    // DEFAULT — clean neutral (formerly 'Paper'), renamed to the brand 'Klonkt'.
     18    // White → near-black, with the brand gold as accent. The old navy 'Klonkt' is gone.
    2219    klonkt: {
    2320      name: 'Klonkt',
    24       light: { paper: '#f3f1ea', ink: '#11141c', accent: '#c98a2a' },
    25       dark: { paper: '#0b0d12', ink: '#f3f1ea', accent: '#e8b04b' }
    26     },
    27     paper: {
    28       name: 'Paper',
    29       light: { paper: '#ffffff', ink: '#09090b', accent: '#000000' },
    30       dark: { paper: '#0a0a0a', ink: '#fafafa', accent: '#ffffff' }
    31     },
     21      light: { paper: '#ffffff', ink: '#09090b', accent: '#c98a2a' },
     22      dark: { paper: '#0a0a0a', ink: '#fafafa', accent: '#e8b04b' }
     23    },
     24    // 7 real-colour palettes (tinted paper, like forest/lilac — NOT navy-with-accent).
    3225    forest: {
    3326      name: 'Forest',
     
    3528      dark: { paper: '#0d1f12', ink: '#dcf2d0', accent: '#6fae3f' }
    3629    },
     30    ocean: {
     31      name: 'Ocean',
     32      light: { paper: '#eef4fb', ink: '#0f2942', accent: '#1d6fe0' },
     33      dark: { paper: '#081726', ink: '#d6e8fb', accent: '#5ba0f5' }
     34    },
     35    teal: {
     36      name: 'Teal',
     37      light: { paper: '#ecf7f5', ink: '#0c2e2a', accent: '#0d9488' },
     38      dark: { paper: '#06201d', ink: '#d4f2ec', accent: '#2dd4bf' }
     39    },
     40    lilac: {
     41      name: 'Lilac',
     42      light: { paper: '#faf4fb', ink: '#2a1830', accent: '#a855f7' },
     43      dark: { paper: '#170a1c', ink: '#f3e2f7', accent: '#c084fc' }
     44    },
    3745    sunset: {
    3846      name: 'Sunset',
     
    4048      dark: { paper: '#1f0a14', ink: '#fce7f3', accent: '#f06fa3' }
    4149    },
    42     // Warm paper — soft off-white + clay accent (deliberately NOT bright yellow).
    43     // key stays 'cream' (DB-safe).
    44     cream: {
    45       name: 'Sand',
    46       light: { paper: '#f7f3ec', ink: '#232019', accent: '#bf6a45' },
    47       dark: { paper: '#14120d', ink: '#efe9dd', accent: '#d6845f' }
    48     },
    49     // Ocean & Candy = the klonkt palette (navy + off-white) with a different accent.
    50     ocean: {
    51       name: 'Ocean',
    52       light: { paper: '#f3f1ea', ink: '#11141c', accent: '#1d6fe0' },
    53       dark: { paper: '#0b0d12', ink: '#f3f1ea', accent: '#4f9bff' }
    54     },
    5550    candy: {
    5651      name: 'Candy',
    57       light: { paper: '#f3f1ea', ink: '#11141c', accent: '#e11d48' },
    58       dark: { paper: '#0b0d12', ink: '#f3f1ea', accent: '#fb5c7d' }
    59     },
    60     lilac: {
    61       name: 'Lilac',
    62       light: { paper: '#faf4fb', ink: '#2a1830', accent: '#a855f7' },
    63       dark: { paper: '#170a1c', ink: '#f3e2f7', accent: '#c084fc' }
     52      light: { paper: '#fdf1f3', ink: '#3a1018', accent: '#e11d48' },
     53      dark: { paper: '#220810', ink: '#fde0e6', accent: '#fb6f8b' }
     54    },
     55    amber: {
     56      name: 'Amber',
     57      light: { paper: '#fdf6e9', ink: '#3a2a0c', accent: '#d97706' },
     58      dark: { paper: '#221a08', ink: '#fdeecb', accent: '#f0a93a' }
    6459    }
    6560  };
  • src/views/shell.ejs

    r19fbe03 rc9c70cc  
    175175
    176176<!-- v9 stylesheet (full palette system) -->
    177 <link rel="stylesheet" href="/assets/css/style.css?v=45">
     177<link rel="stylesheet" href="/assets/css/style.css?v=46">
    178178
    179179<!-- Audio player styles: loaded on every page so the mini-player works
Note: See TracChangeset for help on using the changeset viewer.