feat: production-harden app and finalize merge-ready UX/theme baseline

- complete tokenized theme preset system and admin style guide visibility
- refine dashboard layout/scroll behavior and shared async/request UI states
- add user nav-visibility settings across API, migration, and frontend stores
- harden security headers/CSP handling and related test coverage
- enforce CI repository hygiene + frontend contract/theme/build quality gates
- update docs/env references and make migration smoke test head-aware
This commit is contained in:
Justin Visser 2026-02-19 15:43:20 +01:00
parent ab1d29b203
commit ae2ca8f149
66 changed files with 5655 additions and 853 deletions

View file

@ -0,0 +1,314 @@
export default {
"id": "dune",
"label": "Dune",
"description": "Sandy beige environments featuring soft mauve highlights.",
"modes": {
"light": {
"scale": {
"brand": {
"50": "#f7f5f6",
"100": "#ece7e9",
"200": "#d7cccd",
"300": "#baabb2",
"400": "#9e8893",
"500": "#856b77",
"600": "#6c5460",
"700": "#58424d",
"800": "#4a3841",
"900": "#3d3036",
"950": "#21181d"
},
"info": {
"50": "#f4f5f8",
"100": "#e5e8ef",
"200": "#cdd4e1",
"300": "#a9b6cb",
"400": "#8496b1",
"500": "#697a98",
"600": "#53617e",
"700": "#455067",
"800": "#3a4356",
"900": "#323948",
"950": "#21252f"
},
"success": {
"50": "#f3f7f4",
"100": "#e1ebe4",
"200": "#c4d8c9",
"300": "#9dbfa6",
"400": "#75a383",
"500": "#588567",
"600": "#446950",
"700": "#385441",
"800": "#2f4436",
"900": "#27382d",
"950": "#131f18"
},
"warning": {
"50": "#fdf7f3",
"100": "#faebe2",
"200": "#f3d2be",
"300": "#eab192",
"400": "#de8f68",
"500": "#cc784f",
"600": "#b05e3b",
"700": "#924a2f",
"800": "#783e29",
"900": "#633524",
"950": "#351a0f"
},
"danger": {
"50": "#fcf5f6",
"100": "#f8e6e9",
"200": "#efcbd1",
"300": "#e2a6b1",
"400": "#d07d8d",
"500": "#b85d6e",
"600": "#9b4556",
"700": "#823746",
"800": "#6c303c",
"900": "#5a2a33",
"950": "#31141a"
}
},
"surface": {
"app": "#efece5",
"nav": "#f7f5f0",
"nav_active": "#d7cccd",
"card": "#f7f5f0",
"card_muted": "#e6e3dd",
"table": "#f7f5f0",
"table_header": "#efece5",
"input": "#ffffff",
"overlay": "#3d3a3b"
},
"text": {
"primary": "#3d3a3b",
"secondary": "#757072",
"muted": "#9c9699",
"inverse": "#f7f5f0",
"link": "#6c5460"
},
"border": {
"default": "#e6e3dd",
"strong": "#d1cdc6",
"subtle": "#f2f0eb",
"interactive": "#baabb2"
},
"focus": {
"ring": "#9e8893",
"ring_offset": "#efece5"
},
"action": {
"primary": {
"bg": "#9e8893",
"border": "#9e8893",
"text": "#f7f5f0",
"hover_bg": "#856b77",
"hover_border": "#856b77",
"hover_text": "#ffffff"
},
"secondary": {
"bg": "#e6e3dd",
"border": "#d1cdc6",
"text": "#3d3a3b",
"hover_bg": "#d8d5ce",
"hover_border": "#bcbbb5",
"hover_text": "#1f1d1e"
},
"ghost": {
"bg": "#efece5",
"border": "#e6e3dd",
"text": "#6c5460",
"hover_bg": "#e6e3dd",
"hover_border": "#d1cdc6",
"hover_text": "#3d3a3b"
},
"danger": {
"bg": "#f8e6e9",
"border": "#efcbd1",
"text": "#823746",
"hover_bg": "#efcbd1",
"hover_border": "#e2a6b1",
"hover_text": "#9b4556"
}
},
"state": {
"info": {
"bg": "#e5e8ef",
"border": "#cdd4e1",
"text": "#455067"
},
"success": {
"bg": "#e1ebe4",
"border": "#c4d8c9",
"text": "#385441"
},
"warning": {
"bg": "#faebe2",
"border": "#f3d2be",
"text": "#924a2f"
},
"danger": {
"bg": "#f8e6e9",
"border": "#efcbd1",
"text": "#823746"
}
}
},
"dark": {
"scale": {
"brand": {
"50": "#f7f5f6",
"100": "#ece7e9",
"200": "#d7cccd",
"300": "#baabb2",
"400": "#9e8893",
"500": "#856b77",
"600": "#6c5460",
"700": "#58424d",
"800": "#4a3841",
"900": "#3d3036",
"950": "#21181d"
},
"info": {
"50": "#f4f5f8",
"100": "#e5e8ef",
"200": "#cdd4e1",
"300": "#a9b6cb",
"400": "#8496b1",
"500": "#697a98",
"600": "#53617e",
"700": "#455067",
"800": "#3a4356",
"900": "#323948",
"950": "#21252f"
},
"success": {
"50": "#f3f7f4",
"100": "#e1ebe4",
"200": "#c4d8c9",
"300": "#9dbfa6",
"400": "#75a383",
"500": "#588567",
"600": "#446950",
"700": "#385441",
"800": "#2f4436",
"900": "#27382d",
"950": "#131f18"
},
"warning": {
"50": "#fdf7f3",
"100": "#faebe2",
"200": "#f3d2be",
"300": "#eab192",
"400": "#de8f68",
"500": "#cc784f",
"600": "#b05e3b",
"700": "#924a2f",
"800": "#783e29",
"900": "#633524",
"950": "#351a0f"
},
"danger": {
"50": "#fcf5f6",
"100": "#f8e6e9",
"200": "#efcbd1",
"300": "#e2a6b1",
"400": "#d07d8d",
"500": "#b85d6e",
"600": "#9b4556",
"700": "#823746",
"800": "#6c303c",
"900": "#5a2a33",
"950": "#31141a"
}
},
"surface": {
"app": "#3d3a3b",
"nav": "#4a4748",
"nav_active": "#6c5460",
"card": "#4a4748",
"card_muted": "#575354",
"table": "#4a4748",
"table_header": "#575354",
"input": "#312e2f",
"overlay": "#1f1d1e"
},
"text": {
"primary": "#e6e3e4",
"secondary": "#b8b4b6",
"muted": "#918e8f",
"inverse": "#3d3a3b",
"link": "#baabb2"
},
"border": {
"default": "#575354",
"strong": "#696466",
"subtle": "#474345",
"interactive": "#9e8893"
},
"focus": {
"ring": "#9e8893",
"ring_offset": "#3d3a3b"
},
"action": {
"primary": {
"bg": "#9e8893",
"border": "#9e8893",
"text": "#1f1d1e",
"hover_bg": "#baabb2",
"hover_border": "#baabb2",
"hover_text": "#1f1d1e"
},
"secondary": {
"bg": "#575354",
"border": "#696466",
"text": "#e6e3e4",
"hover_bg": "#696466",
"hover_border": "#7a7577",
"hover_text": "#ffffff"
},
"ghost": {
"bg": "#3d3a3b",
"border": "#575354",
"text": "#b8b4b6",
"hover_bg": "#575354",
"hover_border": "#696466",
"hover_text": "#ffffff"
},
"danger": {
"bg": "#5a2a33",
"border": "#6c303c",
"text": "#efcbd1",
"hover_bg": "#6c303c",
"hover_border": "#823746",
"hover_text": "#f8e6e9"
}
},
"state": {
"info": {
"bg": "#323948",
"border": "#455067",
"text": "#cdd4e1"
},
"success": {
"bg": "#27382d",
"border": "#385441",
"text": "#c4d8c9"
},
"warning": {
"bg": "#633524",
"border": "#924a2f",
"text": "#f3d2be"
},
"danger": {
"bg": "#5a2a33",
"border": "#823746",
"text": "#efcbd1"
}
}
}
}
}
;