import { ActionIcon, Divider, Group, ScrollArea, Stack, Tabs, Text } from '@mantine/core'; import { useCommonHooks, useQueryAPI } from 'hooks'; import { useEffect, useState } from 'react'; import { FaPaintBrush, FaRegListAlt } from 'react-icons/fa'; import { FiArrowLeftCircle, FiBookmark, FiGlobe, FiMail, FiMonitor, FiSearch, FiUser, } from 'react-icons/fi'; import { useNavigate, useParams } from 'react-router-dom'; import { actionIconClasses, scrollAreaClasses, tabClasses, textClasses } from 'styles'; import type { PersonalData } from 'types'; import Applications from './components/Applications/Applications'; import Bookmarks from './components/Bookmarks/Bookmarks'; import GuacamoleClients from './components/GuacamoleClients/GuacamoleClients'; import Messages from './components/Messages/Messages'; import Personalization from './components/Personalization/Personalization'; import SearchHistory from './components/Search/SearchHistory'; import SearchProviders from './components/Search/SearchProviders'; import { ThemePlaylists } from './components/Theming/ThemePlaylists'; import { Themes } from './components/Theming/Themes'; import WolClients from './components/WoL/WolClients'; export function Settings() { const endpoint = 'api/personalData'; const { data: personalData, isFetched: personalDataIsFetched } = useQueryAPI({ endpoint: endpoint, }); const [personal, setPersonal] = useState(); const { isMobile, theme } = useCommonHooks(); const navigate = useNavigate(); const { tabValue } = useParams(); useEffect(() => { if (personalData && personalDataIsFetched) { setPersonal(personalData[0]); } }, [personalData, personalDataIsFetched]); return ( navigate(`/${import.meta.env.VITE_BASE_URL}`)} > Settings navigate(`/${import.meta.env.VITE_BASE_URL}/settings/${value}`) } > {isMobile ? : 'Personal Info'} {!isMobile && ( )} {isMobile ? : 'Messages'} {isMobile ? : 'Applications'} {isMobile ? : 'Bookmarks'} {!isMobile && ( )} {isMobile ? : 'Themes'} {isMobile ? : 'Theme Playlists'} {!isMobile && ( )} {isMobile ? : 'Search Providers'} {isMobile ? : 'Search History'} {!isMobile && (personal?.enableWol || personal?.enableGuacamole) ? ( ) : null} {personal?.enableWol ? ( {isMobile ? : 'WoL Clients'} ) : null} {personal?.enableGuacamole ? ( {isMobile ? : 'Guacamole Clients'} ) : null} {personal?.enableWol ? ( ) : null} {personal?.enableGuacamole ? ( ) : null} ); } export default Settings;