/
smaker21
/
YouTube-transcript-using-supadata
Обзор
Документация
Войти
/
smaker21
/
YouTube-transcript-using-supadata
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
components/header.tsx
91 строка
3 KB
Ilya Ostapov
new file: .env.example
12 фев 2026, 18:43
12 фев 2026, 18:43
7016baa
Код
Авторство
О чём код?
"use client"; import { useState } from "react"; import { Menu, X } from "lucide-react"; import { Button } from "@/components/ui/button"; const navLinks = [ { label: "Возможности", href: "#features" }, { label: "Как работает", href: "#how-it-works" }, { label: "Примеры", href: "#demo" }, ]; export function Header() { const [mobileOpen, setMobileOpen] = useState(false); return ( <header className="fixed top-0 right-0 left-0 z-50 border-b border-border/50 bg-background/80 backdrop-blur-xl"> <div className="mx-auto flex max-w-6xl items-center justify-between px-6 py-4"> <a href="#" className="flex items-center gap-2"> <div className="flex h-8 w-8 items-center justify-center rounded-lg bg-primary"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="text-primary-foreground" > <polygon points="5 3 19 12 5 21 5 3" /> </svg> </div> <span className="text-lg font-bold tracking-tight text-foreground"> BriefTube </span> </a> <nav className="hidden items-center gap-8 md:flex"> {navLinks.map((link) => ( <a key={link.href} href={link.href} className="text-sm text-muted-foreground transition-colors hover:text-foreground" > {link.label} </a> ))} </nav> <div className="hidden md:block"> <Button size="sm" asChild> <a href="#summarizer">Попробовать</a> </Button> </div> <button type="button" className="text-muted-foreground md:hidden" onClick={() => setMobileOpen(!mobileOpen)} aria-label={mobileOpen ? "Закрыть меню" : "Открыть меню"} > {mobileOpen ? <X size={24} /> : <Menu size={24} />} </button> </div> {mobileOpen && ( <div className="border-t border-border/50 bg-background/95 backdrop-blur-xl md:hidden"> <nav className="flex flex-col gap-1 px-6 py-4"> {navLinks.map((link) => ( <a key={link.href} href={link.href} className="rounded-md px-3 py-2 text-sm text-muted-foreground transition-colors hover:bg-secondary hover:text-foreground" onClick={() => setMobileOpen(false)} > {link.label} </a> ))} <Button size="sm" className="mt-2" asChild> <a href="#summarizer" onClick={() => setMobileOpen(false)}> Попробовать </a> </Button> </nav> </div> )} </header> ); }