'use client'; import { useState, useEffect, useCallback } from 'react'; import { ImageStudio, VideoStudio, LipSyncStudio, CinemaStudio } from 'studio'; import ApiKeyModal from './ApiKeyModal'; const TABS = [ { id: 'image', label: 'Image Studio' }, { id: 'video', label: 'Video Studio' }, { id: 'lipsync', label: 'Lip Sync' }, { id: 'cinema', label: 'Cinema Studio' }, ]; const STORAGE_KEY = 'muapi_key'; export default function StandaloneShell() { const [apiKey, setApiKey] = useState(null); const [activeTab, setActiveTab] = useState('image'); const [showSettings, setShowSettings] = useState(false); const [hasMounted, setHasMounted] = useState(false); useEffect(() => { setHasMounted(true); const stored = localStorage.getItem(STORAGE_KEY); if (stored) setApiKey(stored); }, []); const handleKeySave = useCallback((key) => { localStorage.setItem(STORAGE_KEY, key); setApiKey(key); }, []); const handleKeyChange = useCallback(() => { localStorage.removeItem(STORAGE_KEY); setApiKey(null); }, []); if (!hasMounted) return (
Current API key: {apiKey.slice(0, 8)}••••••••