/**
* Настройки предпросмотра переходов в видеоплеере
*/
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 || "Неизвестный"}
)
}