Files
dumpsterChat/web/index.html
T
hobokenchicken 0f19b9089d feat(ui): Discord-style roles/channel perms + IDE themes
Split-pane role editor with tri-state channel overrides (roles/members).
CSS-var themes (Gruvbox default + 9 IDE palettes) in top bar and settings.
2026-07-15 21:46:07 -04:00

72 lines
2.5 KiB
HTML

<!doctype html>
<html lang="en" data-theme="gruvbox">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<script>
// Apply saved theme before paint (migrates legacy light/dark).
(function () {
try {
var t = localStorage.getItem('dumpster-theme');
if (t === 'light') t = 'gruvbox-light';
else if (t === 'dark' || !t) t = 'gruvbox';
var ok = {
gruvbox: 1,
'gruvbox-light': 1,
'one-dark': 1,
dracula: 1,
nord: 1,
'tokyo-night': 1,
catppuccin: 1,
'solarized-dark': 1,
monokai: 1,
'github-dark': 1,
};
if (!ok[t]) t = 'gruvbox';
document.documentElement.setAttribute('data-theme', t);
document.documentElement.classList.add(t === 'gruvbox-light' ? 'light' : 'dark');
} catch (e) {
document.documentElement.setAttribute('data-theme', 'gruvbox');
}
})();
</script>
<!-- PWA Meta Tags -->
<meta name="theme-color" content="#282828" media="(prefers-color-scheme: dark)" />
<meta name="theme-color" content="#282828" />
<meta name="color-scheme" content="dark light" />
<meta name="description" content="A chaotic, self-hosted Discord-like platform" />
<!-- Apple -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dumpster" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<!-- Favicon -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" />
<link rel="icon" type="image/png" href="/favicon.png" />
<!-- Manifest -->
<link rel="manifest" href="/manifest.json" />
<!-- Splash screens for iOS (apple-touch-startup-image) -->
<meta name="mobile-web-app-capable" content="yes" />
<title>Dumpster</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
<script>
// Register service worker
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/sw.js').catch(() => {});
});
}
</script>
</body>
</html>