"use client"; // Добавили импорт Variants import { motion, Variants } from "framer-motion"; import { Button } from "@/components/ui/button"; import { Monitor, Smartphone, Terminal, Apple, Download, ExternalLink, Bell, } from "lucide-react"; import { Dictionary } from "@/lib/IDict"; export function DownloadClient({ dict }: { dict: Dictionary["download"] }) { const platforms = [ { id: "windows", name: "Windows", version: dict.platforms.windows, icon: , status: "active", color: "text-primary", shadow: "shadow-[0_0_20px_rgba(0,240,255,0.2)]", borderHover: "hover:border-primary/50", }, { id: "android", name: "Android", version: dict.platforms.android, icon: , status: "active", color: "text-secondary", shadow: "shadow-[0_0_20px_rgba(112,0,255,0.2)]", borderHover: "hover:border-secondary/50", }, { id: "linux", name: "Linux", version: dict.platforms.linux, icon: , status: "active", color: "text-primary", shadow: "shadow-[0_0_20px_rgba(0,240,255,0.2)]", borderHover: "hover:border-primary/50", }, { id: "macos", name: "macOS", version: dict.platforms.macos, icon: , status: "dev", color: "text-muted-foreground", shadow: "shadow-none", borderHover: "hover:border-border", }, { id: "ios", name: "iOS", version: dict.platforms.ios, icon: , status: "dev", color: "text-muted-foreground", shadow: "shadow-none", borderHover: "hover:border-border", }, ]; // Явно указываем тип Variants const containerVariants: Variants = { hidden: { opacity: 0 }, show: { opacity: 1, transition: { staggerChildren: 0.1 }, }, }; // Явно указываем тип Variants const itemVariants: Variants = { hidden: { opacity: 0, y: 40 }, show: { opacity: 1, y: 0, transition: { type: "spring", stiffness: 300, damping: 24 }, }, }; return (
{/* Декоративное свечение */}

{dict.title}

{dict.subtitle}

{platforms.map((platform) => ( {/* Статус бейдж */}
{platform.status === "active" ? (
{dict.badges.active}
) : (
{dict.badges.dev}
)}
{/* Иконка */}
{platform.icon}

{platform.name}

{platform.version}

{/* Кнопки действий */}
{platform.status === "active" ? ( <> ) : ( )}
))}
); }