Commit Graph

4447 Commits

Author SHA1 Message Date
Mary Kate Fain 633985ad81 Remove section titles from desktop sidebar, keep divider lines 2026-02-25 19:13:18 -06:00
Mary Kate Fain d18e8cb010 Rework theme indicator: red notification dot on first visit, 3-burst pulse animation, click opens modal first time then toggles
- First visit to themed profile: palette icon with red notification dot + 3 pulses, click opens info modal
- Subsequent visits: palette icon with 3 pulses (no dot), click toggles theme on/off
- Custom ping-3 animation: 3 bursts over 4s at half speed then stops
2026-02-25 19:08:33 -06:00
Mary Kate Fain 796e7cbe3a Show theme indicator on banner in both states: toggle on/off custom profile themes 2026-02-25 18:55:43 -06:00
Mary Kate Fain 04c4f5c8b7 Add pulsing palette icon on banner to toggle off custom profile themes 2026-02-25 18:53:48 -06:00
Mary Kate Fain bbe0df3b39 Add first-time profile theme info modal with inline toggle and settings link 2026-02-25 18:46:37 -06:00
Mary Kate Fain 5fafe9c8a7 Simplify profile theme: swap global CSS vars instead of scoped theme wrapper
- Remove ScopedThemeColumns, scopedThemeTokens from LayoutContext and MainLayout
- Profile page now temporarily overrides :root CSS vars with the visited user's theme
- On navigation away, user's own theme is restored via effect cleanup
- Entire page (sidebar, center, right) uses the profile theme
- Removed all display:contents and background extension hacks
2026-02-25 18:36:31 -06:00
Mary Kate Fain 11e779e79b Extend scoped theme background to right viewport edge 2026-02-25 18:24:35 -06:00
Mary Kate Fain 36d80c2f92 Fix scoped theme: proper flex container instead of display:contents, explicit bg-background + text-foreground 2026-02-25 18:16:46 -06:00
Mary Kate Fain d31e9e9e25 Fix profile theme coverage: full-width background layer, ensure text colors inherit through scoped theme 2026-02-25 18:10:24 -06:00
Mary Kate Fain 1828ffb69d Apply profile theme to entire center + right columns via layout-level ScopedTheme
- Added scopedThemeTokens to LayoutOptions
- MainLayout wraps center + right columns in ScopedTheme (display:contents)
- Profile page passes theme tokens via useLayoutOptions instead of local wrapper
- Center column and ProfileRightSidebar use bg-background for scoped theme fill
- Removed ProfileThemeWrapper component (no longer needed)
2026-02-25 18:02:29 -06:00
Mary Kate Fain 0b1e0c0abd Move Bookmarks from 'You' section to configurable Explore section
- Added __bookmarks as a builtin sidebar item alongside Feed and Trends
- Bookmarks is now reorderable and removable like other Explore items
- Added requiresAuth flag to hide it when logged out
- Removed hardcoded Bookmarks from You section (desktop) and mobile drawer
- Added bookmark icons to all three nav components (sidebar, drawer, bottom nav)
2026-02-25 17:40:18 -06:00
Mary Kate Fain c530543156 Fix ESLint errors: remove unused imports and variables 2026-02-25 17:27:12 -06:00
Mary Kate Fain 25fd420de1 FAB on Public Themes page navigates to Create New Theme 2026-02-25 17:16:20 -06:00
Mary Kate Fain e2352b279a Fix deletion visibility: optimistically remove from query cache, simplify useUserThemes 2026-02-25 17:12:47 -06:00
Mary Kate Fain 5042d7d472 Fix theme deletion: query kind 5 events to filter deleted themes, add k tag, invalidate feed caches 2026-02-25 17:06:08 -06:00
Mary Kate Fain 313b268954 Remove My Themes list from builder, keep Profile Theme status, add Delete button at bottom 2026-02-25 17:03:11 -06:00
Mary Kate Fain 5461d3a2b2 Add always-visible back button on Public Themes page linking to Appearance settings 2026-02-25 16:57:59 -06:00
Mary Kate Fain d65959300f Fix 'Create Theme' starting fresh, add editable title/description in header
- 'Create Theme' link uses ?new param to force fresh state (dark preset, no editing context)
- Auto-match effect skips when ?new or ?edit is in URL
- '+' button in header updates URL to ?new
- Clicking theme title in header opens metadata edit dialog (pencil icon hint)
- Metadata-only updates don't re-set active profile theme
2026-02-25 16:53:09 -06:00
Mary Kate Fain dda23b8fdf Rework theme builder layout: color bar, dropdown starter, auto-derive below core colors, edit own themes in feed
- Core color bar across top showing background/foreground/primary/accent
- 'Start from existing theme' dropdown replacing preset grid (groups: My Themes, Builtin, Presets)
- Auto-derive toggle moved below core colors section
- Edit pencil on own themes in the /themes feed (others see Copy)
2026-02-25 16:48:09 -06:00
Mary Kate Fain 6fd51d1067 Fix theme switching: click to apply theme, hover edit icon to open builder 2026-02-25 16:40:26 -06:00
Mary Kate Fain 0774ee2ac5 Restructure theme selector: My Themes section at top with Create/Edit, presets below
- 'My Themes' section at top with 'Create Theme' card + user's published themes
- Clicking a user theme applies it AND navigates to the builder to edit it (?edit=identifier)
- 'Browse Public Themes' card in My Themes section
- Presets section below with System/Light/Dark + all preset themes
- Removed 'Customize your own theme' bottom link (replaced by Create Theme card)
- Theme builder handles ?edit= param to load the correct theme with editing context
2026-02-25 16:37:58 -06:00
Mary Kate Fain 373dd7a337 Add editing context to theme builder: track which theme is being edited, show name in header, differentiate save vs publish 2026-02-25 16:24:19 -06:00
Mary Kate Fain c23d91b2fb Add theme publish dialog, multi-theme management, and user themes in all pickers
- First save prompts 'Publish on Nostr?' with title/description form
- My Themes section in builder: list, edit, set active, delete published themes
- ThemeSelector grid shows user's published themes alongside presets
- Sidebar dropdown shows user themes under 'My Themes' section
- Mobile drawer cycles through user's published themes
2026-02-25 16:15:46 -06:00
Mary Kate Fain 096096f685 Replace kind 30203 with new multi-theme NIP: kind 33891 (definitions) + kind 11667 (active profile theme)
- Theme definitions are addressable (multiple per user, each with title/description)
- Active profile theme is replaceable (one per user, copies tokens from source)
- Updated all hooks, components, and feed integration for new kinds
- Theme builder preview now shows accent color on streak flame, banner gradient, and repost action
2026-02-25 15:23:18 -06:00
Mary Kate Fain 7b5c44e6e6 Use accent for visible elements: active nav text, section headers, repost action, right sidebar headings 2026-02-25 14:45:28 -06:00
Mary Kate Fain af60044934 Integrate accent color: distinct theme values, sidebar/nav active states, card hover tint, profile streak and banner gradient 2026-02-25 14:37:14 -06:00
Mary Kate Fain 9787262584 Add 'Public Themes' browse card to theme picker grid with /themes feed page 2026-02-25 14:20:24 -06:00
Mary Kate Fain 37a857c4fc Add Custom theme item to sidebar/mobile theme pickers with navigate-to-builder 2026-02-25 14:14:52 -06:00
Mary Kate Fain 6faf5bc99d Fix avatar clipped by banner in theme builder preview 2026-02-25 14:09:39 -06:00
Mary Kate Fain 1c8babdd1f Use logged-in user's real profile data in theme builder preview 2026-02-25 14:08:12 -06:00
Mary Kate Fain eaee086467 Redesign theme builder preview to match real profile and feed UI 2026-02-25 14:05:13 -06:00
Mary Kate Fain b8d0d8b871 Remove sidebar theme tokens to align with upstream cleanup 2026-02-25 13:55:54 -06:00
Mary Kate Fain 0dfac91b67 Merge remote-tracking branch 'origin/main' into add-custom-theme-editor-ui 2026-02-25 13:54:06 -06:00
Alex Gleason 736c6c0e7f Revert accidental buildConfig refactor in themes.ts 2026-02-25 13:52:22 -06:00
Mary Kate Fain 757f417aae Merge remote-tracking branch 'origin/main' into add-custom-theme-editor-ui 2026-02-25 13:50:58 -06:00
Mary Kate Fain bac31a5b6d Add profile theme sharing: publish kind 30203, scoped themes on profiles, feed cards, and content settings 2026-02-25 13:49:55 -06:00
Alex Gleason aaea5523b3 Merge branch 'main' of gitlab.com:soapbox-pub/ditto-mew 2026-02-25 13:47:14 -06:00
Mary Kate Fain 80b8b97858 Add custom theme builder UI with color picker, auto-derive, and live preview 2026-02-25 13:27:27 -06:00
Mary Kate Fain 5e476b8428 Show all theme presets in onboarding flow, not just 5 hardcoded ones
Dynamically generate the onboarding theme options from themePresets so
new themes (midnight, toxic, lavender, ocean, sunset) appear
automatically without manual updates.
2026-02-25 12:04:31 -06:00
Mary Kate Fain 57354df633 Show 'You' tab when logged out, opens login dialog on tap 2026-02-25 12:00:49 -06:00
Mary Kate Fain 80dc03b5c0 Fix ESLint: remove unused isBuiltinItem import from LeftSidebar 2026-02-25 10:18:40 -06:00
Mary Kate Fain fa63b60401 Rework mobile nav: logo-home top-left, hamburger top-right, new bottom tabs
- Top bar: logo on left (navigates to / with scroll-to-top), hamburger
  menu on right (replaces search icon). Cleaner two-element layout.
