Commit Graph

1418 Commits

Author SHA1 Message Date
filemon e3412fac46 Merge branch 'main' into feat-blobbi 2026-03-24 12:20:40 -03:00
Chad Curtis 4ac418c78d Fix mobile bottom nav: remove spurious bottom border, fix safe-area spacer opacity 2026-03-24 09:02:57 -05:00
Chad Curtis 94f5dc4b67 Show arc border on MobileTopBar when no sub-header is present 2026-03-24 07:21:01 -05:00
Chad Curtis f30d7e3668 FAB follows bottom nav, subtle shadow, fixed positioning 2026-03-24 07:11:28 -05:00
Chad Curtis 01c32a0e88 Restyle tabs and compose box: arc borders, opacity, layout order 2026-03-24 07:06:12 -05:00
Chad Curtis d5932cbb34 Replace flat tab indicator with curved arc stroke 2026-03-24 06:59:14 -05:00
Chad Curtis e8bc9a9c16 Highlight hovered tab slice on arc background 2026-03-24 06:56:49 -05:00
Chad Curtis ed86548d93 Revert "Fix 1px gap between bottom nav and safe-area spacer on iOS Safari"
This reverts commit a1cc46abc8.
2026-03-24 02:09:54 -05:00
Chad Curtis a1cc46abc8 Fix 1px gap between bottom nav and safe-area spacer on iOS Safari 2026-03-24 01:59:06 -05:00
Chad Curtis 3fb206597c Fix unused variable lint errors in MainLayout 2026-03-23 23:59:24 -05:00
Chad Curtis 47bc5f516f Fix bottom nav arc on safe-area devices: separate safe area spacer from arc container 2026-03-23 23:20:59 -05:00
Chad Curtis 1d9e445d84 Fix arc bugs: revert top arc to upstream, remove top navbar arc, separate bottom nav overhang for harsher curve 2026-03-23 23:11:29 -05:00
Alex Gleason 042489a39f Replace Saturn FAB with user's avatar shape (circle default, emoji mask when set) 2026-03-23 23:03:03 -05:00
Alex Gleason 187081199c Merge branch 'main' of gitlab.com:soapbox-pub/ditto 2026-03-23 22:56:15 -05:00
Chad Curtis 9ef6f085a0 Harsher arc curves and move bottom nav items up 2026-03-23 22:40:31 -05:00
Alex Gleason 0baeca6ce7 Render Bluesky posts as full feed-style thread on /i/ detail pages
Replace the compact ExternalPostCard with a full feed-style layout
matching the /bluesky feed when viewing individual Bluesky posts.
Shows large avatar, full text, image/link embeds, and interactive
action buttons (comment, repost, react, share) for a thread-like feel.
2026-03-23 22:30:45 -05:00
Alex Gleason 4c1576f704 Add Bluesky to sidebar navigation and update icon to Simple Icons SVG 2026-03-23 22:18:10 -05:00
Alex Gleason 9947c17ddd Merge remote-tracking branch 'origin/main' into bluesky 2026-03-23 22:12:33 -05:00
Alex Gleason 4ea657a7b7 Restyle Bluesky disclaimer as a cheeky amber warning 2026-03-23 22:10:55 -05:00
Alex Gleason 715c58ceba Restore original Bluesky disclaimer text with styled callout 2026-03-23 22:10:28 -05:00
Alex Gleason 4f9f2c10bf Style Bluesky disclaimer as a branded callout banner 2026-03-23 22:09:32 -05:00
Alex Gleason d1c434050f Add Bluesky disclaimer in compose modal when replying to bsky.app URLs 2026-03-23 22:08:46 -05:00
Alex Gleason 87a295c974 Hide images in compose modal reply indicator and external post embeds
Thread hideImage prop through LinkEmbed -> BlueskyEmbed -> ExternalPostCard
so images are suppressed in the compose dialog preview, matching the
behavior of normal post reply indicators.
2026-03-23 21:57:22 -05:00
Alex Gleason 6c9a584b46 Link avatar and display name to Bluesky profile /i/ page
Clicking the avatar, display name, or handle now navigates to
/i/{bsky.app/profile/handle} instead of the post's /i/ page.
Clicks stop propagation so the card-level navigation still works.
2026-03-23 21:55:00 -05:00
Alex Gleason 0c03b78b56 Show link preview in compose modal when commenting on external URLs
ReplyComposeModal now renders a LinkPreview card when the event is a URL,
so users see what they're commenting on. Previously the preview was skipped
entirely for URL-based comments.
2026-03-23 21:52:29 -05:00
Alex Gleason dac751b0a9 Show Bluesky like counts and open comment compose dialog inline
Pass post.likeCount to ExternalReactionButton via new count prop so like
counts display from the Bluesky API. Comment button now opens the
ReplyComposeModal with the post URL instead of navigating away.
2026-03-23 21:46:14 -05:00
Alex Gleason b4eecd2588 Extract shared ExternalReactionButton with emoji picker for NIP-73 reactions
The Bluesky page had a broken inline reaction that just published '+' with
no emoji picker. The /i/ page had the full implementation with Popover,
QuickReactMenu, hover-to-open, and custom emoji support. Extracted the
reaction logic into a reusable ExternalReactionButton component and wired
it into both pages, removing ~230 lines of duplicated/inferior code.
2026-03-23 21:13:27 -05:00
Alex Gleason 0ec844c519 Add Bluesky discovery page with trending posts and search 2026-03-23 20:28:15 -05:00
filemon aa2d724a13 Merge branch 'main' into feat-blobbi 2026-03-23 20:10:15 -03:00
Alex Gleason a1b2c23e46 Merge origin/main into feat/curves 2026-03-23 15:31:05 -05:00
Alex Gleason a80b667327 Add Wikipedia and Archive results to autocomplete search dropdown
Integrate useWikipediaSearch and useArchiveSearch into both the desktop
sidebar dropdown (ProfileSearchDropdown) and mobile bottom-nav sheet
(MobileSearchSheet). At most 1 result from each source is shown, always
positioned after Nostr profiles to preserve profile precedence. Keyboard
navigation indices updated to include the new items.
2026-03-23 13:53:04 -05:00
Alex Gleason 894f692dea Display rich Wikipedia article content on /i/ pages instead of generic link preview
Detect Wikipedia URLs and render a custom WikipediaArticleHeader with hero
image, article title, Wikidata description, expandable extract, and a
Read on Wikipedia footer link. Also uses the Wikipedia API for accurate
page titles in the header bar and SEO metadata, and navigates back to
/wikipedia on the back button.
2026-03-23 13:31:40 -05:00
Alex Gleason 02a16cad90 Fix Wikipedia icon to use the correct Simple Icons SVG path 2026-03-23 13:24:13 -05:00
Alex Gleason 4dd1ceb9b4 Add custom Wikipedia icon, use it in page header, card fallbacks, and sidebar 2026-03-23 13:23:22 -05:00
Alex Gleason a10feef57d Add 3-dots menu to badge detail page for sidebar and other actions 2026-03-23 12:37:27 -05:00
Alex Gleason 358e25560f Make only tabs sticky on follow pack detail page 2026-03-23 12:28:55 -05:00
filemon 974cdcccc9 Merge branch 'main' into feat-blobbi 2026-03-23 10:58:25 -03:00
Lemon c1ebe3a03d Increase nav bar opacity to 95%, add top margin to bottom nav icons for arc clearance 2026-03-22 23:36:40 -07:00
Lemon 1cfee425ac Restore text labels under bottom nav icons 2026-03-22 23:36:40 -07:00
Lemon 9b5c9767a8 Fix relay back button, add hasSubHeader to ListDetailPage, make relay names clickable 2026-03-22 23:36:40 -07:00
Lemon 3acd41490b Replace backdrop-blur headers with PageHeader in LiveStream, CSAE, and Privacy pages 2026-03-22 23:36:40 -07:00
Lemon 5bb485e5f9 Remove gradient from planet FAB, use solid primary color 2026-03-22 23:36:40 -07:00
Lemon b94ef0a46c Cleanup: scope drawer clip-path ID with useId(), fix indentation, add layout comments 2026-03-22 23:36:40 -07:00
Lemon ae0c90e1ce Fix prose text color to use theme foreground instead of hardcoded grays
Replace dark:prose-invert with text-foreground on all prose containers so
markdown content matches the active theme colors. Also bump article preview
text size from text-sm to text-[15px] to match note content in the feed.
2026-03-22 23:36:40 -07:00
Lemon 31e6810fcb Disable decorative arcs on vines page for clean full-bleed video 2026-03-22 23:36:40 -07:00
Lemon 2b8b7a1750 Cleanup: remove dead code, hoist styles, adopt PageHeader across remaining pages 2026-03-22 23:36:40 -07:00
Lemon ef2b99ff2d Hoist inline style objects to module-level constants
Avoid recreating style objects on every render in MobileBottomNav,
FloatingComposeButton, and MobileDrawer by extracting them to
module-level constants.
2026-03-22 23:35:56 -07:00
Lemon b09c78df92 Cleanup: migrate remaining pages from sticky headers, extract CSS custom properties
- Remove STICKY_HEADER_CLASS + backdrop-blur from TagFeedPage, ListDetailPage,
  RelayPage, and DomainFeedPage to match the arc-based header style
