73e7d5004c6337de03a71c67b9f072360bd930ea
맥락: - /space에서 실수 이탈을 줄이면서도 명확한 탈출 동선을 유지하기 위해 나가기 액션을 1초 롱프레스 방식으로 변경 변경사항: - features/exit-hold 추가(useHoldToConfirm, ExitHoldButton) - 1초 롱프레스와 가속 진행 규칙(0.05초 -> 20%)을 feature 내부에 구현 - 몰입 OFF에서는 bar(좌->우 fill), 몰입 ON에서는 ring 진행 표시로 분기 - 1초 미만 해제/마우스 leave/touch cancel 시 진행률 즉시 리셋 - 완료 시 나가기(더미) 토스트 + 몰입 모드 OFF 동작 연결 - docs/90_current_state.md, docs/session_brief.md 상태 업데이트 검증: - npx tsc --noEmit 세션-상태: 상단 나가기 액션은 롱프레스 완료 시에만 트리거됨 세션-다음: 롱프레스 인터랙션 인지성 보완용 힌트 카피 도입 여부 검토 세션-리스크: 터치 환경에서 롱프레스 UI 의도를 즉시 이해하지 못할 가능성 있음
VibeRoom Web
Next.js(App Router) + TypeScript + TailwindCSS 기반 VibeRoom 프론트엔드입니다.
실행 방법
npm install
npm run dev
브라우저에서 http://localhost:3000 접속
주요 라우트
/: Landing 페이지 (src/app/(landing)/page.tsx)/app: 가상공간 입장 허브/space: 집중공간 스켈레톤/stats: 집중 통계 목업/settings: 설정 목업/login: 로그인
구조
FSD 스타일로 src/ 하위 레이어를 사용합니다.
src/entities: room/user/session 타입 + 더미 데이터src/features: room-select/check-in/reactions/custom-entry-modal/profile-menu/distraction-dumpsrc/widgets: 페이지 섹션 단위 UI (TopBar, StartRitual, RoomsGallery, SpaceShell 등)src/shared: 공용 UI, 유틸, 설정src/app: App Router 페이지 조합
구현 범위
이번 변경은 UI 목업 중심입니다.
- 타이머 카운트다운/오디오 재생/실시간/DB 저장/API 호출 미구현
- 선택 하이라이트, 패널 토글, 모달 탭, 드롭다운, 라우팅, 토스트만 구현
문서(작업 재개용)
세션이 끊겨도 같은 품질로 이어서 작업하려면 아래 문서를 먼저 확인합니다.
docs/README.mddocs/00_project_brief.mddocs/01_ui_guidelines.mddocs/02_arch_fsd_rules.mddocs/03_routes_map.mddocs/90_current_state.md
Description
Languages
TypeScript
92.8%
CSS
6.7%
Shell
0.3%
JavaScript
0.2%