From 0ab4b11f97b509f8670d9d9724aaeed459e16708 Mon Sep 17 00:00:00 2001 From: 3252a8 <3252a8@proton.me> Date: Thu, 21 May 2026 14:05:54 +0300 Subject: [PATCH] fix: windows 95 theme support tickets list --- .../bot/app/web/themes/windows95/style.css | 92 +++++++++++-------- .../bot/app/web/themes/windows95/theme.json | 2 +- backend/config/webapp_themes_config.py | 2 +- frontend/src/lib/webapp/previewMock.js | 1 + tests/test_webapp_themes_config.py | 10 +- 5 files changed, 63 insertions(+), 44 deletions(-) diff --git a/backend/bot/app/web/themes/windows95/style.css b/backend/bot/app/web/themes/windows95/style.css index 26e0d10..f15f934 100644 --- a/backend/bot/app/web/themes/windows95/style.css +++ b/backend/bot/app/web/themes/windows95/style.css @@ -56,45 +56,45 @@ --admin-text: #000000; --admin-muted: #202020; --admin-dim: #404040; - --win95-icon-arrow-left: url("/webapp-theme-assets/windows95/icons/arrow-left.png?v=8"); - --win95-icon-arrow-right: url("/webapp-theme-assets/windows95/icons/arrow-right.png?v=8"); - --win95-icon-bitcoin: url("/webapp-theme-assets/windows95/icons/bitcoin.png?v=8"); - --win95-icon-check: url("/webapp-theme-assets/windows95/icons/check.png?v=8"); - --win95-icon-chevrons: url("/webapp-theme-assets/windows95/icons/chevrons.png?v=8"); - --win95-icon-coins: url("/webapp-theme-assets/windows95/icons/coins.png?v=8"); - --win95-icon-dashboard: url("/webapp-theme-assets/windows95/icons/dashboard.png?v=8"); - --win95-icon-database: url("/webapp-theme-assets/windows95/icons/database.png?v=8"); - --win95-icon-download: url("/webapp-theme-assets/windows95/icons/download.png?v=8"); - --win95-icon-error: url("/webapp-theme-assets/windows95/icons/error.png?v=8"); - --win95-icon-file-text: url("/webapp-theme-assets/windows95/icons/file-text.png?v=8"); - --win95-icon-folder: url("/webapp-theme-assets/windows95/icons/folder.png?v=8"); - --win95-icon-gift: url("/webapp-theme-assets/windows95/icons/gift.png?v=8"); - --win95-icon-globe: url("/webapp-theme-assets/windows95/icons/globe.png?v=8"); - --win95-icon-help: url("/webapp-theme-assets/windows95/icons/help.png?v=8"); - --win95-icon-home: url("/webapp-theme-assets/windows95/icons/home.png?v=8"); - --win95-icon-info: url("/webapp-theme-assets/windows95/icons/info.png?v=8"); - --win95-icon-key: url("/webapp-theme-assets/windows95/icons/key.png?v=8"); - --win95-icon-lock: url("/webapp-theme-assets/windows95/icons/lock.png?v=8"); - --win95-icon-megaphone: url("/webapp-theme-assets/windows95/icons/megaphone.png?v=8"); - --win95-icon-paintbrush: url("/webapp-theme-assets/windows95/icons/paintbrush.png?v=8"); - --win95-icon-payment-card: url("/webapp-theme-assets/windows95/icons/payment-card.png?v=8"); - --win95-icon-print: url("/webapp-theme-assets/windows95/icons/print.png?v=8"); - --win95-icon-refresh: url("/webapp-theme-assets/windows95/icons/refresh.png?v=8"); - --win95-icon-save: url("/webapp-theme-assets/windows95/icons/save.png?v=8"); - --win95-icon-search: url("/webapp-theme-assets/windows95/icons/search.png?v=8"); - --win95-icon-send: url("/webapp-theme-assets/windows95/icons/send.png?v=8"); - --win95-icon-settings: url("/webapp-theme-assets/windows95/icons/settings.png?v=8"); - --win95-icon-shield: url("/webapp-theme-assets/windows95/icons/shield.png?v=8"); - --win95-icon-smartphone: url("/webapp-theme-assets/windows95/icons/smartphone.png?v=8"); - --win95-icon-sliders: url("/webapp-theme-assets/windows95/icons/sliders.png?v=8"); - --win95-icon-sparkles: url("/webapp-theme-assets/windows95/icons/sparkles.png?v=8"); - --win95-icon-tag: url("/webapp-theme-assets/windows95/icons/tag.png?v=8"); - --win95-icon-ticket: url("/webapp-theme-assets/windows95/icons/ticket.png?v=8"); - --win95-icon-trash: url("/webapp-theme-assets/windows95/icons/trash.png?v=8"); - --win95-icon-user: url("/webapp-theme-assets/windows95/icons/user.png?v=8"); - --win95-icon-users: url("/webapp-theme-assets/windows95/icons/users.png?v=8"); - --win95-icon-warning: url("/webapp-theme-assets/windows95/icons/warning.png?v=8"); - --win95-icon-x: url("/webapp-theme-assets/windows95/icons/x.png?v=8"); + --win95-icon-arrow-left: url("/webapp-theme-assets/windows95/icons/arrow-left.png?v=9"); + --win95-icon-arrow-right: url("/webapp-theme-assets/windows95/icons/arrow-right.png?v=9"); + --win95-icon-bitcoin: url("/webapp-theme-assets/windows95/icons/bitcoin.png?v=9"); + --win95-icon-check: url("/webapp-theme-assets/windows95/icons/check.png?v=9"); + --win95-icon-chevrons: url("/webapp-theme-assets/windows95/icons/chevrons.png?v=9"); + --win95-icon-coins: url("/webapp-theme-assets/windows95/icons/coins.png?v=9"); + --win95-icon-dashboard: url("/webapp-theme-assets/windows95/icons/dashboard.png?v=9"); + --win95-icon-database: url("/webapp-theme-assets/windows95/icons/database.png?v=9"); + --win95-icon-download: url("/webapp-theme-assets/windows95/icons/download.png?v=9"); + --win95-icon-error: url("/webapp-theme-assets/windows95/icons/error.png?v=9"); + --win95-icon-file-text: url("/webapp-theme-assets/windows95/icons/file-text.png?v=9"); + --win95-icon-folder: url("/webapp-theme-assets/windows95/icons/folder.png?v=9"); + --win95-icon-gift: url("/webapp-theme-assets/windows95/icons/gift.png?v=9"); + --win95-icon-globe: url("/webapp-theme-assets/windows95/icons/globe.png?v=9"); + --win95-icon-help: url("/webapp-theme-assets/windows95/icons/help.png?v=9"); + --win95-icon-home: url("/webapp-theme-assets/windows95/icons/home.png?v=9"); + --win95-icon-info: url("/webapp-theme-assets/windows95/icons/info.png?v=9"); + --win95-icon-key: url("/webapp-theme-assets/windows95/icons/key.png?v=9"); + --win95-icon-lock: url("/webapp-theme-assets/windows95/icons/lock.png?v=9"); + --win95-icon-megaphone: url("/webapp-theme-assets/windows95/icons/megaphone.png?v=9"); + --win95-icon-paintbrush: url("/webapp-theme-assets/windows95/icons/paintbrush.png?v=9"); + --win95-icon-payment-card: url("/webapp-theme-assets/windows95/icons/payment-card.png?v=9"); + --win95-icon-print: url("/webapp-theme-assets/windows95/icons/print.png?v=9"); + --win95-icon-refresh: url("/webapp-theme-assets/windows95/icons/refresh.png?v=9"); + --win95-icon-save: url("/webapp-theme-assets/windows95/icons/save.png?v=9"); + --win95-icon-search: url("/webapp-theme-assets/windows95/icons/search.png?v=9"); + --win95-icon-send: url("/webapp-theme-assets/windows95/icons/send.png?v=9"); + --win95-icon-settings: url("/webapp-theme-assets/windows95/icons/settings.png?v=9"); + --win95-icon-shield: url("/webapp-theme-assets/windows95/icons/shield.png?v=9"); + --win95-icon-smartphone: url("/webapp-theme-assets/windows95/icons/smartphone.png?v=9"); + --win95-icon-sliders: url("/webapp-theme-assets/windows95/icons/sliders.png?v=9"); + --win95-icon-sparkles: url("/webapp-theme-assets/windows95/icons/sparkles.png?v=9"); + --win95-icon-tag: url("/webapp-theme-assets/windows95/icons/tag.png?v=9"); + --win95-icon-ticket: url("/webapp-theme-assets/windows95/icons/ticket.png?v=9"); + --win95-icon-trash: url("/webapp-theme-assets/windows95/icons/trash.png?v=9"); + --win95-icon-user: url("/webapp-theme-assets/windows95/icons/user.png?v=9"); + --win95-icon-users: url("/webapp-theme-assets/windows95/icons/users.png?v=9"); + --win95-icon-warning: url("/webapp-theme-assets/windows95/icons/warning.png?v=9"); + --win95-icon-x: url("/webapp-theme-assets/windows95/icons/x.png?v=9"); } .theme-key-windows95.app-shell { @@ -682,6 +682,20 @@ body:has(.theme-key-windows95) .support-select-item[data-selected] svg { background: var(--ticket-accent, var(--accent)); } +@media (min-width: 1024px) { + .theme-key-windows95 .support-list-card { + grid-template-rows: auto auto minmax(0, 1fr); + } + + .theme-key-windows95 .support-conversation-card { + grid-template-rows: auto minmax(0, 1fr) auto; + } + + .theme-key-windows95 .support-conversation-card--loading { + grid-template-rows: auto minmax(0, 1fr); + } +} + .theme-key-windows95 .ticket-message-row, .theme-key-windows95 .ticket-message-row--admin, .theme-key-windows95 .ticket-message-row--user, diff --git a/backend/bot/app/web/themes/windows95/theme.json b/backend/bot/app/web/themes/windows95/theme.json index ebbaf3c..2ada36a 100644 --- a/backend/bot/app/web/themes/windows95/theme.json +++ b/backend/bot/app/web/themes/windows95/theme.json @@ -9,7 +9,7 @@ "use_primary_accent": false, "use_in_admin": true, "css_file": "style.css", - "assets_version": 8, + "assets_version": 9, "tokens": { "color_scheme": "light", "style_preset": "win95" diff --git a/backend/config/webapp_themes_config.py b/backend/config/webapp_themes_config.py index 7f29513..ee5acb5 100644 --- a/backend/config/webapp_themes_config.py +++ b/backend/config/webapp_themes_config.py @@ -392,7 +392,7 @@ def _builtin_theme_assets_need_refresh(key: str, target_dir: Path) -> bool: or "lucide-circle-check" not in style or "border-radius: 0 !important" not in style or "::-webkit-slider-thumb" not in style - or "?v=8" not in style + or "?v=9" not in style or "lucide-life-buoy" not in style or "New webapp surfaces: support, purchase info, password login" not in style or any(not (target_dir / "icons" / icon).exists() for icon in required_icons) diff --git a/frontend/src/lib/webapp/previewMock.js b/frontend/src/lib/webapp/previewMock.js index 12362d6..e47bc3b 100644 --- a/frontend/src/lib/webapp/previewMock.js +++ b/frontend/src/lib/webapp/previewMock.js @@ -4,6 +4,7 @@ const WINDOWS_95_THEME = { enabled: true, default: false, css_file: "style.css", + assets_version: 9, tokens: { color_scheme: "light", style_preset: "win95", diff --git a/tests/test_webapp_themes_config.py b/tests/test_webapp_themes_config.py index 6cc29b1..c89e449 100644 --- a/tests/test_webapp_themes_config.py +++ b/tests/test_webapp_themes_config.py @@ -33,7 +33,7 @@ class WebappThemesConfigTests(unittest.TestCase): self.assertEqual(win95.tokens.style_preset, "win95") self.assertFalse(win95.use_primary_accent) self.assertTrue(win95.use_in_admin) - self.assertEqual(win95.assets_version, 8) + self.assertEqual(win95.assets_version, 9) ascii_theme = cfg.theme_by_key("ascii") self.assertIsNotNone(ascii_theme) self.assertEqual(ascii_theme.css_file, "style.css") @@ -381,7 +381,7 @@ class WebappThemesConfigTests(unittest.TestCase): descriptor["assets_version"], cfg.theme_by_key("windows95").assets_version, ) - self.assertEqual(descriptor["assets_version"], 8) + self.assertEqual(descriptor["assets_version"], 9) self.assertIn("lucide-house", css) self.assertIn("lucide-earth", css) self.assertIn("lucide-circle-check", css) @@ -389,9 +389,13 @@ class WebappThemesConfigTests(unittest.TestCase): self.assertIn("filter: none !important", css) self.assertIn("Press Start 2P", css) self.assertIn("::-webkit-slider-thumb", css) - self.assertIn("?v=8", css) + self.assertIn("?v=9", css) self.assertIn("lucide-life-buoy", css) self.assertIn("New webapp surfaces: support, purchase info, password login", css) + self.assertIn( + ".theme-key-windows95 .support-list-card {\n grid-template-rows: auto auto minmax(0, 1fr);", + css, + ) self.assertIn(".theme-key-windows95 .traffic-top strong", css) self.assertTrue((stale_theme_dir / "icons" / "dashboard.png").exists())