From aed541c70cbcd5b8721c62e1bff9192381c25a43 Mon Sep 17 00:00:00 2001 From: IK Date: Sun, 13 Sep 2026 16:17:22 +0700 Subject: [PATCH] feat: synchronize theme browser chrome --- README.md | 2 +- apps/web/public/site.webmanifest | 4 ++-- apps/web/src/layouts/Layout.astro | 8 +++++++- docs/ROADMAP.md | 2 +- docs/dark-theme.md | 2 ++ 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a1d9c6b..9e87987 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ FastAPI ─ PostgreSQL 17 Production CSP ограничивает browser-запросы текущим доменом и отдельным files-доменом для изображений, запрещает plugins, frames, inline handlers и attributes, eval, wildcard и HTTP. Page scripts и scoped styles принудительно выпускаются отдельными same-origin `_astro`-ассетами; единственное временное inline-исключение остаётся для динамического JSON-LD и описано в [CSP inventory](docs/csp-inventory.md). -Тема по умолчанию следует системному `prefers-color-scheme`, а переключатель в header позволяет выбрать системную, светлую или тёмную палитру. Выбор сохраняется в cookie и применяется Astro при SSR без localStorage-only flash и ослабления CSP. Публичные и административные поверхности, формы, таблицы, provenance/status-плашки и фирменная SVG/CSS-графика используют семантические light/dark-токены и базовый forced-colors layer; ограничения и оставшаяся визуальная приёмка описаны в [dark-theme.md](docs/dark-theme.md). +Тема по умолчанию следует системному `prefers-color-scheme`, а переключатель в header позволяет выбрать системную, светлую или тёмную палитру. Выбор сохраняется в cookie и применяется Astro при SSR без localStorage-only flash и ослабления CSP; browser chrome синхронизируется парными `theme-color`. Публичные и административные поверхности, формы, таблицы, provenance/status-плашки и фирменная SVG/CSS-графика используют семантические light/dark-токены и базовый forced-colors layer; ограничения и оставшаяся визуальная приёмка описаны в [dark-theme.md](docs/dark-theme.md). Gitea Actions workflow `.gitea/workflows/ci.yml` на каждый push и pull request проверяет Python, миграции на чистой PostgreSQL, Astro build и полный Compose/Playwright-сценарий. При падении E2E сохраняются логи контейнеров и Playwright-артефакты. diff --git a/apps/web/public/site.webmanifest b/apps/web/public/site.webmanifest index b45c85a..b851d3f 100644 --- a/apps/web/public/site.webmanifest +++ b/apps/web/public/site.webmanifest @@ -6,8 +6,8 @@ "start_url": "/", "scope": "/", "display": "standalone", - "background_color": "#f2f5ee", - "theme_color": "#082226", + "background_color": "#071719", + "theme_color": "#071719", "icons": [ { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" }, { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" }, diff --git a/apps/web/src/layouts/Layout.astro b/apps/web/src/layouts/Layout.astro index d002a45..480bb74 100644 --- a/apps/web/src/layouts/Layout.astro +++ b/apps/web/src/layouts/Layout.astro @@ -52,7 +52,8 @@ const jsonLd = JSON.stringify({ - + + @@ -94,6 +95,7 @@ const jsonLd = JSON.stringify({