Files
oh-my-opencode/packages/web/app/[locale]/manifesto/page.tsx
T
YeonGyu-Kim 022eb78440 refactor(web): decompose 358-LOC manifesto into 9 section components
app/[locale]/manifesto/page.tsx: 358 LOC -> 22-LOC composition shell.

components/manifesto/sections/:
- hero.tsx
- pain-points.tsx
- indistinguishable.tsx (the 'AI vs senior engineer' argument)
- token-cost.tsx
- cognitive-load.tsx
- principles.tsx
- core-loop.tsx
- future.tsx
- final-cta.tsx

Each section 26-68 LOC. Copy unchanged; section order unchanged.
Same i18n namespace ('manifesto'). Renders identically to baseline
in all 4 locales (en/ko/ja/zh).
2026-05-20 14:27:02 +09:00

30 lines
1.3 KiB
TypeScript

import type { JSX } from "react"
import { HeroSection } from "@/components/manifesto/sections/hero"
import { PainPointsSection } from "@/components/manifesto/sections/pain-points"
import { IndistinguishableSection } from "@/components/manifesto/sections/indistinguishable"
import { TokenCostSection } from "@/components/manifesto/sections/token-cost"
import { CognitiveLoadSection } from "@/components/manifesto/sections/cognitive-load"
import { PrinciplesSection } from "@/components/manifesto/sections/principles"
import { CoreLoopSection } from "@/components/manifesto/sections/core-loop"
import { FutureSection } from "@/components/manifesto/sections/future"
import { FinalCtaSection } from "@/components/manifesto/sections/final-cta"
import { Separator } from "@/components/ui/separator"
export default async function ManifestoPage(): Promise<JSX.Element> {
return (
<main className="bg-background text-foreground min-h-screen overflow-x-hidden">
<HeroSection />
<PainPointsSection />
<Separator className="mx-auto max-w-4xl opacity-20" />
<IndistinguishableSection />
<TokenCostSection />
<CognitiveLoadSection />
<PrinciplesSection />
<Separator className="mx-auto max-w-4xl opacity-20" />
<CoreLoopSection />
<FutureSection />
<FinalCtaSection />
</main>
)
}