From 69f4677ca059038989d024e0d7bc971e9a4a7a0c Mon Sep 17 00:00:00 2001 From: Roshan John <63011948+roshatron2@users.noreply.github.com> Date: Mon, 27 Oct 2025 02:56:54 +0530 Subject: [PATCH] Update UI components, add ThemeToggle, and modify enrollment, layout, and inference pages --- extras/speaker-recognition/webui/src/App.tsx | 35 ++++++++++--------- .../webui/src/components/ThemeToggle.tsx | 21 +++++++++++ .../webui/src/components/UserSelector.tsx | 2 +- .../webui/src/components/layout/Layout.tsx | 22 ++++++------ .../live-inference/SessionStats.tsx | 14 ++++---- .../webui/src/pages/Annotation.tsx | 26 +++++++------- .../webui/src/pages/Enrollment.tsx | 12 +++---- .../webui/src/pages/InferLiveSimplified.tsx | 18 +++++----- .../webui/src/pages/Inference.tsx | 10 +++--- .../webui/src/pages/Speakers.tsx | 34 +++++++++--------- .../webui/tailwind.config.js | 1 + .../speaker-recognition/webui/vite.config.ts | 18 ++++++++++ 12 files changed, 129 insertions(+), 84 deletions(-) create mode 100644 extras/speaker-recognition/webui/src/components/ThemeToggle.tsx diff --git a/extras/speaker-recognition/webui/src/App.tsx b/extras/speaker-recognition/webui/src/App.tsx index 9d4650b5..4c12ca29 100644 --- a/extras/speaker-recognition/webui/src/App.tsx +++ b/extras/speaker-recognition/webui/src/App.tsx @@ -1,5 +1,6 @@ import { BrowserRouter as Router, Routes, Route } from 'react-router-dom' import { UserProvider } from './contexts/UserContext' +import { ThemeProvider } from './contexts/ThemeContext' import Layout from './components/layout/Layout' import AudioViewer from './pages/AudioViewer' import Annotation from './pages/Annotation' @@ -12,22 +13,24 @@ import './App.css' function App() { return ( - - - - - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - - - - + + + + + + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + + + + ) } diff --git a/extras/speaker-recognition/webui/src/components/ThemeToggle.tsx b/extras/speaker-recognition/webui/src/components/ThemeToggle.tsx new file mode 100644 index 00000000..34d916bd --- /dev/null +++ b/extras/speaker-recognition/webui/src/components/ThemeToggle.tsx @@ -0,0 +1,21 @@ +import React from 'react' +import { Sun, Moon } from 'lucide-react' +import { useTheme } from '../contexts/ThemeContext' + +export default function ThemeToggle() { + const { isDark, toggleTheme } = useTheme() + + return ( + + ) +} diff --git a/extras/speaker-recognition/webui/src/components/UserSelector.tsx b/extras/speaker-recognition/webui/src/components/UserSelector.tsx index ece819bb..c9b2d7ea 100644 --- a/extras/speaker-recognition/webui/src/components/UserSelector.tsx +++ b/extras/speaker-recognition/webui/src/components/UserSelector.tsx @@ -60,7 +60,7 @@ export default function UserSelector() { {/* Dropdown Menu */} {isDropdownOpen && ( -
+
{/* Existing Users */} {users.length > 0 && ( diff --git a/extras/speaker-recognition/webui/src/components/layout/Layout.tsx b/extras/speaker-recognition/webui/src/components/layout/Layout.tsx index 29c8d681..4c85b6af 100644 --- a/extras/speaker-recognition/webui/src/components/layout/Layout.tsx +++ b/extras/speaker-recognition/webui/src/components/layout/Layout.tsx @@ -3,6 +3,7 @@ import { Link, useLocation } from 'react-router-dom' import { Mic, Music, FileText, Users, Brain, User, Radio, Wifi } from 'lucide-react' import UserSelector from '../UserSelector' import ConnectionStatus from '../ConnectionStatus' +import ThemeToggle from '../ThemeToggle' interface LayoutProps { children: React.ReactNode @@ -22,20 +23,21 @@ export default function Layout({ children }: LayoutProps) { ] return ( -
+
{/* Header */} -
+
-

+

Speaker Recognition System

+ -
+
@@ -46,7 +48,7 @@ export default function Layout({ children }: LayoutProps) {
{/* Sidebar Navigation */}