- Bottom nav: remove Home tab (logo serves this purpose). New tab order
  when logged in: You | Notifications | Explore | Search. When logged
  out: Explore | Search.
- Drawer slides from right (matching hamburger position) instead of left.
- Search is now always visible in bottom nav for both logged-in and
  logged-out users.
2026-02-25 10:10:48 -06:00
Mary Kate Fain 4122139bef Add Bookmarks to Explore, edit mode in bottom sheet, Settings in drawer
- Add __bookmarks as a built-in Explore item (reorderable/removable
  alongside Feed, Trends, and content types) on both desktop and mobile
- Fix built-in removal bug: removing Feed/Trends no longer re-appends
  them to the end of the list. Built-ins not in sidebarOrder are now
  treated as explicitly removed (appear in More... to re-add)
- Add full edit mode to mobile Explore bottom sheet: pencil/Done toggle,
  DnD with TouchSensor for reordering, remove buttons, add-back list
  for hidden items. Normal mode unchanged (2-column grid)
- Replace Explore section in mobile drawer with Settings sub-categories
  (Profile, Appearance, Wallet, Notifications, Advanced) filtered by
  auth state. Remove standalone Bookmarks and Settings links from drawer
- Remove Bookmarks from desktop 'You' section (now in Explore)
- Export settingsSections and SettingsSection type from SettingsPage
2026-02-25 09:51:22 -06:00
Mary Kate Fain fa422c21ee Fix Explore drawer not closing on overlay tap
Remove stopPropagation from DrawerOverlay onClick handler which was
blocking vaul's dismiss-on-overlay-click behavior on touch devices.
2026-02-25 09:37:53 -06:00
Mary Kate Fain f342a266df Add drag-and-drop edit mode to mobile drawer Explore section
Replace the settings redirect with a full inline edit experience matching
the desktop sidebar:

