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 11b1089126
commit 4da08d91bc
10 changed files with 1230 additions and 556 deletions
+12
View File
@@ -2,6 +2,7 @@ import { useState, useRef, useEffect } from 'react';
import { Link, useNavigate } from 'react-router-dom';
import { useAuthStore } from '../stores/auth.ts';
import { usePushStore } from '../stores/push.ts';
import { ThemeToggle } from './ThemeToggle.tsx';
export function UserSettings() {
const { user, updateProfile, changePassword, isLoading, error, clearError } = useAuthStore();
@@ -316,6 +317,17 @@ export function UserSettings() {
</div>
</div>
{/* Appearance */}
<div className="border border-gb-bg-t p-4">
<label className="block text-gb-fg-f mb-2 font-mono text-sm">
THEME:
</label>
<ThemeToggle />
<p className="text-gb-fg-f text-xs font-mono mt-2">
Default is Gruvbox. Choice is saved in this browser.
</p>
</div>
{/* Push Notifications */}
{isSupported && (
<div className="border border-gb-bg-t p-4">