feat(app-hub): 씬 중심 허브 화면으로 전면 리빌드

맥락:
- /app 첫 화면의 정보량이 많아 LifeAt/Portal 같은 몰입형 경험과 거리가 있었습니다.
- Start, 공간 선택, 메모 진입을 점진 노출 구조로 재정렬할 필요가 있었습니다.

변경사항:
- AppHub를 데스크톱 2열(컨트롤/씬) 구조와 모바일 스택 구조로 재편했습니다.
- Start CTA를 컴팩트 위계로 정리하고 커스텀 액션을 2순위 텍스트형으로 유지했습니다.
- Room 영역을 선택 Hero 1개 + 추천 썸네일 스트립 + 더보기 시트 구조로 전면 변경했습니다.
- 최근 생각은 단일 진입점 + 인박스 시트로 통합하고 localStorage 기반 thought inbox를 추가했습니다.
- /space 종료 동선에 세션 요약 시트(최근 메모 3개)를 연결해 허브 복귀 흐름을 정리했습니다.
- AppHub 기본 비주얼 모드를 cinematic으로 고정하고 배경 오버레이를 가독성 중심으로 재조정했습니다.

검증:
- npx tsc --noEmit
- npm run build

세션-상태: 씬 중심 허브 리빌드와 메모/시트 기반 점진 노출 구조 반영 완료
세션-다음: 실제 사용자 테스트 후 카드/텍스트 밀도 미세 조정
세션-리스크: 실디바이스 대비(특히 저사양 모바일)에서 배경/블러 렌더링 비용 확인 필요
This commit is contained in:
2026-03-01 20:06:57 +09:00
parent 85488f542e
commit 47e80e59d2
20 changed files with 1034 additions and 131 deletions

View File

@@ -2,6 +2,7 @@ import type {
CheckInPhrase,
FocusStatCard,
GoalChip,
RecentThought,
ReactionOption,
SoundPreset,
TimerPreset,
@@ -66,3 +67,30 @@ export const WEEKLY_STATS: FocusStatCard[] = [
{ id: 'week-best-day', label: '최고 몰입일', value: '수요일', delta: '3h 30m' },
{ id: 'week-consistency', label: '연속 달성', value: '4일', delta: '+1일' },
];
export const RECENT_THOUGHTS: RecentThought[] = [
{
id: 'thought-1',
text: '내일 미팅 전에 제안서 첫 문단만 다시 다듬기',
roomName: '도서관',
capturedAt: '방금 전',
},
{
id: 'thought-2',
text: '기획 문서의 핵심 흐름을 한 문장으로 정리해두기',
roomName: '비 오는 창가',
capturedAt: '24분 전',
},
{
id: 'thought-3',
text: '오후에 확인할 이슈 번호만 메모하고 지금 작업 복귀',
roomName: '숲',
capturedAt: '1시간 전',
},
{
id: 'thought-4',
text: '리뷰 코멘트는 오늘 17시 이후에 한 번에 처리',
roomName: '벽난로',
capturedAt: '어제',
},
];