- Pencil icon in Explore section header toggles edit mode (Done to exit)
- Edit mode shows drag handles (GripVertical) and remove buttons (X) on
  each item, with touch-friendly DnD via @dnd-kit TouchSensor (150ms
  delay to distinguish scroll from drag)
- Hidden items appear below with + buttons to add them back
- Normal mode shows navigation links as before
- Edit state resets when the drawer closes
- Consistent UX between desktop sidebar and mobile drawer
2026-02-25 09:30:50 -06:00
Mary Kate Fain 5eb6991f94 Fix right sidebar separators: use full opacity bg-border for visibility 2026-02-25 09:25:41 -06:00
Mary Kate Fain 0fdc24566c Move search bar to right sidebar at xl, add section separators, fix mobile edit button
- Search bar now appears in right sidebar at xl (1280px+) and stays in
  left sidebar at sidebar-to-xl range (900-1279px) via xl:hidden class
- Add horizontal separator lines between right sidebar sections (Trends,
  Hot Posts, New Accounts) for visual consistency with left sidebar
- Mobile drawer: replace 'Edit' text button at end of explore list with
  pencil icon inline in the Explore section header, matching the desktop
  sidebar pattern
2026-02-25 09:24:02 -06:00
Mary Kate Fain ebcae8ba58 Refine sidebar nav: bell in logo row, Feed/Trends built-ins, Settings under You
- Move notifications bell icon to top-right of logo row (compact, always
  visible when logged in) instead of a full nav item
- Add Feed and Trends as built-in Explore items that can be reordered and
  removed alongside content-type items (Feed links to /, Trends to
  /search?tab=trends)
- Default sidebar order for fresh installs: Feed, Trends, then enabled
  content types
- Move Settings into the 'You' section when logged in; standalone at
  bottom with separator when logged out
- Remove hover-to-remove X button on desktop (edit mode only now)
- Mobile Explore bottom sheet and drawer now include Feed and Trends
- Change mobile drawer 'Manage...' link text to 'Edit'
- Add dismissible prop to Explore bottom sheet Drawer for explicit
  close-on-overlay-tap behavior
- Extend useFeedSettings with built-in item support (__feed, __trends),
  hiddenItems list, and unified add/remove handling for both built-ins
  and extra-kind routes
2026-02-25 09:13:35 -06:00
Mary Kate Fain b8d7d8a730 Redesign sidebar navigation with section grouping, customization, and mobile consistency
- Desktop: Remove redundant Home/Search nav items (logo serves as Home, inline
  search covers both quick lookup and full search page navigation)
- Add visual section grouping with labeled separators (Explore, You, Settings)
- Replace ugly dashed 'Add' button with subtle 'More...' inline link
- Add edit mode with drag-and-drop reordering (@dnd-kit) and remove buttons
  for content-type items in the Explore section
- Hover-to-remove on desktop content-type items outside edit mode
- Mobile: Replace avatar menu trigger with standard hamburger icon
- Mobile: Add search icon to top bar right side
- Mobile: Redesign bottom nav as 4-tab layout (Home, Explore, Notifications, You)
- Mobile: Explore tab opens bottom sheet with content type links (vaul Drawer)
- Mobile drawer: Replace profile header with logo, restructure to match desktop
  sections, add 'Manage...' link for settings, remove redundant Profile link
- Add sidebarOrder to AppConfig for persisting custom item order
- Extend useFeedSettings hook with orderedRoutes, addToSidebar, removeFromSidebar
2026-02-25 08:54:37 -06:00
Chad Curtis ea5ce58c7f Add info modal with blurb and external site links to all extra kind pages 2026-02-24 23:34:51 -06:00