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:
@@ -20,6 +20,7 @@ interface SpaceToolsDockWidgetProps {
|
||||
initialSoundPresetId?: string;
|
||||
isImmersionMode: boolean;
|
||||
onToggleImmersionMode: () => void;
|
||||
onThoughtCaptured?: (note: string) => void;
|
||||
}
|
||||
|
||||
const TOOL_BUTTONS: Array<{
|
||||
@@ -40,6 +41,7 @@ export const SpaceToolsDockWidget = ({
|
||||
initialSoundPresetId,
|
||||
isImmersionMode,
|
||||
onToggleImmersionMode,
|
||||
onThoughtCaptured,
|
||||
}: SpaceToolsDockWidgetProps) => {
|
||||
const { pushToast } = useToast();
|
||||
const { lastCheckIn, recordCheckIn } = useCheckIn();
|
||||
@@ -183,7 +185,10 @@ export const SpaceToolsDockWidget = ({
|
||||
{activePanel === 'notes' ? (
|
||||
<NotesSheetWidget
|
||||
onClose={handleClosePanel}
|
||||
onNoteAdded={(note) => pushToast({ title: `노트 추가: ${note}` })}
|
||||
onNoteAdded={(note) => {
|
||||
pushToast({ title: `노트 추가: ${note}` });
|
||||
onThoughtCaptured?.(note);
|
||||
}}
|
||||
onNoteRemoved={() => pushToast({ title: '노트를 정리했어요' })}
|
||||
/>
|
||||
) : null}
|
||||
|
||||
Reference in New Issue
Block a user