import { Suspense, useState } from 'react'; import { ComboBox } from '@/components/input/combo-box'; import { Loader } from '@/components/loader'; import { ModalView } from '@/components/modal'; import { TabLabel, TabList, TabPanel, Tabs } from '@/components/tabs'; import { useAvailableTemplatesSuspense } from '../../backend/use-available-templates'; import { TabPromptResult } from './tab-prompt-result'; import { TabPromptSelect } from './tab-prompt-select'; import { TabPromptVariables } from './tab-prompt-variables'; export const TabID = { SELECT: 0, RESULT: 1, VARIABLES: 2 } as const; type TabID = (typeof TabID)[keyof typeof TabID]; export function DlgAIPromptDialog() { const [activeTab, setActiveTab] = useState(TabID.SELECT); const [selected, setSelected] = useState(null); const { items: prompts } = useAvailableTemplatesSuspense(); return ( setActiveTab(index as TabID)}>
p.id === selected) ?? null} onChange={item => setSelected(item?.id ?? 0)} idFunc={item => String(item.id)} labelValueFunc={item => item.label} labelOptionFunc={item => item.label} placeholder='Выберите шаблон' className='w-full' /> }> {selected ? : null} {selected ? : null} {selected ? : null}
); }