Commit Graph

15 Commits

Author SHA1 Message Date
Chad Curtis 582f92b208 Increase FAB plus icon stroke width 2026-02-24 22:41:59 -06:00
Alex Gleason 4fa5e391c7 Add floating compose button (+) to center column on all feed pages
- FloatingComposeButton accepts kind prop: kind=1 opens compose dialog, others show 'Coming soon'
- FAB positioned sticky bottom-right within center column (visible on all screen sizes)
- Center column gets bottom padding (pb-24) to account for FAB obstruction
- LayoutContext extended with fabKind option passed through layout system
- Home feed uses kind=1, KindFeedPage passes its kind, StreamsFeedPage uses 30311
2026-02-24 19:11:42 -06:00
Mary Kate Fain 5a569c3ddd Remove floating Join button on mobile when logged out
The FloatingComposeButton now returns null for logged-out users,
removing the floating Join CTA from mobile. The topbar Join and
other login CTAs are unchanged.
2026-02-23 14:16:52 -06:00
Chad Curtis 1d967b98d0 Integrate signup into onboarding flow, replace SignupDialog
Sign up now triggers the full onboarding overlay instead of a dialog.
The flow starts with keygen -> download key (logs in) -> profile setup
(kind 0) -> then continues with the existing settings questionnaire
(theme, content, safety, follows, outro).

Added OnboardingContext with useOnboarding().startSignup() hook so any
component can trigger the signup flow. Updated LoginArea, Feed,
LeftSidebar, and FloatingComposeButton to use it instead of
SignupDialog. SignupDialog is no longer imported by any component.
2026-02-20 22:18:51 -06:00
shakespeare.diy d248e46139 Fix username truncation and safe area issues
- Created getDisplayName utility to DRY up display name logic with automatic truncation
- Updated NoteCard and PostDetailPage to use getDisplayName utility
- Fixed top bar positioning in Capacitor APK with proper safe area insets
- Fixed FAB positioning to sit above bottom nav with safe area compensation
- Added safe-area-inset utilities for better mobile positioning control

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-19 07:27:04 -06:00
shakespeare.diy a8a60307b3 Add signup dialog link to floating compose button login flow
- Wire up onSignupClick callback to show SignupDialog from LoginDialog
- Maintains DRY principle by reusing existing SignupDialog component
- Users can now access "Create account" link from the login modal

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-18 21:00:20 -06:00
shakespeare.diy e850c315ad Hide notifications when logged out and make join FAB open login modal
- Hide notification nav item in left sidebar when user is logged out
- Hide notification tab in mobile bottom nav when user is logged out
- Change floating compose button to open login dialog instead of signup when logged out

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-18 20:59:24 -06:00
shakespeare.diy 7c1914eab4 Hide sign up button on mobile top bar when signed out; add "Join" label to FAB
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-17 03:25:36 -06:00
shakespeare.diy e0b8785d7b Show Join button when logged out, Ditto-style account popover, hide account area when logged out
- LeftSidebar: Compose button becomes "Join" when logged out, opens signup dialog
- LeftSidebar: Account area in lower-left hidden when logged out
- LeftSidebar: Clicking account area opens Ditto-style popover with profile card, account switching, add account, and logout
- FloatingComposeButton: Shows join icon (UserPlus) when logged out, opens signup dialog

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 23:33:32 -06:00
shakespeare.diy 9a375f3d3d Unify new post and reply into a single ComposeModal
ReplyComposeModal now handles both cases: when an event is passed it's a
reply (shows embedded post preview), when no event is passed it's a new
post. FloatingComposeButton reuses ReplyComposeModal instead of having
its own duplicate dialog.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 22:24:30 -06:00
shakespeare.diy 42446fe0c7 Move X close button to the right side on all compose/reply/interaction modals
Updated ReplyComposeModal, FloatingComposeButton, and InteractionsModal
to place the title on the left and the dismiss X button on the right,
matching the standard dialog layout pattern.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 22:22:50 -06:00
shakespeare.diy 858ec3beaa Add post preview to More menu, blur modal backdrops, polish compose modal
- NoteMoreMenu now shows a compact post preview at the top (avatar,
  author name, timestamp, and 3-line-clamped content) before menu items
- Dialog overlay updated globally: bg-black/60 + backdrop-blur-sm for a
  frosted-glass effect behind all modals
- FloatingComposeButton modal reworked to match the same presentation
  pattern: rounded-2xl, hidden default close button replaced with a
  centered header (X / "New post" title), separator, compose area

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 17:50:46 -06:00
shakespeare.diy 9b92141b95 Hide inline compose on mobile, polish FAB compose dialog
- Inline ComposeBox hidden below sidebar breakpoint (mobile uses FAB)
- "New post" dialog: rounded-2xl corners, clean header with title and
  border divider, no padding gap, overflow hidden for crisp edges
- Removed redundant DialogHeader wrapper, title sits in a flex bar

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 17:33:23 -06:00
shakespeare.diy 7740c63328 Use custom sidebar breakpoint (688px) for mobile/desktop toggle
The mobile layout now activates the moment the left sidebar would need
to shrink — at 688px (72px sidebar + 600px feed + padding). Added a
custom `sidebar` Tailwind screen breakpoint and replaced all `md:`
references that control the sidebar/mobile toggle with `sidebar:`.

This ensures the bottom nav, top bar, drawer, FAB, and full-width feed
kick in precisely when the sidebar can no longer fit alongside the feed.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 17:17:37 -06:00
shakespeare.diy be5cb2180f Add responsive mobile layout with bottom nav, drawer menu, and FAB compose
Mobile UI (< md breakpoint):
- MobileTopBar: user avatar (opens drawer) + centered Mew logo
- MobileDrawer: left slide-out sheet with user profile, follower stats,
  menu items (Profile, Wallet, Bookmarks, Mutes, Preferences, Domain blocks,
  Logout), and expandable Switch accounts section
- MobileBottomNav: fixed bottom bar with Home, Notifications, Search, Vines
- FloatingComposeButton: purple FAB in bottom-right corner opens compose dialog
- Feed goes full-width on mobile, max-w-[600px] only on md+
- Left sidebar hidden on mobile, right sidebar hidden below lg
- Pages with their own headers use hideMobileTopBar to avoid double headers
- Safe area bottom padding for iOS devices
- Added routes for /bookmarks, /mutes, /domain-blocks placeholders

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-16 17:13:25 -06:00