Commit Graph

4447 Commits

Author SHA1 Message Date
Chad Curtis dc7f3fa568 Reapply "fix: use usePlayerControls in LiveStreamPlayer, mirror VideoPlayer click/controls logic"
This reverts commit 340fdfda04.
2026-03-03 06:30:09 -06:00
Chad Curtis 340fdfda04 Revert "fix: use usePlayerControls in LiveStreamPlayer, mirror VideoPlayer click/controls logic"
This reverts commit 532dccc599.
2026-03-03 06:29:27 -06:00
Chad Curtis 532dccc599 fix: use usePlayerControls in LiveStreamPlayer, mirror VideoPlayer click/controls logic 2026-03-03 06:27:49 -06:00
Chad Curtis f102f5374a fix: align LiveStreamPlayer volume controls with VideoPlayer 2026-03-03 06:23:09 -06:00
Chad Curtis 600841705f fix: populate OS media controls with event image, title, and artist at all player call sites 2026-03-03 06:13:47 -06:00
Chad Curtis be89f36326 feat: sync native status bar icons and background color with active theme on Android/iOS 2026-03-03 06:03:37 -06:00
Chad Curtis aa04754c77 feat: wire Media Session API to video/livestream players and fix OS scrubber; hide mini-bar on mobile 2026-03-03 05:57:57 -06:00
Chad Curtis 62c8ebe9a1 fix: tighten mobile spacing on live stream page to give chat more vertical room 2026-03-03 05:52:43 -06:00
Chad Curtis b200d5a84d fix: account for safe-area-inset-bottom in live stream chat height on PWA/APK 2026-03-03 05:51:02 -06:00
Chad Curtis 696e0f6e5f fix: fall back to / when back button has no history to return to 2026-03-03 05:48:51 -06:00
Chad Curtis 8032ac585d Use StickyNote icon for view post details menu item 2026-03-03 05:46:24 -06:00
Chad Curtis fc7f6a45c1 Add 'View post details' option to NoteMoreMenu 2026-03-03 05:43:29 -06:00
Chad Curtis e82c4642c9 Portal HoverCardContent to document body so it escapes overflow-hidden containers 2026-03-03 05:42:08 -06:00
Chad Curtis 8ac5dcad41 Show 'No replies yet' for kind 1 events in CommentsSheet empty state 2026-03-03 05:40:51 -06:00
Chad Curtis ad55861708 Open CommentsSheet for kind 1 events in gallery lightbox instead of navigating away 2026-03-03 05:39:47 -06:00
Chad Curtis d13c98a7d0 Convert media type and platform filters from radio groups to dropdowns 2026-03-03 05:22:55 -06:00
Chad Curtis c337e47214 Add 'Add' dropdown to sidebar edit mode for adding new sections 2026-03-03 05:20:54 -06:00
Chad Curtis ab01acb44f Move event kind filter above 'show posts from' in search filters 2026-03-03 05:15:53 -06:00
Chad Curtis 51cd385284 Add kind filter dropdown with icons to search filters popover 2026-03-03 05:15:02 -06:00
Chad Curtis a0da63591a fix: preserve background when re-selecting user theme from dropdown 2026-03-03 05:09:32 -06:00
Chad Curtis 658b7a2253 fix: restore custom theme when clicking Custom in theme dropdown 2026-03-03 05:04:26 -06:00
Chad Curtis fa0a88cc02 fix: preserve custom background when switching away from custom theme 2026-03-03 05:00:24 -06:00
Chad Curtis 57bf09a701 fix: match profile feed opacity to main feed 2026-03-03 04:58:02 -06:00
Chad Curtis 24307b9e9f Replace margin with padding on sticky page headers 2026-03-03 04:45:59 -06:00
Chad Curtis aa6dc754ff fix: update Feed settings description to distinguish from Content 2026-03-03 04:39:57 -06:00
Chad Curtis e14312bf1e Revert "feat: add lead image and updated description to Feed settings page"
This reverts commit 01c229add7.
2026-03-03 04:39:19 -06:00
Chad Curtis 01c229add7 feat: add lead image and updated description to Feed settings page 2026-03-03 04:38:38 -06:00
Chad Curtis 99704fed7f feat: rename Content to Feed, add Content settings page with muted/sensitive/theme prefs 2026-03-03 04:37:29 -06:00
Chad Curtis dee47c0907 fix: prevent bare dot from triggering NIP-05 redirect in search 2026-03-03 04:33:10 -06:00
Chad Curtis 3801b007e8 fix: sync lightbox index when sidebar opens media while tab is already active
When the media tab was already mounted, clicking a media item in the sidebar
set sidebarMediaUrl (initialOpenUrl) but flatIndex state didn't update because
useState only uses its initial value at mount time. Add a useEffect to sync
flatIndex whenever initialIndex (derived from initialOpenUrl) changes.
2026-03-03 01:49:29 -06:00
Chad Curtis 984fc2d869 Unify following-tab empty states with shared FeedEmptyState component 2026-03-03 01:42:57 -06:00
Chad Curtis bb55743ceb Fix mobile live stream layout: full-width video, scrollable chat
- Make main a flex container on mobile so chat flex-1 works correctly
- Add overflow-hidden to chat wrapper to complete flex scroll chain
- Remove horizontal padding and border-radius from video on mobile
- Apply xl:rounded-2xl to player component (main and error states)
2026-03-03 01:32:31 -06:00
Chad Curtis 4961cac19d fix: profile right sidebar persisting after navigation
The cleanup guard in useLayoutOptions compared store.getSnapshot() (a LayoutSnapshot spread copy) against prev.current (the original LayoutOptions reference), which are always different objects. The guard was never true, so store.reset() never fired on unmount and the ProfileRightSidebar leaked to other pages. Added getOptions() to expose the raw options reference for a correct identity comparison.
2026-03-03 01:21:02 -06:00
Chad Curtis 7f26bebc8d fix(fab): use fixed positioning so FAB hovers above nav bar regardless of scroll 2026-03-03 01:17:03 -06:00
Chad Curtis 6310c2d6bf fix(settings): scope min-h-screen to SettingsPage only, not shared layout 2026-03-03 01:15:11 -06:00
Chad Curtis a79bb72a23 fix(settings): stretch settings page to fill full remaining container height 2026-03-03 01:13:48 -06:00
Chad Curtis 0ab4d8faef fix(vines): hold thumbnail until video ready, add buffering spinner, hide UI until canplay 2026-03-03 01:11:17 -06:00
Chad Curtis 037b2ab16a Make client tag a link when value is a valid hostname 2026-03-03 01:07:10 -06:00
Chad Curtis aea1151537 Improve emoji reactions UX
- Resize reaction emojis to h-4 w-4 in stats row and reaction button
- Fix vertical alignment of emojis using inline-flex and leading-none
- Split reposts/quotes into separate stat buttons each opening correct tab
- Fix interactions modal tab sync when already open
- Un-react by clicking emoji button on already-reacted post
- Disable hover-to-open picker when already reacted
- Remove gap between triple emojis in stats row, suppress underline on hover
- Make client tag a link when value is a valid hostname
2026-03-03 01:06:29 -06:00
Chad Curtis b23a7b07f0 optimistically bump reply count after posting a comment 2026-03-03 00:48:12 -06:00
Chad Curtis 64c9936014 fix vine comments and toast visibility
- ComposeBox: invalidate the correct 'event-comments' cache key after
  posting a NIP-22 comment so CommentsSheet refreshes immediately
