chore: release v0.23.16

This commit is contained in:
Ulas Kalayci
2026-04-24 09:02:56 +02:00
parent e720b1d96b
commit 38e5a7a330
8 changed files with 31 additions and 14 deletions
+6
View File
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.23.16] - 2026-04-24
### Changed
- Design tokens: replaced all remaining hardcoded color and size values in `layout.css`, `glass.css`, `dashboard.css`, and `reminders.css` with CSS custom properties
- Design tokens: added `--text-2xs`, `--color-overlay-glass`, `--color-backdrop-glass`, `--glass-border-overlay`, `--glass-highlight-mid`, `--glass-inset-bottom-base`, `--glass-inset-bottom-hover`, `--glass-inset-thumb`, and `--glass-inset-input` to `tokens.css`
## [0.23.15] - 2026-04-24
### Fixed
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "oikos",
"version": "0.23.15",
"version": "0.23.16",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "oikos",
"version": "0.23.15",
"version": "0.23.16",
"license": "MIT",
"dependencies": {
"bcrypt": "^6.0.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "oikos",
"version": "0.23.15",
"version": "0.23.16",
"description": "Self-hosted family planner - calendar, tasks, shopping, meal planning, budget and more. Private, open-source, no subscription.",
"main": "server/index.js",
"type": "module",
+1 -1
View File
@@ -1102,7 +1102,7 @@
.widget-customize-btn:hover,
.widget-customize-btn:focus-visible {
background: var(--color-glass-hover);
outline: 2px solid rgba(255, 255, 255, 0.5);
outline: 2px solid var(--glass-highlight-mid);
outline-offset: 2px;
}
+7 -8
View File
@@ -90,7 +90,7 @@
/* Blur nur wenn unterstützt */
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
.modal-overlay {
background-color: rgba(0, 0, 0, 0.30);
background-color: var(--color-overlay-glass);
backdrop-filter: var(--blur-xs) saturate(120%);
-webkit-backdrop-filter: var(--blur-xs) saturate(120%);
}
@@ -151,14 +151,14 @@
box-shadow:
var(--shadow-lg),
var(--glass-inset-elevated),
inset 0 -1px 0 rgba(0, 0, 0, 0.12);
var(--glass-inset-bottom-base);
}
.fab:hover {
box-shadow:
var(--shadow-lg),
var(--glass-inset-strong),
inset 0 -1px 0 rgba(0, 0, 0, 0.16);
var(--glass-inset-bottom-hover);
}
/* ================================================================
@@ -226,7 +226,7 @@ textarea.form-input {
border-color: var(--color-accent);
box-shadow:
0 0 0 3px color-mix(in srgb, var(--color-accent) 20%, transparent),
inset 0 1px 2px rgba(0, 0, 0, 0.04);
var(--glass-inset-input);
}
/* ================================================================
@@ -242,7 +242,7 @@ textarea.form-input {
background-color: color-mix(in srgb, var(--neutral-800) 90%, transparent);
backdrop-filter: var(--blur-sm);
-webkit-backdrop-filter: var(--blur-sm);
border: 1px solid rgba(255, 255, 255, 0.10);
border: 1px solid var(--glass-border-overlay);
}
}
@@ -282,8 +282,7 @@ textarea.form-input {
.toggle__track::after {
box-shadow:
var(--shadow-sm),
inset 0 1px 0 rgba(255, 255, 255, 0.90),
inset 0 -1px 0 rgba(0, 0, 0, 0.08);
var(--glass-inset-thumb);
}
.toggle input:checked + .toggle__track::after {
@@ -297,7 +296,7 @@ textarea.form-input {
.fab-backdrop--visible {
backdrop-filter: var(--blur-xs);
-webkit-backdrop-filter: var(--blur-xs);
background: rgba(0, 0, 0, 0.18);
background: var(--color-backdrop-glass);
}
}
+1 -1
View File
@@ -169,7 +169,7 @@
display: none;
position: fixed;
inset: 0;
background-color: rgba(0, 0, 0, 0.4);
background-color: var(--color-overlay);
z-index: calc(var(--z-nav) + 1);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
+1 -1
View File
@@ -18,7 +18,7 @@
border-radius: var(--radius-full, 9999px);
background: var(--color-priority-urgent);
color: var(--color-text-on-accent);
font-size: 10px;
font-size: var(--text-2xs);
font-weight: 700;
line-height: 16px;
text-align: center;
+12
View File
@@ -220,7 +220,9 @@
--color-overlay: var(--_color-overlay);
--_color-overlay-light: rgba(0, 0, 0, 0.2);
--color-overlay-light: var(--_color-overlay-light);
--color-overlay-glass: rgba(0, 0, 0, 0.30); /* Glass-Modal-Overlay (zwischen overlay-light und overlay) */
--color-backdrop-fab: rgba(0, 0, 0, 0.25);
--color-backdrop-glass: rgba(0, 0, 0, 0.18); /* Subtiler FAB-Backdrop hinter Glass */
/* Glass-Overlays (fuer Elemente auf farbigen Hintergruenden) */
--color-glass: rgba(255, 255, 255, 0.18);
@@ -262,6 +264,7 @@
--font-mono: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono', monospace;
/* Size-Skala */
--text-2xs: 0.625rem; /* 10px - Sehr kleine Badges (z.B. Erinnerungs-Zähler) */
--text-xs: 0.75rem; /* 12px - Minimum, Captions, Badges, Nav-Labels */
--text-sm: 0.8125rem; /* 13px - Small/Secondary */
--text-base: 0.9375rem; /* 15px - Body (Desktop) */
@@ -380,6 +383,7 @@
--glass-border: var(--_glass-border);
--_glass-border-subtle: rgba(255, 255, 255, 0.35);
--glass-border-subtle: var(--_glass-border-subtle);
--glass-border-overlay: rgba(255, 255, 255, 0.10); /* immer-dunkle Surfaces (Toasts, Overlays) */
/* a2) Glass-Hintergründe: Vibrancy-Stufe (transparenter, mehr Durchschein) */
--_glass-bg-card: rgba(255, 255, 255, 0.52);
@@ -412,6 +416,7 @@
--glass-highlight: var(--_glass-highlight);
--_glass-highlight-subtle: rgba(255, 255, 255, 0.35);
--glass-highlight-subtle: var(--_glass-highlight-subtle);
--glass-highlight-mid: rgba(255, 255, 255, 0.50); /* Mittlere Stärke für Outlines auf dunklen Surfaces */
/* d2) Inset-Specular: Oberrand-Sheen für Glass-Elemente (volle inset-Kurzform) */
--glass-inset-soft: inset 0 1px 0 rgba(255, 255, 255, 0.18);
@@ -420,6 +425,13 @@
--glass-inset-elevated: inset 0 1px 0 rgba(255, 255, 255, 0.28);
--glass-inset-strong: inset 0 1px 0 rgba(255, 255, 255, 0.32);
/* d3) Dark-Inset-Specular: Unterrand-Schatten (komplementär zu den White-Insets oben) */
--glass-inset-bottom-base: inset 0 -1px 0 rgba(0, 0, 0, 0.12);
--glass-inset-bottom-hover: inset 0 -1px 0 rgba(0, 0, 0, 0.16);
--glass-inset-thumb: inset 0 1px 0 rgba(255, 255, 255, 0.90),
inset 0 -1px 0 rgba(0, 0, 0, 0.08);
--glass-inset-input: inset 0 1px 2px rgba(0, 0, 0, 0.04);
/* e) Glass-Schatten */
--_glass-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.55);
--glass-shadow-sm: var(--_glass-shadow-sm);