import { useState } from 'react'; import { useParams } from 'react-router'; import { useQueryClient } from '@tanstack/react-query'; import type { SessionEntry } from 'widgets/Chat'; import { useClaude } from './useClaude'; import { useOpenCode } from './useOpenCode'; import { ChatPanel } from './ChatPanel'; import { useVisibleClaudeModels, useVisibleOpenCodeModels } from '@/state/useModels'; export const ClaudeChat = () => { const { sessionId } = useParams<{ sessionId: string }>(); const queryClient = useQueryClient(); const sessions = queryClient.getQueryData(['SESSIONS']); const sessionModel = sessions?.find((s) => s.id === sessionId)?.model; const claude = useClaude(sessionId, sessionModel); const claudeModels = useVisibleClaudeModels(); return (
); }; export const OpenCodeChat = () => { const { sessionId } = useParams<{ sessionId: string }>(); const queryClient = useQueryClient(); const sessions = queryClient.getQueryData(['OC_SESSIONS']); const sessionModel = sessions?.find((s) => s.id === sessionId)?.model; const opencode = useOpenCode(sessionId, sessionModel); const openCodeModels = useVisibleOpenCodeModels(); return (
); }; const ClaudeNewChatInner = ({ onProviderChange }: { onProviderChange: (p: 'claude' | 'opencode') => void }) => { const claude = useClaude(); const claudeModels = useVisibleClaudeModels(); return ( ); }; const OpenCodeNewChatInner = ({ onProviderChange }: { onProviderChange: (p: 'claude' | 'opencode') => void }) => { const opencode = useOpenCode(); const openCodeModels = useVisibleOpenCodeModels(); return ( ); }; export const NewChat = () => { const [provider, setProvider] = useState<'claude' | 'opencode'>('claude'); return (
{provider === 'claude' ? ( ) : ( )}
); };