Skip to content

feat(main): 메인페이지 섹션 데이터 — editorial 기반 연결 완성 #39

@thxforall

Description

@thxforall

개요

메인페이지 각 섹션에 실제 editorial 기반 데이터를 연결하여 완성도 높이기.

담당: @thxforall
Epic: #35

현재 상태 (구현된 것)

메인페이지 9개 섹션 모두 구현됨 (packages/web/app/page.tsx):

  1. HeroItemSync — DecodedPick + WhatsNew + ArtistSpotlight + WeeklyBest 순서로 hero 로테이션 ✅
  2. DecodeShowcase — spot 2개 이상 + solution 있는 post에서 AI 감지 쇼케이스 ✅
  3. Editorial + Trending — EditorialSection + TrendingListSection 콤보 ✅
  4. EditorialMagazine — 가로 스크롤 카드 (Spotlight + WhatsNew + WeeklyBest 블렌딩) ✅
  5. VirtualTryOnTeaser — bestItems 기반 Before/After ✅
  6. MasonryGrid — weeklyBest 기반 DECODED PICKS ✅
  7. ForYou — 로그인 사용자만 표시, 개인화 피드 ✅
  8. CommunityLeaderboard — users.total_points 기반 ✅
  9. DomeGallerySection — trending + weeklyBest 이미지 ✅

필요한 작업

  • 데이터 품질 검증: 현재 Supabase에 editorial 기준 충족하는 post가 충분한지 확인
    • spot 4개+ / solution 1개+ 기준 post 수 확인
    • 이미지 없는 post 필터링 상태 점검
  • Hero 섹션: editorial 승격된 post 우선 노출 로직
    • 현재 fetchDecodedPickServer() → editorial 기준 post만 가져오도록 쿼리 업데이트
  • DecodeShowcase: spot 4개 이상 기준으로 필터 강화 (현재 2개)
    • page.tsx:353-357(s.spots ?? []).length >= 2>= 4로 변경 검토
  • EditorialMagazine: editorial 승격 post만 표시
  • 빈 데이터 fallback UI 개선 (데이터 없을 때 빈 섹션 숨김 또는 placeholder)

참고 파일

  • packages/web/app/page.tsx — 메인페이지 전체
  • packages/web/lib/supabase/queries/main-page.server.ts — 서버 쿼리
  • packages/web/lib/supabase/queries/personalization.server.ts — 개인화
  • packages/web/lib/components/main-renewal/ — 섹션 컴포넌트
  • packages/web/lib/components/main/ — 기존 섹션 컴포넌트

Metadata

Metadata

Assignees

Labels

frontend프론트엔드priority: critical서비스 오픈 전 필수 해결release: phase-11차 릴리즈 (4/5) — 코어 기능

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions