import { useState, useCallback, useRef, useEffect } from 'react'; import { ServerTab } from '@/components/screens/Interface/ServerTab'; import { TerminalTab, type TerminalTabRef, } from '@/components/screens/Interface/TerminalTab'; import { useDefaultInterfaceTab } from '@/hooks/useInterfaceSelection'; import type { InterfaceTab } from '@/types'; interface InterfaceScreenProps { activeTab?: InterfaceTab | null; onTabChange?: (tab: InterfaceTab) => void; } export const InterfaceScreen = ({ activeTab, onTabChange, }: InterfaceScreenProps) => { const [serverUrl, setServerUrl] = useState(''); const [isServerReady, setIsServerReady] = useState(false); const terminalTabRef = useRef(null); const defaultInterfaceTab = useDefaultInterfaceTab(); const handleServerReady = useCallback( (url: string) => { setServerUrl(url); setIsServerReady(true); if (onTabChange) { onTabChange(defaultInterfaceTab); } }, [onTabChange, defaultInterfaceTab] ); useEffect(() => { if (activeTab === 'terminal' && terminalTabRef.current) { terminalTabRef.current.scrollToBottom(); } }, [activeTab]); return (
); };