"use client"; import { useState } from "react"; import { Link, useTranslation, useRouter } from "@/i18n/navigation"; import { useAuthAndVip } from "@/app/lib/useAuthAndVip"; import AuthModal from "@/app/components/AuthModal"; const days = [ { day: 1, icon: "👋", color: "bg-sky-500" }, { day: 2, icon: "💡", color: "bg-cyan-500" }, { day: 3, icon: "💰", color: "bg-teal-500" }, { day: 4, icon: "🛠️", color: "bg-emerald-500" }, { day: 5, icon: "📋", color: "bg-amber-500" }, { day: 6, icon: "🗺️", color: "bg-orange-500" }, { day: 7, icon: "🚀", color: "bg-rose-500" }, ]; export default function Roadmap() { const { t } = useTranslation("roadmap"); const router = useRouter(); const { user, vip, loading, refetch } = useAuthAndVip(); const [authOpen, setAuthOpen] = useState(false); return (

{t("title")} {t("titleHighlight")}

{t("subtitle")}

{/* 7天入门文档 - 独立区块 */}

{t("daysSection")}

{days.map((d) => (
DAY {d.day}
{d.icon}

{t(`days.${d.day}.title`)}

{t(`days.${d.day}.desc`)}

{t("viewDetails")} ))}
{/* 电子书 + 实战课 - 平级展示 */}

{t("productsSection")}

📖

{t("ebook.title")}

{t("ebook.desc")}

{t("ebook.cta")}
setAuthOpen(false)} onSuccess={async () => { setAuthOpen(false); const { vip: isVip } = await refetch(); router.replace(isVip ? "/course" : "/join"); }} />
); }