-
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
landing-pageLanding page project tasksLanding page project taskspriority:shouldShould Have - 중요하지만 필수는 아님Should Have - 중요하지만 필수는 아님refactorsub-issue상위 이슈의 하위 작업상위 이슈의 하위 작업
Description
Parent Issue
- refactor(landing-page): Migrate to WSA (Widget-Slot Architecture) #660 Migrate to WSA (Widget-Slot Architecture)
Task
Update layout.tsx to follow WSA's Static Shell principle and minimize page.tsx.
TODO
layout.tsx Changes
- Remove
CTAFooterimport and rendering - Add 5 new slot props to
LocaleLayoutProps:hero,before_after,features,supported_tools,cta_footer - Arrange slots in order inside
<main>:{hero} → {children} → {before_after} → {features} → {supported_tools} → {agents} → {quick_start} → {cta_footer} - Verify no business logic remains in Layout (Static Shell principle)
page.tsx Changes
- Remove Hero, BeforeAfter, Features, SupportedTools imports and rendering
- Minimize page.tsx to empty container or null return
WSA Principle 1: Separation of Concerns
"Layouts provide only the structural framework and contain no complex interactions."
layout.tsx should only contain:
- HTML structure (
<html>,<body>) - Fonts, theme providers
- Skip to content link
- Slot placement order
- Metadata logic (generateMetadata)
Acceptance Criteria
- No
sections/imports in layout.tsx - No business components (CTAFooter, etc.) rendered directly in layout.tsx
- No section components rendered directly in page.tsx
- All 7 slots placed in correct order in layout.tsx
- Typecheck and build pass
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
landing-pageLanding page project tasksLanding page project taskspriority:shouldShould Have - 중요하지만 필수는 아님Should Have - 중요하지만 필수는 아님refactorsub-issue상위 이슈의 하위 작업상위 이슈의 하위 작업