- Migrate ListDetailPage tab bar to SubHeaderBar
- Migrate ThemesPage header to use shared PageHeader component
- Extract --top-bar-height and --bottom-nav-height CSS custom properties in
  index.css, replacing hardcoded 2.5rem/2.75rem in all calc() expressions
- Document MobileDrawer DRAWER_BG_WIDTH constant (300px + 36px arc overhang)
- Remove unused STICKY_HEADER_CLASS import from ProfilePage
2026-03-22 23:35:56 -07:00
Lemon 98954e19b8 Refactor: extract ArcBackground, PlanetButton, and PageHeader shared components
Consolidate duplicated patterns from iterative development into reusable
components:

- ArcBackground: shared SVG arc shape used by SubHeaderBar, MobileTopBar,
  and MobileBottomNav (eliminates 3x duplicated SVG paths and magic numbers)
- PlanetButton: extracted FAB planet SVG with useId()-scoped gradient IDs
  to prevent collisions if multiple instances ever coexist
- PageHeader: standardized back+icon+title header used across 10 pages

Net reduction of ~144 lines with no behavioral changes.
2026-03-22 23:33:06 -07:00
Lemon 613e794c14 Unify all header arc+background into single SVG shapes to prevent seams
Create SubHeaderBar component that draws the tab background and
decorative arc as one combined SVG path (rect + curve). Replace all 9
sub-header instances across Feed, Search, Notifications, Videos, Vines,
Photos, Themes, Events, and Books pages.

Also update MobileTopBar to draw its background as a unified SVG shape
(rect-only when sub-header present, rect+arc when standalone).

Eliminates the sub-pixel transparent seam between bg-background/80
containers and their separate SVG arc overlays.
2026-03-22 23:33:06 -07:00