Task: Build Creator Public Profile Page
Overview
Each creator needs a public profile fans can visit before subscribing. Build /creators/[handle] with profile header, bio, subscriber count, and subscribe CTA.
Goals
- Dynamic route:
/creators/[handle]
- Profile header: banner, avatar, handle, displayName, bio, category badge
- Subscribe button (logged-in fan) / Login prompt (guest)
- Posts section placeholder ("Posts coming soon" or mock list)
- 404 state for unknown handle
- Fetch from API when available; fallback to mock data map
Deliverables
app/creators/[handle]/page.tsx
components/creator/ProfileHeader.tsx, SubscribeButton.tsx
lib/api/creators.ts stub + mock fallback
- SEO metadata:
generateMetadata with creator displayName
Acceptance Criteria
- Valid handle renders profile; invalid shows 404 page
- Subscribe button disabled for own profile (if current user is creator)
- Guest sees login link instead of subscribe action
- Page responsive on mobile
- No layout shift on image load (aspect-ratio placeholders)
Task: Build Creator Public Profile Page
Overview
Each creator needs a public profile fans can visit before subscribing. Build
/creators/[handle]with profile header, bio, subscriber count, and subscribe CTA.Goals
/creators/[handle]Deliverables
app/creators/[handle]/page.tsxcomponents/creator/ProfileHeader.tsx,SubscribeButton.tsxlib/api/creators.tsstub + mock fallbackgenerateMetadatawith creator displayNameAcceptance Criteria