diff --git a/services/frontend/src/app/(dashboard)/settings/page.tsx b/services/frontend/src/app/(dashboard)/settings/page.tsx deleted file mode 100644 index 0f6c896..0000000 --- a/services/frontend/src/app/(dashboard)/settings/page.tsx +++ /dev/null @@ -1,188 +0,0 @@ -"use client"; - -import { Moon, Server, Shield, Sun, Wifi } from "lucide-react"; -import { useEffect, useState } from "react"; -import { GlassCard } from "@/components/glass/card"; -import { GlassDivider } from "@/components/glass/divider"; -import { SubNav } from "@/components/layout/sub-nav"; -import { LoadingSkeleton } from "@/components/shared"; -import { useConfig } from "@/hooks"; -import { cn } from "@/lib/utils"; -import { useWebSocket } from "@/lib/ws/context"; - -type SettingsTab = "connection" | "appearance" | "config" | "about"; - -export default function SettingsPage() { - const { status } = useWebSocket(); - const { data: config, isLoading: configLoading } = useConfig(); - const [theme, setTheme] = useState<"light" | "dark">("dark"); - const [tab, setTab] = useState("connection"); - - useEffect(() => { - const stored = localStorage.getItem("theme") as "light" | "dark" | null; - if (stored) setTheme(stored); - }, []); - - const toggleTheme = () => { - const next = theme === "dark" ? "light" : "dark"; - setTheme(next); - localStorage.setItem("theme", next); - document.documentElement.classList.remove("light", "dark"); - document.documentElement.classList.add(next); - }; - - const statusDot = { - connected: - "bg-emerald-500 shadow-[0_0_8px] shadow-emerald-500/60 animate-pulse", - connecting: "bg-accent-amber animate-pulse", - disconnected: "bg-destructive", - error: "bg-destructive", - }[status]; - - const statusLabel = { - connected: "Connected", - connecting: "Connecting", - disconnected: "Disconnected", - error: "Error", - }[status]; - - return ( -
- , - }, - { - id: "appearance", - label: "Appearance", - icon: , - }, - { - id: "config", - label: "Config", - icon: , - }, - { id: "about", label: "About", icon: }, - ]} - activeTab={tab} - onTabChange={(t) => setTab(t as SettingsTab)} - /> - - {tab === "connection" && ( - -
-
- - WebSocket - -
-
- - - {statusLabel} - -
-
-
- )} - - {tab === "appearance" && ( - -
-
- {theme === "dark" ? ( - - ) : ( - - )} - - Theme - -
- -
-
- )} - - {tab === "config" && ( - -
- {configLoading ? ( - - ) : config ? ( - <> - - - - - - - - - - - ) : ( -

- Unable to load config. -

- )} -
-
- )} - - {tab === "about" && ( - -
-

- Discord Automod -

-

- AI-powered message moderation, voice recording, and real-time - monitoring for Discord communities. -

-
- v0.1.0 -
-
-
- )} -
- ); -} - -function ConfigRow({ label, value }: { label: string; value: string }) { - return ( -
- {label} - - {value} - -
- ); -} diff --git a/services/frontend/src/components/glass/divider.tsx b/services/frontend/src/components/glass/divider.tsx deleted file mode 100644 index 018a3c9..0000000 --- a/services/frontend/src/components/glass/divider.tsx +++ /dev/null @@ -1,9 +0,0 @@ -"use client"; - -import { cn } from "@/lib/utils"; - -export function GlassDivider({ className }: { className?: string }) { - return ( -
- ); -} diff --git a/services/frontend/src/components/glass/index.ts b/services/frontend/src/components/glass/index.ts index 19c5919..756eb98 100644 --- a/services/frontend/src/components/glass/index.ts +++ b/services/frontend/src/components/glass/index.ts @@ -1,3 +1,2 @@ export { GlassCard } from "./card"; export { GlassPanel } from "./panel"; -export { GlassDivider } from "./divider"; diff --git a/services/frontend/src/lib/navigation.ts b/services/frontend/src/lib/navigation.ts index f43438f..e709adf 100644 --- a/services/frontend/src/lib/navigation.ts +++ b/services/frontend/src/lib/navigation.ts @@ -6,7 +6,6 @@ import { Mic, Music, Search, - Settings, } from "lucide-react"; export interface NavItem { @@ -57,12 +56,6 @@ export const navItems: NavItem[] = [ icon: Search, matchPrefix: "/analysis", }, - { - href: "/settings", - label: "Settings", - icon: Settings, - matchPrefix: "/settings", - }, ]; /**