From 548c7605bc8e1aaaa9376f9929a80d0f40f24336 Mon Sep 17 00:00:00 2001 From: LordSchmackes Date: Thu, 21 May 2026 14:02:09 +0200 Subject: [PATCH] fix(phase-1): resolve preloader freeze, lock dark mode, perfectly center hamburger & mark complete --- TODO.md | 2 +- assets/style.css | 11 +++++------ helpers.php | 13 +++++++++++++ partials/footer.php | 33 +-------------------------------- partials/head.php | 4 ++-- 5 files changed, 22 insertions(+), 41 deletions(-) diff --git a/TODO.md b/TODO.md index 7749d62..cc06418 100644 --- a/TODO.md +++ b/TODO.md @@ -6,7 +6,7 @@ Dieses Dokument enthΓ€lt den aktuellen Entwicklungsstand und detaillierte Aufgab ## πŸš€ Übersicht der Entwicklungsphasen -- [ ] **Phase 1: UI/UX Rebase & Globales Design-System (Fundament)** +- [x] **Phase 1: UI/UX Rebase & Globales Design-System (Fundament)** - Globale CSS-Tokens & Farbpaletten-Setup - AtmosphΓ€rischer Stein-Hintergrund (`AuraMarbleBackground`) - Fullscreen Overlay-Navigation (`LiquidOverlayMenu` & `SlideUpTextHover`) diff --git a/assets/style.css b/assets/style.css index 0c2797c..29d9dc4 100644 --- a/assets/style.css +++ b/assets/style.css @@ -460,23 +460,22 @@ img, picture { display: block; max-width: 100%; height: auto; } .nav-burger-lines { width: 22px; height: 16px; - position: relative; - display: block; + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; } .nav-line { - position: absolute; width: 100%; height: 2px; background-color: var(--color-bg-dark); transition: transform 0.4s var(--ease-fluid-slide), opacity 0.3s ease, background-color 0.3s ease; + transform-origin: center; } [data-theme="dark"] .nav-line { background-color: var(--color-light-gold); } .nav-trigger.active .nav-line { background-color: var(--color-white); } -.nav-line--top { top: 0; } -.nav-line--mid { top: 7px; } -.nav-line--bot { top: 14px; } .nav-trigger.active .nav-line--top { transform: translateY(7px) rotate(45deg); } .nav-trigger.active .nav-line--mid { opacity: 0; transform: scaleX(0); } .nav-trigger.active .nav-line--bot { transform: translateY(-7px) rotate(-45deg); } diff --git a/helpers.php b/helpers.php index c0a3f4d..ab18034 100644 --- a/helpers.php +++ b/helpers.php @@ -216,3 +216,16 @@ function lang_url(string $lang): string { $path = strtok($_SERVER['REQUEST_URI'], '?') ?: '/'; return $path . '?' . http_build_query($params); } + +// Fallback polyfills for environments without mbstring extension +if (!function_exists('mb_substr')) { + function mb_substr(string $string, int $start, ?int $length = null, ?string $encoding = null): string { + return substr($string, $start, $length ?? strlen($string)); + } +} + +if (!function_exists('mb_strlen')) { + function mb_strlen(string $string, ?string $encoding = null): int { + return strlen($string); + } +} diff --git a/partials/footer.php b/partials/footer.php index 870963a..60919ca 100644 --- a/partials/footer.php +++ b/partials/footer.php @@ -24,10 +24,7 @@ - - + diff --git a/partials/head.php b/partials/head.php index 94c7dd3..ebd309e 100644 --- a/partials/head.php +++ b/partials/head.php @@ -30,8 +30,8 @@ $description = $description ?? 'Seasonal recipes, tested tips, and approachable