/* eslint-disable @typescript-eslint/no-explicit-any */ import { useEffect, useState } from 'react' import { ScrollArea } from '@janhq/uikit' import { motion as m } from 'framer-motion' import { twMerge } from 'tailwind-merge' import Advanced from '@/screens/Settings/Advanced' import AppearanceOptions from '@/screens/Settings/Appearance' import ExtensionCatalog from '@/screens/Settings/CoreExtensions' import Models from '@/screens/Settings/Models' import { SUCCESS_SET_NEW_DESTINATION } from './Advanced/DataFolder' const SettingsScreen = () => { const [activeStaticMenu, setActiveStaticMenu] = useState('My Models') const [menus, setMenus] = useState([]) useEffect(() => { const menu = ['My Models', 'My Settings', 'Advanced Settings'] if (typeof window !== 'undefined' && window.electronAPI) { menu.push('Extensions') } setMenus(menu) }, []) const [activePreferenceExtension, setActivePreferenceExtension] = useState('') const handleShowOptions = (menu: string) => { switch (menu) { case 'Extensions': return case 'My Settings': return case 'Advanced Settings': return case 'My Models': return } } useEffect(() => { if (localStorage.getItem(SUCCESS_SET_NEW_DESTINATION) === 'true') { setActiveStaticMenu('Advanced Settings') localStorage.removeItem(SUCCESS_SET_NEW_DESTINATION) } }, []) return (
{menus.map((menu, i) => { const isActive = activeStaticMenu === menu return (
{ setActiveStaticMenu(menu) setActivePreferenceExtension('') }} className="block w-full cursor-pointer" > {menu}
{isActive && ( )}
) })}
{handleShowOptions(activeStaticMenu || activePreferenceExtension)}
) } export default SettingsScreen