/** * Header.jsx — 交互式顶栏(React island,@astrojs/react 渲染 + 水合)。 * 迁自 design/ui_kits/website/index.html 的
+ site.js 的菜单/滚动毛玻璃逻辑。 * 语言切换由原型的 JS 文本替换改为「路由跳转」(zh=/, en=/en/),单显不并排(铁律 6)。 */ import { useEffect, useState } from 'react'; import { Download, Menu } from 'lucide-react'; import { SITE } from '../config/site'; function Mark() { return ( ); } export default function Header({ lang = 'zh', t = {} }) { const [open, setOpen] = useState(false); const [scrolled, setScrolled] = useState(false); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 8); onScroll(); window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, []); const nav = [ ['#product', t.product], ['#pricing', t.pricing], ['#download', t.download], ['#docs', t.docs], ]; // 6 语言:默认 en=/,其余 //。段控横排会挤,用原生下拉。 const langs = [ ['en', 'English'], ['zh', '中文'], ['ja', '日本語'], ['ko', '한국어'], ['ru', 'Русский'], ['es', 'Español'], ]; const langHref = (l) => (l === 'en' ? '/' : `/${l}/`); return (
穿山甲
{t.login} {t.get}
); }