/** * Настройки предпросмотра переходов в видеоплеере */ import { Eye, EyeOff, Settings } from "lucide-react" import { Button } from "@/components/ui/button" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Label } from "@/components/ui/label" import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover" import { Separator } from "@/components/ui/separator" 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" interface TransitionPreviewSettingsProps { isEnabled: boolean onEnabledChange: (enabled: boolean) => void showOverlay: boolean onShowOverlayChange: (show: boolean) => void showMiniIndicator: boolean onShowMiniIndicatorChange: (show: boolean) => void quality: number onQualityChange: (quality: number) => void className?: string } /** * Панель настроек предпросмотра переходов */ export function TransitionPreviewSettings({ isEnabled, onEnabledChange, showOverlay, onShowOverlayChange, showMiniIndicator, onShowMiniIndicatorChange, quality, onQualityChange, className, }: TransitionPreviewSettingsProps) { return (
{/* Быстрые переключатели */} {isEnabled ? "Отключить предпросмотр переходов" : "Включить предпросмотр переходов"} {/* Подробные настройки */} Настройки предпросмотра {/* Основные настройки */}
{/* Настройки качества */}
onQualityChange(value)} min={25} max={100} step={25} disabled={!isEnabled} className="w-full" />
Низкое Среднее Высокое Максимальное
{/* Дополнительная информация */}
WebGL2: Поддерживается
GPU ускорение: Активно
) } /** * Компактная версия настроек для интеграции в PlayerControls */ export function TransitionPreviewToggle({ isEnabled, onToggle, hasActiveTransition, className, }: { isEnabled: boolean onToggle: (enabled: boolean) => void hasActiveTransition: boolean className?: string }) { return ( {isEnabled ? "Отключить предпросмотр переходов" : "Включить предпросмотр переходов"} ) } /** * Индикатор статуса предпросмотра переходов */ export function TransitionPreviewStatus({ isEnabled, hasActiveTransition, transitionName, className, }: { isEnabled: boolean hasActiveTransition: boolean transitionName?: string className?: string }) { if (!isEnabled || !hasActiveTransition) return null return (
Переход: {transitionName || "Неизвестный"}
) }