/** * PlaybackSpeedControl — Sélecteur de vitesse de lecture (0.5x à 2x) * Lot F: F1 — Playback speed */ import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { cn } from '@/lib/utils'; const SPEEDS = [0.5, 0.75, 1, 1.25, 1.5, 2] as const; export type PlaybackSpeed = (typeof SPEEDS)[number]; interface PlaybackSpeedControlProps { speed?: number; currentSpeed?: number; onSpeedChange: (speed: number) => void; disabled?: boolean; className?: string; } export function PlaybackSpeedControl({ speed, currentSpeed, onSpeedChange, disabled = false, className, }: PlaybackSpeedControlProps) { const value = speed ?? currentSpeed ?? 1; const displaySpeed = `${value}x`; return ( {SPEEDS.map((s) => ( onSpeedChange(s)} className={cn(s === value && 'bg-primary/10 text-primary font-medium')} > {s}x ))} ); }