1+ // @ai -context
2+ // 功能总览页主体:六大认知模块卡片墙,深潜已上线可点入详情,其余标注建设中。
3+ // Features overview: six module cards, dive is live, others under construction.
4+ "use client" ;
5+
6+ import Link from "next/link" ;
7+ import { GlowOrb } from "@/components/GlowOrb" ;
8+ import { SectionReveal } from "@/components/SectionReveal" ;
9+
10+ const MODULES = [
11+ { name : "深潜" , origin : "番茄钟" , desc : "切断海面噪音,潜入零干扰的心流深海。" , href : "/features/dive" , ready : true , color : "var(--kb-focus-blue)" } ,
12+ { name : "结礁" , origin : "智能笔记" , desc : "将漂浮的碎片,沉淀为坚实的认知暗礁。" , href : "/download" , ready : false , color : "var(--kb-brand-400)" } ,
13+ { name : "回声定位" , origin : "课堂助手" , desc : "捕捉深海回声,打捞暗流中的知识暗物质。" , href : "/download" , ready : false , color : "var(--kb-cyber-cyan)" } ,
14+ { name : "反衰减呼吸" , origin : "闪卡复习" , desc : "规律吐纳,让记忆在深海高压下依然鲜活。" , href : "/download" , ready : false , color : "var(--kb-moss-green)" } ,
15+ { name : "浮出水面" , origin : "费曼学习法" , desc : "向世界呼出你的理解。雾散了,轮廓就清晰了。" , href : "/download" , ready : false , color : "var(--kb-amber)" } ,
16+ { name : "萤火海沟" , origin : "灵感空间" , desc : "安放微光,它们终将照亮整片深域。" , href : "/download" , ready : false , color : "var(--kb-accent-400)" } ,
17+ ] ;
18+
19+ export function FeaturesPage ( ) {
20+ return (
21+ < div className = "pt-36 pb-8" >
22+ < header className = "text-center px-6 mb-16 relative" >
23+ < GlowOrb count = { 10 } className = "opacity-40" />
24+ < SectionReveal >
25+ < p className = "text-sm tracking-[0.35em] text-kb-text3 uppercase mb-5" > Features</ p >
26+ < h1 className = "font-serif text-4xl sm:text-5xl font-bold text-kb-text mb-5" > 六大认知模块</ h1 >
27+ < p className = "text-kb-text2 max-w-md mx-auto leading-relaxed" >
28+ 学、记、练、悟、思——完整的学习闭环,每一个模块都是对抗熵增的武器。
29+ </ p >
30+ </ SectionReveal >
31+ </ header >
32+
33+ < section className = "max-w-5xl mx-auto px-6" >
34+ < div className = "grid sm:grid-cols-2 lg:grid-cols-3 gap-5" >
35+ { MODULES . map ( ( m , i ) => (
36+ < SectionReveal key = { m . name } delay = { i * 0.08 } >
37+ < Link
38+ href = { m . href }
39+ className = "group relative block rounded-3xl p-7 h-full transition-all duration-500 hover:-translate-y-1"
40+ style = { {
41+ background : "var(--kb-bg-elevated)" ,
42+ border : "1px solid var(--kb-glass-border)" ,
43+ boxShadow : "var(--kb-shadow-card)" ,
44+ } }
45+ >
46+ < div className = "flex items-center gap-3 mb-4" >
47+ < span
48+ className = "w-3 h-3 rounded-full transition-shadow duration-500 group-hover:shadow-[0_0_12px_4px_var(--kb-glow-2)]"
49+ style = { { background : m . color , boxShadow : `0 0 8px 2px ${ m . color } 44` } }
50+ />
51+ < h3 className = "font-serif text-lg font-semibold text-kb-text" > { m . name } </ h3 >
52+ < span
53+ className = "ml-auto text-xs text-kb-text3 px-2.5 py-1 rounded-lg"
54+ style = { { background : "var(--kb-bg-tertiary)" } }
55+ >
56+ { m . origin }
57+ </ span >
58+ </ div >
59+ < p className = "text-sm text-kb-text2 leading-relaxed" > { m . desc } </ p >
60+ { ! m . ready && (
61+ < span
62+ className = "inline-block mt-4 text-[10px] px-2 py-0.5 rounded-md text-kb-text3"
63+ style = { { background : "var(--kb-bg-tertiary)" } }
64+ >
65+ 建设中 · 敬请期待
66+ </ span >
67+ ) }
68+ </ Link >
69+ </ SectionReveal >
70+ ) ) }
71+ </ div >
72+ </ section >
73+ </ div >
74+ ) ;
75+ }
0 commit comments