import { useEffect } from "react"; import type { ReactNode } from "react"; import { Captions, Gauge, Hand, Laptop, Music2, RotateCcw, Server, Volume2, X, } from "lucide-react"; import { GRAPHICS_PRESET_KEYS, GRAPHICS_PRESETS, type GraphicsPreset, } from "@/data/world/graphicsConfig"; import { useDebugStore } from "@/hooks/debug/useDebugStore"; import { useGameStore } from "@/managers/stores/useGameStore"; import { useSettingsStore } from "@/managers/stores/useSettingsStore"; import { useWorldSettingsStore } from "@/managers/stores/useWorldSettingsStore"; import type { HandTrackingSource } from "@/types/handTracking/handTracking"; import type { SubtitleLanguage } from "@/types/settings/settings"; import { hasSiteBeenVisitedToday } from "@/utils/cookies/siteVisitCookie"; import { Debug } from "@/utils/debug/Debug"; function formatPercent(value: number): string { return `${Math.round(value * 100)}%`; } interface VolumeSliderProps { id: string; label: string; icon: ReactNode; value: number; onChange: (value: number) => void; } function VolumeSlider({ id, label, icon, value, onChange, }: VolumeSliderProps): React.JSX.Element { return ( ); } function formatChunkDistance(distance: number): string { return `${distance}m`; } const HAND_TRACKING_OPTIONS = [ { description: "Calcul local", icon: