import * as RadixDialog from '@radix-ui/react-dialog'; import { motion } from 'framer-motion'; import { useState, type ReactElement } from 'react'; import { classNames } from '~/utils/classNames'; import { DialogTitle, dialogVariants, dialogBackdropVariants } from '~/components/ui/Dialog'; import { IconButton } from '~/components/ui/IconButton'; import styles from './Settings.module.scss'; import ConnectionsTab from './connections/ConnectionsTab'; import { useArboretumVisibility } from '~/lib/stores/settings'; interface SettingsProps { open: boolean; onClose: () => void; } type TabType = 'data' | 'apiKeys' | 'features' | 'debug' | 'event-logs' | 'connection'; export const SettingsWindow = ({ open, onClose }: SettingsProps) => { const [activeTab, setActiveTab] = useState('data'); const { isArboretumVisible, toggleArboretum } = useArboretumVisibility(); const tabs: { id: TabType; label: string; icon: string; component?: ReactElement }[] = [ { id: 'connection', label: 'Connection', icon: 'i-ph:link', component: }, ]; return (
Settings {tabs.map((tab) => ( ))}
{tabs.find((tab) => tab.id === activeTab)?.component}
); };