Skip to content

Home as drafts hub, camera close UX, light/dark mode, upload destination#287

Merged
morepriyam merged 3 commits intomainfrom
feature/home-drafts-and-camera-ux
Feb 4, 2026
Merged

Home as drafts hub, camera close UX, light/dark mode, upload destination#287
morepriyam merged 3 commits intomainfrom
feature/home-drafts-and-camera-ux

Conversation

@morepriyam
Copy link
Copy Markdown
Collaborator

@morepriyam morepriyam commented Feb 4, 2026

Closes #275 (Refactor welcome screen – plus = new pulse, welcome = list of drafts)
Closes #209 (Enhance landing page – show drafts on main page, option to make new one)
IMG_0268IMG_0269

https://youtube.com/shorts/D43Z9nYwx2s?si=D_t72uLUvwaSa6xx

Summary

  • Home is the single place for all drafts: list, open, import, export. Shorts/Drafts navigation removed from camera.
  • + button always opens camera with a new draft (no auto-load of last draft).
  • Close on camera/shorts is a single action (no Start New / Start Over / Close menu). In upload mode, close goes to home (tabs) so users don’t land on a white screen after a QR deeplink.
  • Home supports light/dark mode and shows upload destination (full server URL) for upload drafts. Export is shown only when there are drafts.

Changes

Navigation & layout

  • app/(camera)/_layout.tsx: Remove Shorts/Drafts bottom nav; camera stack only shows shorts screen.
  • app/(camera)/drafts.tsx: Removed; drafts list and import/export live on home.

Draft behavior

  • hooks/useDraftManager.ts: When draftId is not passed, do not load last modified draft; start with an empty draft and no redo stack. QR/deeplink flow (with draftId) unchanged.

Close button

  • components/CloseButton.tsx, components/UploadCloseButton.tsx: Single close action only (onClose); no modal with Start New / Start Over / Close.
  • app/(camera)/shorts.tsx: Close runs handleClose() then, in upload mode, router.replace("/(tabs)") (avoids white screen after QR); in camera mode, router.back().

Home (tabs/index)

  • app/(tabs)/index.tsx: Full drafts list, Import, Export (only when drafts exist), open draft → camera/shorts with draftId and mode. Light/dark theme via Colors (surface, border, secondaryText, selection, inputBackground). Delete uses MaterialIcons delete-outline. Upload drafts show link icon + full server URL below segment/timestamp. Export button only when drafts.length > 0.
  • constants/Colors.ts: Add surface, border, secondaryText, inputBackground, selection for light and dark.

Testing

  • Open app → home shows drafts (or empty state). Tap + → camera with new draft. Close → back to home.
  • Tap a draft on home → shorts opens with that draft. Close → back to home.
  • Scan QR (upload deeplink) → shorts opens with draft. Close → home (no white screen).
  • Toggle device light/dark → home and draft list follow theme.
  • With no drafts, only Import is shown; with drafts, Export appears.

morepriyam and others added 3 commits February 4, 2026 17:18
…stination

- Move all drafts to home: Welcome to Pulse shows draft list, Import, Export
- Remove Shorts/Drafts nav from camera; + opens camera with new draft every time
- No auto-load last draft when opening camera without draftId (useDraftManager)
- Close button: single action (no Start New/Start Over/Close menu); upload mode
  closes to (tabs) to avoid white screen after QR deeplink
- Home: light/dark mode (Colors surface/border/secondaryText/selection), delete
  icon (MaterialIcons delete-outline), upload drafts show full server URL below
  segment/timestamp; Export only when drafts exist
- Remove (camera)/drafts.tsx; simplify CloseButton and UploadCloseButton to
  onClose only

Co-authored-by: Cursor <cursoragent@cursor.com>
@morepriyam morepriyam merged commit e439cbe into main Feb 4, 2026
6 checks passed
morepriyam added a commit that referenced this pull request Feb 4, 2026
…stination (#287)

- Move all drafts to home: Welcome to Pulse shows draft list, Import, Export
- Remove Shorts/Drafts nav from camera; + opens camera with new draft every time
- No auto-load last draft when opening camera without draftId (useDraftManager)
- Close button: single action (no Start New/Start Over/Close menu); upload mode
  closes to (tabs) to avoid white screen after QR deeplink
- Home: light/dark mode (Colors surface/border/secondaryText/selection), delete
  icon (MaterialIcons delete-outline), upload drafts show full server URL below
  segment/timestamp; Export only when drafts exist
- Remove (camera)/drafts.tsx; simplify CloseButton and UploadCloseButton to
  onClose only
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refector welcome screen Enhance landing page

1 participant