Changeset c9c70cc in Klonkt
- Timestamp:
- 06/24/2026 05:07:53 PM (3 months ago)
- Branches:
- main
- Children:
- 34076d7
- Parents:
- 19fbe03
- Location:
- src
- Files:
-
- 4 edited
-
assets/css/style.css (modified) (2 diffs)
-
middleware/site.js (modified) (1 diff)
-
services/ThemeService.js (modified) (4 diffs)
-
views/shell.ejs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/css/style.css
r19fbe03 rc9c70cc 109 109 } 110 110 111 /* ── KLONKT ── merk-standaard: off-white → donkerblauw (klonkt.com) ── */111 /* ── KLONKT ── merk-standaard: clean wit → bijna-zwart (neutraal, gouden accent) ── */ 112 112 [data-palette="klonkt"] { 113 --paper: #f 3f1ea; --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; 116 116 } 117 117 @media (prefers-color-scheme: dark) { 118 118 [data-palette="klonkt"]:not([data-theme="light"]) { 119 --paper: #0 b0d12; --paper-2: #11141c;120 --ink: #f 3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;121 --rule: #2 32a38; --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; 122 122 } 123 123 } 124 124 [data-theme="dark"][data-palette="klonkt"] { 125 --paper: #0 b0d12; --paper-2: #11141c;126 --ink: #f 3f1ea; --ink-soft: #c8cdd6; --ink-muted: #9aa3b2; --ink-faint: #6b7280;127 --rule: #2 32a38; --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; 128 128 } 129 129 … … 243 243 } 244 244 245 /* ── OCEAN ── klonkt-structuur (navy → off-white), blauw accent── */245 /* ── OCEAN ── helder blauw → diep oceaanblauw ── */ 246 246 [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; 250 250 } 251 251 @media (prefers-color-scheme: dark) { 252 252 [data-palette="ocean"]:not([data-theme="light"]) { 253 --paper: #0 b0d12; --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; 256 256 } 257 257 } 258 258 [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 ── */ 265 284 [data-palette="candy"] { 266 --paper: #f 3f1ea; --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; 269 288 } 270 289 @media (prefers-color-scheme: dark) { 271 290 [data-palette="candy"]:not([data-theme="light"]) { 272 --paper: # 0b0d12; --paper-2: #11141c;273 --ink: #f 3f1ea; --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; 275 294 } 276 295 } 277 296 [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; 281 319 } 282 320 -
src/middleware/site.js
r19fbe03 rc9c70cc 105 105 */ 106 106 export 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']; 108 108 109 109 const user = req.session?.user; -
src/services/ThemeService.js
r19fbe03 rc9c70cc 2 2 * ThemeService — Palette and theme management 3 3 * 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. 13 9 * 14 10 * Dark/Light mode toggle stored per user … … 19 15 // is ACTUALLY applied); the accent dot is a representative color per palette. 20 16 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. 22 19 klonkt: { 23 20 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). 32 25 forest: { 33 26 name: 'Forest', … … 35 28 dark: { paper: '#0d1f12', ink: '#dcf2d0', accent: '#6fae3f' } 36 29 }, 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 }, 37 45 sunset: { 38 46 name: 'Sunset', … … 40 48 dark: { paper: '#1f0a14', ink: '#fce7f3', accent: '#f06fa3' } 41 49 }, 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 },55 50 candy: { 56 51 name: 'Candy', 57 light: { paper: '#f 3f1ea', ink: '#11141c', accent: '#e11d48' },58 dark: { paper: '# 0b0d12', ink: '#f3f1ea', accent: '#fb5c7d' }59 }, 60 lilac: {61 name: ' Lilac',62 light: { paper: '#f af4fb', 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' } 64 59 } 65 60 }; -
src/views/shell.ejs
r19fbe03 rc9c70cc 175 175 176 176 <!-- v9 stylesheet (full palette system) --> 177 <link rel="stylesheet" href="/assets/css/style.css?v=4 5">177 <link rel="stylesheet" href="/assets/css/style.css?v=46"> 178 178 179 179 <!-- Audio player styles: loaded on every page so the mini-player works
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)