/** * Main dashboard component for Smart Montage Planner * Provides overview and control of the montage planning process */ import { AlertCircle, Download, Play, Settings, Sparkles, Upload } from "lucide-react" import { useTranslation } from "react-i18next" import { Alert, AlertDescription } from "@/components/ui/alert" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Progress } from "@/components/ui/progress" import { useMontagePlanner } from "../../hooks/use-montage-planner" import { ExportFormat, MONTAGE_STYLES } from "../../types" import { PlanViewer } from "./plan-viewer" import { ProjectAnalyzer } from "./project-analyzer" import { Suggestions } from "./suggestions" export function PlannerDashboard() { const { t } = useTranslation() const { // State videos, fragments, currentPlan, selectedStyle, targetDuration, error, // Status isAnalyzing, isGenerating, isOptimizing, hasVideos, hasFragments, hasPlan, canGeneratePlan, canOptimizePlan, isBusy, // Progress progress, progressMessage, // Statistics videoCount, fragmentCount, totalVideoDuration, planDuration, utilizationRate, // Actions startAnalysis, generatePlan, optimizePlan, applyPlanToTimeline, exportPlan, reset, clearError, // Helpers formatDuration, getStyleName, } = useMontagePlanner() const handleApplyToTimeline = () => { applyPlanToTimeline() // TODO: Show success notification } const handleExport = () => { exportPlan(ExportFormat.JSON) // TODO: Show export dialog with format options } return (
{t("montage-planner.description")}
{getStyleName(selectedStyle)}
{(MONTAGE_STYLES as any)[selectedStyle]?.description}