Commit Graph

4447 Commits

Author SHA1 Message Date
filemon 163712471c Improve Blobbi UI mobile responsiveness and add compact coin formatting
- Add formatCompactNumber utility for compact coin display (1.2K, 15.4K, 1.2M)
- Fix BlobbiActionInventoryModal (medicine items) layout for mobile
- Fix BlobbiBottomBar to prevent overflow on narrow screens
- Fix BlobbiInventoryModal item cards for mobile
- Fix BlobbiMissionsModal horizontal scroll and layout issues
- Fix DailyMissionsPanel and TasksPanel for mobile
- Fix BlobbiShopModal and related dialogs for mobile
- Apply compact number formatting to all coin displays
2026-03-23 17:07:16 -03: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 a5dead1765 Show only view count number next to eye icon, drop 'views' label 2026-03-23 13:25:11 -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 18b3da600d Include fair-use images in Wikipedia search thumbnails
Add pilicense=any to the pageimages query so articles with
non-free/fair-use images (common for games, movies, etc.) also
return thumbnails.
2026-03-23 13:19:24 -05:00
Alex Gleason 65c3512835 Add thumbnails to Wikipedia search autocomplete results 2026-03-23 13:16:52 -05:00
Alex Gleason 4e6a055e02 Remove redundant 'Today's Featured Article' badge from hero card 2026-03-23 13:15:18 -05:00
Alex Gleason 12700fd025 Change Wikipedia pills from filter tabs to scrollspy navigation
Pills now highlight based on which section is visible as you scroll.
Clicking a pill smooth-scrolls to that section. The 'All' pill and
filter-based empty states are removed since all sections are always shown.
2026-03-23 13:13:54 -05:00
Alex Gleason 030b277e8f Remove Did You Know and Picture of the Day sections from Wikipedia page 2026-03-23 13:10:21 -05:00
Alex Gleason daf3a38c21 Add /wikipedia page with dynamic featured content from Wikipedia's API 2026-03-23 12:59:33 -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
Alex Gleason ba09214817 Make only tabs sticky on list detail page instead of entire header 2026-03-23 12:25:12 -05:00
filemon 974cdcccc9 Merge branch 'main' into feat-blobbi 2026-03-23 10:58:25 -03:00
Lemon 6134786fe9 Add arc overhang clearance to mobile search sheet positioning 2026-03-22 23:39:13 -07:00
Lemon 8b7f59bee0 Migrate BadgesPage header and tabs to PageHeader and SubHeaderBar 2026-03-22 23:36:40 -07: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 4b6606ced1 Remove radial gradient from Settings page to fix arc seam 2026-03-22 23:36:40 -07:00
Lemon 845a540d1c Migrate all settings sub-pages, WorldPage, and PlaceholderPage to use PageHeader 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 bbf816b50a Move Nostr 101 HelpTip from ContentSettings subtitle to Network settings title 2026-03-22 23:36:40 -07:00
Lemon 9a576321c7 Replace backdrop-blur headers with PageHeader in VideosFeedPage and ProfileSettings 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 fb85b65177 Show logo header arc when logged out (no sub-header tabs visible)
Make hasSubHeader conditional on user being logged in for Index,
KindFeedPage, BooksPage, and EventsFeedPage — these pages only render
tab sub-headers when the user is authenticated.
2026-03-22 23:33:06 -07:00
Lemon c452170242 Extend AI chat background behind bottom nav to prevent double opacity
Change ai-chat-height to span full viewport minus only the top bar,
with padding-bottom for the bottom nav. The bg-secondary/50 background
now extends behind the bottom nav arc, eliminating the opacity seam.
2026-03-22 23:33:06 -07:00
Lemon 2d1332362f Extend chat pane background to full viewport, match Bookmarks title style
- Add bg-secondary/50 to main container for full viewport chat background
- Add back arrow link matching Bookmarks/Photos pattern
- Match Bot icon color to text (foreground instead of muted)
- Match title to text-xl font-bold like other page titles
2026-03-22 23:33:06 -07:00
Lemon 4a4ff8f5f4 Simplify AI chat page: plain header, no sub-header arc, no borders
- Revert bold on <[o_o]> empty state characters
- Remove sub-header SVG arc from header, set hasSubHeader false so
  logo header shows its own arc
- Change icon from Sparkles to Bot, remove background wrapper
- Remove border-t and bg-background from input area
2026-03-22 23:33:06 -07:00
Lemon 5090c118b5 Simplify Dork AI empty state: remove background, bold characters only 2026-03-22 23:33:06 -07:00
Lemon 1882d0900e Match Help page title element to Bookmarks/Photos pattern
Replace sticky backdrop-blur header with simple non-sticky title row
using the same flex items-center gap-4 px-4 mt-4 mb-1 layout as
Bookmarks, Photos, and other content pages.
2026-03-22 23:33:06 -07:00
Lemon 2d01b27c16 Convert AI chat header to unified arc background, set hasSubHeader
Replace border-b + backdrop-blur-md with the same unified SVG arc+rect
background used by all other sub-headers. Set hasSubHeader: true so the
logo header doesn't show its own arc.
2026-03-22 23:33:06 -07:00
Lemon 49a4c74879 Convert profile page tabs to SubHeaderBar with arc, remove border-b
Replace backdrop-blur + border-b tab bar with SubHeaderBar component
so profile tabs get the same unified arc background as all other pages.
Set hasSubHeader: true so the logo header doesn't show its own arc.
2026-03-22 23:33:06 -07:00
Lemon bd1a19fd33 Replace backdrop-blur with bg-background/80 on profile page tabs
Match the same background style used by the logo header and all other
sub-headers instead of the blur effect.
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
Lemon 7fad0770f0 Hide bottom nav fully including arc overhang on scroll
Replace translate-y-full (100%) with translateY(calc(100% + 20px))
to account for the 20px arc extending above the nav element.
2026-03-22 23:33:06 -07:00
Lemon e3301765f6 Match bottom nav arc curvature to top header arc
Use same physical deflection (20px) as the top header's decorative arc
so both curves have identical curvature radius.
2026-03-22 23:33:06 -07:00
Lemon 2f5f284ac9 Unify bottom nav arc and bar into single SVG shape
Draw the arc and rectangle as one combined path instead of a separate
SVG arc over a bg-background/80 div. Single fill layer eliminates both
the sub-pixel seam during animation and the double-opacity overlap line.
2026-03-22 23:33:06 -07:00
Lemon b907c27be4 Fix sub-pixel seam between bottom nav arc and bar during scroll animation
Overlap the SVG arc 1px into the nav bar (bottom: calc(100% - 1px))
and add will-change-transform to promote the entire nav to a single
compositing layer. Prevents the transparent seam that appeared during
fast scroll-triggered show/hide transitions.
2026-03-22 23:33:06 -07:00
Lemon d7c662ec7c Invert Saturn ring mask: middle arc passes in front, edges pass behind 2026-03-22 23:33:06 -07:00
Lemon 6a8d1505f1 Split Saturn ring into explicit front/back arc segments for Safari-safe mask
Replaced the pathLength/strokeDasharray trick with two literal front-arc
path segments in the mask (computed by splitting the cubic bezier at
circle intersection points). The ring visually passes in front of the
planet body at the bottom-left and top-right, and behind it through the
middle — identical to the previous Chrome rendering, now cross-browser.
2026-03-22 23:33:06 -07:00