import { useState, useEffect } from 'react'; import '@src/Options.css'; import { Button } from '@extension/ui'; import { withErrorBoundary, withSuspense } from '@extension/shared'; import { GeneralSettings } from './components/GeneralSettings'; import { ModelSettings } from './components/ModelSettings'; type TabTypes = 'general' | 'models'; const TABS: { id: TabTypes; icon: string; label: string }[] = [ { id: 'general', icon: '⚙️', label: 'General' }, { id: 'models', icon: '📊', label: 'Models' }, ]; const Options = () => { const [activeTab, setActiveTab] = useState('models'); const [isDarkMode, setIsDarkMode] = useState(false); // Check for dark mode preference useEffect(() => { const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); setIsDarkMode(darkModeMediaQuery.matches); const handleChange = (e: MediaQueryListEvent) => { setIsDarkMode(e.matches); }; darkModeMediaQuery.addEventListener('change', handleChange); return () => darkModeMediaQuery.removeEventListener('change', handleChange); }, []); const renderTabContent = () => { switch (activeTab) { case 'general': return ; case 'models': return ; default: return null; } }; return (
{/* Vertical Navigation Bar */} {/* Main Content Area */}
{renderTabContent()}
); }; export default withErrorBoundary(withSuspense(Options,
Loading...
),
Error Occurred
);