"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" ? (
<>
>
) : (
)}
))}
);
}