/** * Player AI Controls * Панель управления AI анализом в плеере */ import { Eye, EyeOff, Gauge, Pause, Play, Settings, Sparkles } from "lucide-react" import { useState } from "react" import { Button } from "@/components/ui/button" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { Label } from "@/components/ui/label" import { Slider } from "@/components/ui/slider" import { Switch } from "@/components/ui/switch" import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip" import { cn } from "@/lib/utils" import { usePlayerAIAnalysis } from "../hooks/use-player-ai-analysis" interface PlayerAIControlsProps { className?: string } export function PlayerAIControls({ className }: PlayerAIControlsProps) { const aiAnalysis = usePlayerAIAnalysis() const { isAnalyzing, frameAnalysisRate } = aiAnalysis.state const [showOverlay, setShowOverlay] = useState(true) const [showObjects, setShowObjects] = useState(true) const [showSceneInfo, setShowSceneInfo] = useState(true) const [showMoments, setShowMoments] = useState(true) const handleToggleAnalysis = () => { if (isAnalyzing) { aiAnalysis.stopRealtimeAnalysis() } else { aiAnalysis.startRealtimeAnalysis() } } const handleFrameRateChange = (value: number[]) => { aiAnalysis.setFrameAnalysisRate(value[0]) } return (
{/* Основная кнопка AI анализа */} {isAnalyzing ? "Остановить AI анализ" : "Запустить AI анализ"} {/* Настройки AI */} Настройки AI анализа {/* Частота анализа */}
{frameAnalysisRate} FPS

Больше FPS = точнее анализ, но выше нагрузка

{/* Настройки отображения */}
{/* Быстрые действия */} console.log("Export AI data")}> Экспортировать данные анализа setShowOverlay(!showOverlay)} className="md:hidden"> {showOverlay ? ( <> Скрыть оверлей ) : ( <> Показать оверлей )}
{/* Быстрое переключение оверлея (для десктопа) */} {showOverlay ? "Скрыть AI оверлей" : "Показать AI оверлей"}
) }