- toast: raise z-index to 300 so it renders above the CommentsSheet
  backdrop blur (which sits at z-200)
2026-03-03 00:45:31 -06:00
Chad Curtis 09271be935 add VineRepostButton: tap to repost/unrepost directly on vine
Replace RepostMenu popover with a dedicated VineRepostButton that works
like VineHeartButton — single tap to repost, tap again to undo — with
optimistic cache updates so the button color changes immediately.

The popover menu was invisible on the dark fullscreen video background
and provided no visible confirmation of the action.
2026-03-03 00:39:54 -06:00
Chad Curtis 530f5b4d0d fix vine reactions and kind 16 repost for addressable events
- VineHeartButton: add optimistic cache updates and query invalidation on
  reaction so the heart fills and count increments immediately without
  a page refresh
- RepostMenu: include NIP-18 'a' tag (kind:pubkey:d-tag) when reposting
  addressable events (30000–39999) so kind 16 events are properly linked
  back to the original vine
2026-03-03 00:36:55 -06:00
Chad Curtis 2ecd89b368 add pinch/wheel zoom and pan to lightbox images with double-tap to zoom 2026-03-03 00:15:28 -06:00
Chad Curtis 1a2489455f clean up lightbox pagination: sentinel URL approach removes hasMore/springBackRef props 2026-03-03 00:12:10 -06:00
Chad Curtis 1bcdbd4b12 auto-advance lightbox when page loads, spring back only if fetch yields no new items 2026-03-03 00:08:56 -06:00
Chad Curtis c715d53903 swipe past last media item shows loading slot and triggers pagination 2026-03-03 00:05:33 -06:00
Chad Curtis efa0955ed2 trigger pagination from lightbox on photos feed page 2026-03-03 00:00:58 -06:00
Chad Curtis 609cddab1e trigger media pagination when lightbox reaches last item 2026-03-02 23:59:59 -06:00
Chad Curtis 39bf5915fc fix lightbox spinner persisting after swipe by tracking loaded state per URL 2026-03-02 23:57:18 -06:00