11import { Button } from "@/components/ui/button" ;
2+ import {
3+ IconArrowRight ,
4+ IconBrandGithub ,
5+ IconCloudCode ,
6+ IconPlayerPlayFilled ,
7+ IconSparkles ,
8+ } from "@tabler/icons-react" ;
29import { Link } from "react-router-dom" ;
310
11+ const stats = [
12+ { value : "3" , label : "任务模式" } ,
13+ { value : "4" , label : "研发环节覆盖" } ,
14+ { value : "Git" , label : "协作链路接入" } ,
15+ ] ;
16+
417const Banner = ( ) => {
518 return (
6- < div className = "w-full px-6 sm:px-10 mt-48 sm:mt-56" >
7- < div className = "w-full max-w-[1200px] mx-auto flex flex-col gap-4" >
8- < h1 className = "text-balance text-5xl font-bold tracking-tight leading-tight" >
9- MonkeyCode — 免费的 AI 编程平台
10- </ h1 >
11- < p className = "text-base text-muted-foreground sm:text-lg leading-relaxed" >
12- 说需求,AI 写代码、做设计、做 Review。云开发环境开箱即用,基础版免费起步,专业版支持多模型自选与多任务并行。
13- </ p >
14- < div className = "flex flex-row gap-4" >
15- < Button size = "lg" asChild > < Link to = "/console/" > 开始使用</ Link > </ Button >
16- < Button size = "lg" variant = "secondary" asChild > < a href = "https://monkeycode.docs.baizhi.cloud/" target = "_blank" > 上手指南</ a > </ Button >
19+ < section className = "w-full px-6 pt-32 pb-14 sm:px-10 sm:pt-36 sm:pb-20" >
20+ < div className = "mx-auto grid w-full max-w-[1200px] gap-12 lg:grid-cols-[1.02fr_0.98fr] lg:items-center" >
21+ < div className = "flex flex-col gap-7" >
22+ < div className = "pixel-badge font-pixel inline-flex w-fit items-center gap-2 border-slate-900 bg-amber-100 px-3 py-2 text-[10px] text-slate-900" >
23+ < IconSparkles className = "size-3.5" />
24+ LEVEL 01
25+ </ div >
26+
27+ < div className = "flex flex-col gap-4" >
28+ < h1 className = "max-w-3xl text-balance text-4xl font-bold leading-tight tracking-tight text-slate-950 sm:text-5xl lg:text-6xl" >
29+ 让 AI 真正进入
30+ < span className = "block text-primary" > 研发交付流程</ span >
31+ </ h1 >
32+ < p className = "max-w-2xl text-base leading-8 text-slate-600 sm:text-lg" >
33+ MonkeyCode 不是只会补全代码的助手,而是一个能从需求理解、技术设计、编码实现到代码审查持续推进的 AI 工程师工作台。
34+ </ p >
35+ </ div >
36+
37+ < div className = "flex flex-col gap-3 sm:flex-row" >
38+ < Button size = "lg" className = "pixel-button h-12 border-slate-900 px-6" asChild >
39+ < Link to = "/console/" >
40+ 立即开始
41+ < IconArrowRight className = "size-4" />
42+ </ Link >
43+ </ Button >
44+ < Button size = "lg" variant = "secondary" className = "pixel-button h-12 border-slate-900 bg-white px-6 text-slate-900 hover:bg-slate-50" asChild >
45+ < a href = "https://monkeycode.docs.baizhi.cloud/" target = "_blank" rel = "noreferrer" >
46+ < IconPlayerPlayFilled className = "size-4" />
47+ 查看文档
48+ </ a >
49+ </ Button >
50+ </ div >
51+
52+ < div className = "grid gap-3 sm:grid-cols-3" >
53+ { stats . map ( ( item ) => (
54+ < div
55+ key = { item . label }
56+ className = "pixel-panel border-slate-900 bg-white px-5 py-4"
57+ >
58+ < div className = "font-terminal text-3xl leading-none text-slate-950" > { item . value } </ div >
59+ < div className = "mt-2 text-sm text-slate-500" > { item . label } </ div >
60+ </ div >
61+ ) ) }
62+ </ div >
63+
64+ < div className = "flex flex-wrap gap-3 text-sm text-slate-600" >
65+ < div className = "pixel-badge inline-flex items-center gap-2 border-slate-900 bg-white px-3 py-2" >
66+ < IconCloudCode className = "size-4 text-primary" />
67+ 独立云开发环境
68+ </ div >
69+ < div className = "pixel-badge inline-flex items-center gap-2 border-slate-900 bg-white px-3 py-2" >
70+ < IconBrandGithub className = "size-4 text-primary" />
71+ Git 协作可接入
72+ </ div >
73+ </ div >
74+ </ div >
75+
76+ < div className = "relative" >
77+ < div className = "absolute -left-6 top-10 hidden h-28 w-28 border-2 border-primary/25 bg-primary/8 lg:block" />
78+ < div className = "absolute right-2 bottom-6 hidden h-20 w-20 border-2 border-amber-300 bg-amber-100/70 lg:block" />
79+
80+ < div className = "pixel-panel pixel-grid border-slate-900 bg-[#fffdf8] p-3 sm:p-4" >
81+ < div className = "flex items-center justify-between border-2 border-slate-900 bg-slate-950 px-4 py-3 text-white" >
82+ < div className = "flex items-center gap-3" >
83+ < img src = "/logo-colored.png" className = "size-8 border border-white/15 bg-white p-1" alt = "MonkeyCode Logo" />
84+ < div >
85+ < div className = "font-pixel text-[10px] text-amber-200" > TASK RUNNING</ div >
86+ < div className = "mt-2 text-xs text-slate-300" > MonkeyCode Workspace</ div >
87+ </ div >
88+ </ div >
89+ < div className = "font-terminal text-2xl leading-none text-emerald-300" > ONLINE</ div >
90+ </ div >
91+
92+ < div className = "mt-4 border-2 border-slate-900 bg-slate-950 p-2" >
93+ < img
94+ src = "/task-1.png"
95+ alt = "MonkeyCode 任务执行界面"
96+ className = "w-full border border-white/10 object-cover"
97+ />
98+ </ div >
99+
100+ < div className = "mt-4 grid gap-3 sm:grid-cols-2" >
101+ < div className = "border-2 border-slate-900 bg-white px-4 py-4" >
102+ < div className = "font-pixel text-[10px] text-primary" > INPUT</ div >
103+ < p className = "mt-3 text-sm leading-7 text-slate-600" >
104+ 说需求,系统自动拆出执行上下文,不需要先把命令、环境和流程都自己接好。
105+ </ p >
106+ </ div >
107+ < div className = "border-2 border-slate-900 bg-amber-50 px-4 py-4" >
108+ < div className = "font-pixel text-[10px] text-primary" > OUTPUT</ div >
109+ < p className = "mt-3 text-sm leading-7 text-slate-600" >
110+ 代码、设计、Review 和 Git 协作回到同一个工作台,而不是散落在多个工具之间。
111+ </ p >
112+ </ div >
113+ </ div >
114+ </ div >
17115 </ div >
18116 </ div >
19- </ div >
20- )
21- }
117+ </ section >
118+ ) ;
119+ } ;
22120
23- export default Banner ;
121+ export default Banner ;
0 commit comments