chore: release v0.48.2
This commit is contained in:
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.48.2] - 2026-05-06
|
||||
|
||||
### Changed
|
||||
- **Brand color**: migrated the entire app accent from Indigo (`#4F46E5`) to Amber-800 (`#92400E`) across design tokens, logo, and GitHub Pages. The new warm, dark amber better reflects the domestic and intimate nature of the app for couples.
|
||||
- **Logo**: updated gradient on `docs/logo.svg` and all inline SVG instances from blue to Amber (`#B45309` → `#92400E`).
|
||||
|
||||
## [0.48.1] - 2026-05-06
|
||||
|
||||
### Fixed
|
||||
|
||||
+11
-12
@@ -28,11 +28,10 @@
|
||||
--text-1: #181620;
|
||||
--text-2: #5E5C6B;
|
||||
--text-3: #8F8D9A;
|
||||
--accent: #6C3AED;
|
||||
--accent-hover: #5B21B6;
|
||||
--accent-soft: #EDE9FE;
|
||||
--accent-glow: rgba(108, 58, 237, 0.12);
|
||||
--blue: #0A84FF;
|
||||
--accent: #92400E;
|
||||
--accent-hover: #78350F;
|
||||
--accent-soft: #FEF3C7;
|
||||
--accent-glow: rgba(146, 64, 14, 0.12);
|
||||
--code-bg: #1C1B22;
|
||||
--code-text: #E2E1EC;
|
||||
--radius: 16px;
|
||||
@@ -49,10 +48,10 @@
|
||||
--text-1: #F5F4F1;
|
||||
--text-2: #AEADB0;
|
||||
--text-3: #8E8D89;
|
||||
--accent: #818CF8;
|
||||
--accent-hover: #6366F1;
|
||||
--accent-soft: #2E2D5B;
|
||||
--accent-glow: rgba(129, 140, 248, 0.15);
|
||||
--accent: #FBBF24;
|
||||
--accent-hover: #F59E0B;
|
||||
--accent-soft: #2C1E00;
|
||||
--accent-glow: rgba(251, 191, 36, 0.15);
|
||||
--code-bg: #141413;
|
||||
--code-text: #E2E1DC;
|
||||
--shadow-card: 0 1px 3px rgba(0,0,0,0.25);
|
||||
@@ -64,8 +63,8 @@
|
||||
:root:not([data-theme="light"]) {
|
||||
--bg: #1A1A18; --bg-alt: #141413; --surface: #222220; --border: #2A2A28;
|
||||
--text-1: #F5F4F1; --text-2: #AEADB0; --text-3: #8E8D89;
|
||||
--accent: #818CF8; --accent-hover: #6366F1; --accent-soft: #2E2D5B;
|
||||
--accent-glow: rgba(129, 140, 248, 0.15);
|
||||
--accent: #FBBF24; --accent-hover: #F59E0B; --accent-soft: #2C1E00;
|
||||
--accent-glow: rgba(251, 191, 36, 0.15);
|
||||
--code-bg: #141413; --code-text: #E2E1DC;
|
||||
--shadow-card: 0 1px 3px rgba(0,0,0,0.25); --shadow-lg: 0 8px 24px rgba(0,0,0,0.45);
|
||||
--shadow-hero: 0 20px 60px rgba(0,0,0,0.55);
|
||||
@@ -332,7 +331,7 @@
|
||||
<nav>
|
||||
<div class="wrap">
|
||||
<a href="#" class="nav-logo">
|
||||
<svg viewBox="0 0 160 160" fill="none"><defs><linearGradient id="g" x1="0" y1="0" x2="160" y2="160" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="#8B5CF6"></stop><stop offset="100%" stop-color="#6C3AED"></stop></linearGradient></defs><rect width="160" height="160" rx="36" fill="url(#g)"></rect><path d="M80 36L36 72V120C36 122.2 37.8 124 40 124H68V96H92V124H120C122.2 124 124 122.2 124 120V72L80 36Z" fill="white"></path><rect x="100" y="46" width="12" height="22" rx="2" fill="white"></rect></svg>
|
||||
<svg viewBox="0 0 160 160" fill="none"><defs><linearGradient id="g" x1="0" y1="0" x2="160" y2="160" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="#B45309"></stop><stop offset="100%" stop-color="#92400E"></stop></linearGradient></defs><rect width="160" height="160" rx="36" fill="url(#g)"></rect><path d="M80 36L36 72V120C36 122.2 37.8 124 40 124H68V96H92V124H120C122.2 124 124 122.2 124 120V72L80 36Z" fill="white"></path><rect x="100" y="46" width="12" height="22" rx="2" fill="white"></rect></svg>
|
||||
Oikos
|
||||
</a>
|
||||
<div class="nav-right">
|
||||
|
||||
+11
-11
@@ -28,10 +28,10 @@
|
||||
--text-1: #181620;
|
||||
--text-2: #5E5C6B;
|
||||
--text-3: #8F8D9A;
|
||||
--accent: #6C3AED;
|
||||
--accent-hover: #5B21B6;
|
||||
--accent-soft: #EDE9FE;
|
||||
--accent-glow: rgba(108, 58, 237, 0.12);
|
||||
--accent: #92400E;
|
||||
--accent-hover: #78350F;
|
||||
--accent-soft: #FEF3C7;
|
||||
--accent-glow: rgba(146, 64, 14, 0.12);
|
||||
--success: #15803D;
|
||||
--success-bg: #F0FDF4;
|
||||
--warning: #B45309;
|
||||
@@ -51,10 +51,10 @@
|
||||
--text-1: #F5F4F1;
|
||||
--text-2: #AEADB0;
|
||||
--text-3: #8E8D89;
|
||||
--accent: #818CF8;
|
||||
--accent-hover: #6366F1;
|
||||
--accent-soft: #2E2D5B;
|
||||
--accent-glow: rgba(129, 140, 248, 0.15);
|
||||
--accent: #FBBF24;
|
||||
--accent-hover: #F59E0B;
|
||||
--accent-soft: #2C1E00;
|
||||
--accent-glow: rgba(251, 191, 36, 0.15);
|
||||
--code-bg: #141413;
|
||||
--code-text: #E2E1DC;
|
||||
--shadow-card: 0 1px 3px rgba(0,0,0,0.25);
|
||||
@@ -65,8 +65,8 @@
|
||||
:root:not([data-theme="light"]) {
|
||||
--bg: #1A1A18; --bg-alt: #141413; --surface: #222220; --border: #2A2A28;
|
||||
--text-1: #F5F4F1; --text-2: #AEADB0; --text-3: #8E8D89;
|
||||
--accent: #818CF8; --accent-hover: #6366F1; --accent-soft: #2E2D5B;
|
||||
--accent-glow: rgba(129, 140, 248, 0.15);
|
||||
--accent: #FBBF24; --accent-hover: #F59E0B; --accent-soft: #2C1E00;
|
||||
--accent-glow: rgba(251, 191, 36, 0.15);
|
||||
--code-bg: #141413; --code-text: #E2E1DC;
|
||||
--shadow-card: 0 1px 3px rgba(0,0,0,0.25); --shadow-lg: 0 8px 24px rgba(0,0,0,0.45);
|
||||
}
|
||||
@@ -464,7 +464,7 @@
|
||||
<div class="container-wide">
|
||||
<a href="index.html" class="nav-logo" aria-label="Oikos Home">
|
||||
<svg viewBox="0 0 160 160" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||
<defs><linearGradient id="navbg" x1="0" y1="0" x2="160" y2="160" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="#8B5CF6"/><stop offset="100%" stop-color="#6C3AED"/></linearGradient></defs>
|
||||
<defs><linearGradient id="navbg" x1="0" y1="0" x2="160" y2="160" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="#B45309"/><stop offset="100%" stop-color="#92400E"/></linearGradient></defs>
|
||||
<rect width="160" height="160" rx="36" fill="url(#navbg)"/>
|
||||
<path d="M80 36L36 72V120C36 122.2 37.8 124 40 124H68V96H92V124H120C122.2 124 124 122.2 124 120V72L80 36Z" fill="white"/>
|
||||
<rect x="100" y="46" width="12" height="22" rx="2" fill="white"/>
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" fill="none">
|
||||
<defs>
|
||||
<linearGradient id="bg" x1="0" y1="0" x2="160" y2="160" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0%" stop-color="#0A84FF"/>
|
||||
<stop offset="100%" stop-color="#006AE0"/>
|
||||
<stop offset="0%" stop-color="#B45309"/>
|
||||
<stop offset="100%" stop-color="#92400E"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="160" height="160" rx="36" fill="url(#bg)"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 610 B After Width: | Height: | Size: 610 B |
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "oikos",
|
||||
"version": "0.48.0",
|
||||
"version": "0.48.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "oikos",
|
||||
"version": "0.48.0",
|
||||
"version": "0.48.2",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bcrypt": "^6.0.0",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "oikos",
|
||||
"version": "0.48.1",
|
||||
"version": "0.48.2",
|
||||
"description": "Self-hosted family planner - calendar, tasks, shopping, meal planning, budget and more. Private, open-source, no subscription.",
|
||||
"main": "server/index.js",
|
||||
"type": "module",
|
||||
|
||||
+47
-47
@@ -105,32 +105,32 @@
|
||||
|
||||
/* --------------------------------------------------------
|
||||
* 2. Farben - Akzent (konfigurierbar)
|
||||
* Indigo mit leichtem Violett-Drall — charaktervoller als Default-Blau,
|
||||
* harmoniert mit --color-accent-secondary und --module-calendar.
|
||||
* Amber-800 — warm, zeitlos, raffiniert. Satt genug für tägliche Nutzung,
|
||||
* harmoniert mit den warmen Neutrals und --module-meals.
|
||||
* -------------------------------------------------------- */
|
||||
--_color-accent: #4F46E5;
|
||||
--color-accent: var(--_color-accent); /* Indigo-600 — 4.93:1 auf weiß */
|
||||
--_color-accent-hover: #4338CA;
|
||||
--color-accent-hover: var(--_color-accent-hover); /* Indigo-700 */
|
||||
--_color-accent-active: #3730A3;
|
||||
--color-accent-active: var(--_color-accent-active); /* Indigo-800 */
|
||||
--color-accent-deep: #2E2D82; /* Tiefer Akzent für Gradienten, Wetter-Widget */
|
||||
--_color-accent: #92400E;
|
||||
--color-accent: var(--_color-accent); /* Amber-800 — 7.20:1 auf weiß */
|
||||
--_color-accent-hover: #78350F;
|
||||
--color-accent-hover: var(--_color-accent-hover); /* Amber-900 */
|
||||
--_color-accent-active: #451A03;
|
||||
--color-accent-active: var(--_color-accent-active); /* Amber-950 */
|
||||
--color-accent-deep: #451A03; /* Tiefer Akzent für Gradienten, Wetter-Widget */
|
||||
|
||||
/* Greeting-Gradienten: Tageszeit-Varianten */
|
||||
--greeting-morning-from: #C2410C; /* Orange-700 — Morgensonne */
|
||||
--greeting-morning-to: #D97706; /* Amber-600 */
|
||||
--greeting-evening-from: #6D28D9; /* Violet-700 */
|
||||
--greeting-evening-to: #8250DF; /* = --module-calendar */
|
||||
--_color-accent-secondary: #7C5CFC;
|
||||
--color-accent-secondary: var(--_color-accent-secondary); /* Sekundärer Akzent für Logo-Gradient */
|
||||
--_color-accent-light: #EEF2FF;
|
||||
--color-accent-light: var(--_color-accent-light); /* Indigo-50 */
|
||||
--_color-accent-subtle: #E0E7FF;
|
||||
--color-accent-subtle: var(--_color-accent-subtle); /* Indigo-100 */
|
||||
--_color-btn-primary: #4338CA;
|
||||
--color-btn-primary: var(--_color-btn-primary); /* Indigo-700 — WCAG AAA: 7.04:1 auf weiß */
|
||||
--_color-btn-primary-hover: #3730A3;
|
||||
--color-btn-primary-hover: var(--_color-btn-primary-hover); /* Indigo-800 */
|
||||
--_color-accent-secondary: #B45309;
|
||||
--color-accent-secondary: var(--_color-accent-secondary); /* Amber-700 — Sekundärer Akzent für Logo-Gradient */
|
||||
--_color-accent-light: #FFFBEB;
|
||||
--color-accent-light: var(--_color-accent-light); /* Amber-50 */
|
||||
--_color-accent-subtle: #FEF3C7;
|
||||
--color-accent-subtle: var(--_color-accent-subtle); /* Amber-100 */
|
||||
--_color-btn-primary: #78350F;
|
||||
--color-btn-primary: var(--_color-btn-primary); /* Amber-900 — WCAG AAA auf weiß */
|
||||
--_color-btn-primary-hover: #451A03;
|
||||
--color-btn-primary-hover: var(--_color-btn-primary-hover); /* Amber-950 */
|
||||
|
||||
/* --------------------------------------------------------
|
||||
* 3. Farben - Semantisch
|
||||
@@ -171,8 +171,8 @@
|
||||
* Einsatz in Modul-Headern, Icons, aktiven States.
|
||||
* Domain-Farben von Severity entkoppelt — siehe §2.5 des Redesign-Vorschlags.
|
||||
* -------------------------------------------------------- */
|
||||
--_module-dashboard: #4F46E5;
|
||||
--module-dashboard: var(--_module-dashboard); /* Indigo - Übersicht (= --color-accent, bewusster Share) */
|
||||
--_module-dashboard: #92400E;
|
||||
--module-dashboard: var(--_module-dashboard); /* Amber-800 - Übersicht (= --color-accent, bewusster Share) */
|
||||
--_module-tasks: #15803D;
|
||||
--module-tasks: var(--_module-tasks); /* Grün - Erledigung (= --color-success, bewusster Share) */
|
||||
--_module-calendar: #8250DF;
|
||||
@@ -209,9 +209,9 @@
|
||||
--meal-lunch: #2DA44E;
|
||||
--_meal-lunch-light: #DAFBE1;
|
||||
--meal-lunch-light: var(--_meal-lunch-light);
|
||||
--_meal-dinner: #4F46E5;
|
||||
--meal-dinner: var(--_meal-dinner); /* Indigo - ruhiger Tag-Ausklang (= --color-accent) */
|
||||
--_meal-dinner-light: #EEF2FF;
|
||||
--_meal-dinner: #92400E;
|
||||
--meal-dinner: var(--_meal-dinner); /* Amber-800 - Abendwärme (= --color-accent) */
|
||||
--_meal-dinner-light: #FFFBEB;
|
||||
--meal-dinner-light: var(--_meal-dinner-light);
|
||||
--meal-snack: #C2410C; /* = --module-meals — Snack ist Sub-Domain */
|
||||
--_meal-snack-light: #FFECE3;
|
||||
@@ -522,14 +522,14 @@
|
||||
--_sidebar-shadow-light: rgba(255, 255, 255, 0.04);
|
||||
--_sidebar-shadow-dark: rgba(0, 0, 0, 0.4);
|
||||
|
||||
--_color-accent: #818CF8;
|
||||
--_color-accent-hover: #6366F1;
|
||||
--_color-accent-active: #4F46E5;
|
||||
--_color-accent-light: #2E2D5B;
|
||||
--_color-accent-subtle: #252255;
|
||||
--_color-btn-primary: #6366F1;
|
||||
--_color-btn-primary-hover: #4F46E5;
|
||||
--_color-accent-secondary: #A78BFA;
|
||||
--_color-accent: #FBBF24;
|
||||
--_color-accent-hover: #F59E0B;
|
||||
--_color-accent-active: #D97706;
|
||||
--_color-accent-light: #2C1E00;
|
||||
--_color-accent-subtle: #1F1500;
|
||||
--_color-btn-primary: #F59E0B;
|
||||
--_color-btn-primary-hover: #D97706;
|
||||
--_color-accent-secondary: #FDE68A;
|
||||
|
||||
--_color-success: #4ADE80;
|
||||
--_color-warning: #F59E0B;
|
||||
@@ -545,7 +545,7 @@
|
||||
--_toast-warning-text: #291400; /* 13.1:1 auf #F59E0B */
|
||||
--_toast-danger-text: #330808; /* 15.1:1 auf #FCA5A5 */
|
||||
|
||||
--_module-dashboard: #818CF8;
|
||||
--_module-dashboard: #FBBF24;
|
||||
--_module-tasks: #4ADE80;
|
||||
--_module-calendar: #A78BFA;
|
||||
--_module-meals: #FB923C;
|
||||
@@ -560,8 +560,8 @@
|
||||
--_meal-breakfast: #F59E0B;
|
||||
--_meal-breakfast-light: #332400;
|
||||
--_meal-lunch-light: #1A3325;
|
||||
--_meal-dinner: #818CF8;
|
||||
--_meal-dinner-light: #2E2D5B;
|
||||
--_meal-dinner: #FBBF24;
|
||||
--_meal-dinner-light: #2C1E00;
|
||||
--_meal-snack-light: #3D2010;
|
||||
|
||||
--_color-priority-none-bg: rgba(142, 141, 137, 0.12);
|
||||
@@ -624,15 +624,15 @@
|
||||
--_sidebar-shadow-light: rgba(255, 255, 255, 0.04);
|
||||
--_sidebar-shadow-dark: rgba(0, 0, 0, 0.4);
|
||||
|
||||
/* Akzent - Dark Mode (Indigo bleibt, nur Lightness/Saturation rücken) */
|
||||
--_color-accent: #818CF8; /* Indigo-400 — 6.8:1 auf #2A2A28 */
|
||||
--_color-accent-hover: #6366F1; /* Indigo-500 */
|
||||
--_color-accent-active: #4F46E5; /* Indigo-600 (= Light-Primary, Mirroring) */
|
||||
--_color-accent-light: #2E2D5B;
|
||||
--_color-accent-subtle: #252255;
|
||||
--_color-btn-primary: #6366F1; /* Indigo-500 — 5.5:1 auf Dark-Surface */
|
||||
--_color-btn-primary-hover: #4F46E5;
|
||||
--_color-accent-secondary: #A78BFA;
|
||||
/* Akzent - Dark Mode (Amber hellt auf für Kontrast auf dunklen Flächen) */
|
||||
--_color-accent: #FBBF24; /* Amber-400 — 8.1:1 auf #222220 */
|
||||
--_color-accent-hover: #F59E0B; /* Amber-500 */
|
||||
--_color-accent-active: #D97706; /* Amber-600 */
|
||||
--_color-accent-light: #2C1E00;
|
||||
--_color-accent-subtle: #1F1500;
|
||||
--_color-btn-primary: #F59E0B; /* Amber-500 — 5.9:1 auf Dark-Surface */
|
||||
--_color-btn-primary-hover: #D97706;
|
||||
--_color-accent-secondary: #FDE68A; /* Amber-200 */
|
||||
|
||||
/* Semantische Farben */
|
||||
--_color-success: #4ADE80;
|
||||
@@ -650,7 +650,7 @@
|
||||
--_toast-danger-text: #330808; /* 15.1:1 auf #FCA5A5 */
|
||||
|
||||
/* Modul-Akzente (Entflechtung Meals/Shopping spiegelt Light-Mode) */
|
||||
--_module-dashboard: #818CF8; /* Indigo-400 */
|
||||
--_module-dashboard: #FBBF24; /* Amber-400 */
|
||||
--_module-tasks: #4ADE80;
|
||||
--_module-calendar: #A78BFA;
|
||||
--_module-meals: #FB923C; /* Orange-400 */
|
||||
@@ -666,8 +666,8 @@
|
||||
--_meal-breakfast: #F59E0B;
|
||||
--_meal-breakfast-light: #332400;
|
||||
--_meal-lunch-light: #1A3325;
|
||||
--_meal-dinner: #818CF8; /* Indigo-400 */
|
||||
--_meal-dinner-light: #2E2D5B;
|
||||
--_meal-dinner: #FBBF24; /* Amber-400 */
|
||||
--_meal-dinner-light: #2C1E00;
|
||||
--_meal-snack-light: #3D2010;
|
||||
|
||||
/* Priority-Badge Hintergründe */
|
||||
|
||||
Reference in New Issue
Block a user