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.
This commit is contained in:
2026-07-15 21:46:07 -04:00
parent 3c7b8278ce
commit 0f19b9089d
10 changed files with 1230 additions and 556 deletions
+4
View File
@@ -14,6 +14,7 @@ import { NotificationPrompt } from './NotificationPrompt.tsx';
import { MemberList } from './MemberList.tsx';
import { VoicePanel } from './VoicePanel.tsx';
import { ServerSettingsModal } from './ServerSettingsModal.tsx';
import { ThemeToggle } from './ThemeToggle.tsx';
const STATUS_CYCLE: UserStatus[] = ['online', 'idle', 'dnd', 'offline'];
function statusColor(status: UserStatus): string {
@@ -134,6 +135,9 @@ export function Layout() {
</div>
)}
</div>
<div className="hidden sm:block">
<ThemeToggle />
</div>
<Link to="/settings" className="terminal-button text-xs px-1.5 py-0.5 hidden sm:inline-flex">[SETTINGS]</Link>
{activeServerId && (
<button onClick={() => setShowServerSettings(true)}