"use client"; import { useState } from "react"; import Link from "next/link"; import { LanguageSwitcher } from "@/components/sections/lang/language-switcher"; import { ThemeToggle } from "@/components/sections/theme/theme-toggle"; import { Dictionary } from "@/lib/IDict"; import { CyberButton } from "../ui/cyber-button"; import { socialLinks, FlickeringSocialIcon } from "../ui/social-links"; import { X, Terminal, ArrowRight, Shield, Cpu, CreditCard, HelpCircle, Activity, Gauge, Gamepad2, } from "lucide-react"; import { motion, AnimatePresence } from "framer-motion"; /** * Общий хедер сайта (фиксированная плавающая панель) + полноэкранное меню-оверлей, * стилизованное под ретро Windows-окно (заголовок в духе "C:\NETRUNNER\SYSTEM.DIR"). * Ссылки меню собираются из словаря `dict.nav`, поэтому здесь нет хардкода текста — * только структура (иконка + href) для каждого пункта. */ export function Header({ dict, lang, }: { dict: Dictionary["nav"]; lang: string; }) { const [isMenuOpen, setIsMenuOpen] = useState(false); const menuLinks = [ { name: dict.features, href: `/${lang}#features`, icon: Cpu }, { name: dict.pricing, href: `/${lang}#pricing`, icon: CreditCard }, { name: dict.faq, href: `/${lang}#faq`, icon: HelpCircle }, { name: dict.speedtest, href: `/${lang}/speedtest`, icon: Gauge }, { name: dict.blog, href: `/${lang}/blog`, icon: Activity }, { name: dict.terminal, href: `/${lang}/terminal`, icon: Terminal }, { name: dict.profile, href: `/${lang}/auth`, icon: Shield }, { name: dict.doom, href: `/doom`, icon: Gamepad2 }, ]; return ( <>
setIsMenuOpen(false)} >
Net runner VPN
{/* Применяем кастомный курсор горизонтального ресайза к разделителю */}
setIsMenuOpen(false)} > {dict.cta}
{isMenuOpen && (
setIsMenuOpen(false)} />
C:\NETRUNNER\SYSTEM.DIR
{menuLinks.map((link) => ( setIsMenuOpen(false)} className="flex items-center gap-3 p-3 hover:bg-blue-800 hover:text-white dark:hover:bg-primary/20 dark:hover:text-primary transition-colors group cursor-pointer text-base text-black dark:text-white shrink-0" > {link.name} _ ))}
setIsMenuOpen(false)} className="flex items-center gap-3 p-3 hover:bg-blue-800 hover:text-white dark:hover:bg-primary/20 dark:hover:text-primary transition-colors group cursor-pointer text-sm text-gray-600 dark:text-gray-400 shrink-0" > {dict.docs}
setIsMenuOpen(false)} > {dict.cta}
{socialLinks.map((social) => ( ))}
)} ); }