Skip to content

Commit cf3fa80

Browse files
committed
Serve theme CSS and favicons by ui_mode
Use the server-side ui_mode (Service::Helpers.env_variables[:ui_mode]) to choose theme stylesheet and favicons instead of relying on client prefers-color-scheme. Adds conditional includes for light/dark CSS and corresponding favicon/apple-touch/manifest assets, removes the previous media-based fallbacks, and adds a small comment for theme stylesheets. This ensures the served assets match the configured UI mode consistently.
1 parent e09dae2 commit cf3fa80

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

views/layout.erb

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,33 @@
77
<meta name="theme-color" content="#ffffff" />
88
<meta name="description" content="the qbop ui" />
99
<link rel="stylesheet" href="https://unpkg.com/terminal.css@0.7.5/dist/terminal.min.css" integrity="sha512-X8PpCFdlyXfQ93O7R/tmLP0uln53P5/hY29faFCjhpfinyggAeQbcwiv8pDvu49vHvZPWJN+yfb4VomHJK6sJA==" crossorigin="anonymous" />
10+
11+
<!-- Theme stylesheets -->
1012
<% if Service::Helpers.new.env_variables[:ui_mode] == "light" %>
1113
<link rel="stylesheet" href="/css/light.css" />
1214
<% else %>
1315
<link rel="stylesheet" href="/css/dark.css" />
1416
<% end %>
1517

16-
<!-- Default favicons (fallback) -->
17-
<link rel="icon" type="image/x-icon" href="/images/favicon.ico" />
18-
<link rel="icon" type="image/png" sizes="32x32" href="/images/light/favicon-light-32x32.png" />
19-
2018
<!-- Light mode favicons -->
21-
<link rel="icon" type="image/x-icon" href="/images/light/favicon-light.ico" media="(prefers-color-scheme: light)" />
22-
<link rel="apple-touch-icon" sizes="180x180" href="/images/light/apple-touch-icon-light.png" media="(prefers-color-scheme: light)" />
23-
<link rel="icon" sizes="32x32" href="/images/light/favicon-light-32x32.png" media="(prefers-color-scheme: light)" />
24-
<link rel="icon" sizes="16x16" href="/images/light/favicon-light-16x16.png" media="(prefers-color-scheme: light)" />
25-
<link rel="icon" href="/images/light/favicon-light.svg" media="(prefers-color-scheme: light)" />
26-
<link rel="manifest" href="/images/light/site.webmanifest" media="(prefers-color-scheme: light)" />
19+
<% if Service::Helpers.new.env_variables[:ui_mode] == "light" %>
20+
<link rel="icon" type="image/x-icon" href="/images/light/favicon-light.ico" />
21+
<link rel="apple-touch-icon" sizes="180x180" href="/images/light/apple-touch-icon-light.png" />
22+
<link rel="icon" sizes="32x32" href="/images/light/favicon-light-32x32.png" />
23+
<link rel="icon" sizes="16x16" href="/images/light/favicon-light-16x16.png" />
24+
<link rel="icon" href="/images/light/favicon-light.svg" />
25+
<link rel="manifest" href="/images/light/site.webmanifest" />
2726

2827
<!-- Dark mode favicons -->
29-
<link rel="icon" type="image/x-icon" href="/images/dark/favicon-dark.ico" media="(prefers-color-scheme: dark)" />
30-
<link rel="apple-touch-icon" sizes="180x180" href="/images/dark/apple-touch-icon-dark.png" media="(prefers-color-scheme: dark)" />
31-
<link rel="icon" sizes="32x32" href="/images/dark/favicon-dark-32x32.png" media="(prefers-color-scheme: dark)" />
32-
<link rel="icon" sizes="16x16" href="/images/dark/favicon-dark-16x16.png" media="(prefers-color-scheme: dark)" />
33-
<link rel="icon" href="/images/dark/favicon-dark.svg" media="(prefers-color-scheme: dark)" />
34-
<link rel="manifest" href="/images/dark/site.webmanifest" media="(prefers-color-scheme: dark)" />
35-
28+
<% else %>
29+
<link rel="icon" type="image/x-icon" href="/images/dark/favicon-dark.ico" />
30+
<link rel="apple-touch-icon" sizes="180x180" href="/images/dark/apple-touch-icon-dark.png" />
31+
<link rel="icon" sizes="32x32" href="/images/dark/favicon-dark-32x32.png" />
32+
<link rel="icon" sizes="16x16" href="/images/dark/favicon-dark-16x16.png" />
33+
<link rel="icon" href="/images/dark/favicon-dark.svg" />
34+
<link rel="manifest" href="/images/dark/site.webmanifest" />
35+
<% end %>
36+
3637
<title>qbop</title>
3738
</head>
3839
<body class="terminal">

0 commit comments

Comments
 (0)