Commit Graph

4447 Commits

Author SHA1 Message Date
filemon 17b986c21d fix: use baseColor as secondaryColor fallback for legacy events without seed
When a legacy Blobbi has only base_color (no secondary_color, no seed),
the secondary color now falls back to the resolved baseColor instead of
the generic yellow default (#FCD34D).

This creates a unified palette for legacy events with partial traits,
avoiding the incorrect mixed palette (e.g., cyan base + yellow accent).
2026-03-09 13:04:51 -03:00
filemon d6b3dbc9f9 fix: respect explicit visual traits in legacy Blobbi events
The deriveVisualTraits function was returning default values immediately
when no seed was present, ignoring explicit tags in the event.

Fixed priority order (per field):
1. Explicit valid tags (always take precedence)
2. Seed-derived values (for canonical events)
3. Default fallbacks (when both are missing)

This ensures legacy Blobbi with explicit color/pattern tags render
correctly instead of falling back to default yellow/orange palette.
2026-03-09 12:51:56 -03:00
filemon 1f41478d53 wire baby rendering into the app with stage-aware visual component
- Add BlobbiBabyVisual component using baby-blobbi module for SVG resolution and customization
- Add BlobbiStageVisual component that routes rendering by life stage (egg/baby/adult)
- Update BlobbiPage to use BlobbiStageVisual for all Blobbi displays
- Uncomment BlobbiBabyData interface in types/blobbi.ts to fix type error
2026-03-09 12:27:16 -03:00
filemon bd71520cb5 add baby-blobbi file 2026-03-09 12:22:44 -03:00
Derek Ross ae6c031087 Add Vidstr external link to /videos page
Closes #53
2026-03-08 17:53:54 -04:00
Derek Ross 04fa292fbb Add Nostr Badges (NIP-58) as a new content type
Implement badge definitions (kind 30009) and profile badges (kind 30008)
as a new Whimsy content type with feed page, NoteCard rendering, sidebar
entry, dedicated detail page with awardee list, and a Badges core profile
tab showing a user's accepted badges with links to badge definitions.
2026-03-08 17:46:13 -04:00
Derek Ross 6acc6c4a0c Add list detail page, interests (NIP-51), and fix lists bugs
- Fix avatar overlap on /lists page (widen container + overflow-hidden)
- Fix dialog scroll in AddToListDialog and ListDetailDialog (flex flex-col)
- Add ListDetailPage with Feed/Members tabs at /:naddr route
- Add AddMembersDialog with NIP-50 profile search
- Add useInterests hook for NIP-51 kind 10015 hashtag interests
- Add follow/unfollow hashtag button on /t/:tag pages
- Add followed hashtag tabs in home feed
- Distinguish kind 30000 (List icon) from 39089 (PartyPopper) in NoteCard
- Filter deprecated d-tags (mute/pin/bookmark/communities) from kind 30000
- Add description/image support to UserList interface
- Support viewing and cloning other users' lists via naddr
- Fix list deletion (empty replacement + kind 5 + optimistic cache removal)
- Add share button to copy list naddr link
2026-03-08 17:41:07 -04:00
filemon 6276d135e4 Merge branch 'main' into feat-blobbi 2026-03-08 10:33:58 -03:00
Alex Gleason 699229861b Restore IntroImage illustrations, Codex ornaments, and intro blocks across settings pages 2026-03-07 22:00:11 -06:00
Mary Kate Fain b60b2c131f Add help tips to more UI surfaces and fix search filter dropdown z-index
- Add 'How do I report harmful content?' help tip to Muted Content and Sensitive Content sections
- Add 'For You page' help tip to Home Feed settings header
- Move wallet help tip from NWC section to Wallet page header
- Add 'What are zaps?' help tip to Zap dialog title
- Add 'Mastodon/Bluesky comparison' help tip to Platform filter in search
- Fix Select dropdown z-index (250->270) so dropdowns render above filter popover (260)
2026-03-07 20:14:17 -06:00
Mary Kate Fain 9ae535a6a8 Merge branch 'main' of gitlab.com:soapbox-pub/ditto into help-tips-in-settings 2026-03-07 20:03:21 -06:00
Mary Kate Fain 97faa72dd0 Add help to initial sidebarOrder so it appears for all users including logged-out 2026-03-07 20:02:34 -06:00
Mary Kate Fain 405fcde5ad Add FAQ help tips to settings pages for confusing Nostr concepts
Create a reusable HelpTip component that shows a (?) icon popover with
FAQ content pulled from helpContent.ts, linking to the full Help page.

Place tips in settings where normie users are likely confused:
- Network settings: Relays and Blossom Servers section headers
- Wallet settings: NWC section header and zaps empty state
- Notification settings: next to 'zaps' in push notification description
- Profile settings: next to the Lightning address field
- Relay list manager: next to 'Your Relays' header (also remove NIP-65 jargon)
- Content settings: next to subtitle mentioning Nostr content types
2026-03-07 19:58:29 -06:00
Mary Kate Fain 753fc76e1e Add border to FAQ button on logged-out home view 2026-03-07 19:52:46 -06:00
Mary Kate Fain d557870360 Fix Ditto link text to show soapbox.pub/ditto 2026-03-07 19:47:52 -06:00
Mary Kate Fain dc5f0b1f27 Remove 'freedom-of-speech advocates' from Soapbox description 2026-03-07 19:47:52 -06:00
Mary Kate Fain f6d92f0d83 Update FAQ: app store planned, link wallet providers and zaps guide
- Replace open protocol mention with 'app store releases planned' on download question
- Link Alby, Zeus, and Wallet of Satoshi on wallet question
- Link nostr.how zaps guide on zaps question
2026-03-07 19:47:52 -06:00
Mary Kate Fain 85deda4dd3 Add FAQ button to logged-out homepage next to login/signup 2026-03-07 19:47:52 -06:00
Mary Kate Fain 2fe0a0825c Add more FAQ questions and resource links
- Add 'Can I log into other Nostr apps with my Ditto account?' to Getting Started, link nostrapps.com
- Add 'Is there a Nostr-specific app store?' to Apps & Access, link Zap Store and nostrapps.com
- Add relay learn-more link to nostr.how/en/relays
- Add Blossom learn-more link to onnostr.substack.com article
2026-03-07 19:47:52 -06:00
Mary Kate Fain a703f3629a Enrich FAQ with resource links, add What is Ditto and self-hosting questions
- Add 'What is Ditto?' as first question linking to soapbox.pub/ditto
- Reword 'What is Nostr?' and link to Nostr 101 blog post
- Link Managing Nostr Keys blog on both secret key questions
- Add source code and Shakespeare links to open source answer
- Add 'Can I self-host Ditto?' question linking to self-hosting guide
- Link The Future Is Decentralized blog on decentralization answer
- Link ethics pledge on big tech comparison answer
2026-03-07 19:47:52 -06:00
Mary Kate Fain 85d2ea75fc Add Mastodon/Bluesky comparison question to Big Tech FAQ section 2026-03-07 19:47:52 -06:00
Mary Kate Fain 0e3269e9c9 Indent FAQ questions with left padding under category headings 2026-03-07 19:47:52 -06:00
Mary Kate Fain 0af1b38f77 Replace section divider lines with colored pill headings, increase pill size 2026-03-07 19:47:52 -06:00
Mary Kate Fain 726c8a6b3e Improve Help FAQ: section dividers, bolder questions, darker answers, report clarification
- Add visible border-t dividers between FAQ category sections
- Shorten relay question to just 'What are relays?'
- Make questions bigger (text-base) and bolder (font-semibold)
- Darken answer text from muted-foreground to foreground/80
- Clarify report answer to mention the three-dot menu on posts
2026-03-07 19:47:52 -06:00
Mary Kate Fain a41fa2833a Fix spacing between FAQ description and first category heading 2026-03-07 19:47:52 -06:00
Mary Kate Fain d328144f8d Add Help page with Nostr 101 FAQ and Team Soapbox followpack
Introduce a new /help route with beginner-friendly FAQ content covering
getting started, apps, payments, content safety, and why Nostr differs
from big tech. Includes reusable HelpFAQSection and TeamSoapboxCard
components that can be embedded on other pages. Help appears in the
default sidebar so new users see it without manual configuration.
2026-03-07 19:47:52 -06:00
Alex Gleason 97ef08a902 Fix unused StepNav lint error in InitialSyncGate 2026-03-07 19:27:45 -06:00
Alex Gleason 0255f5dd33 Stop onboarding from overriding sidebar order
The onboarding modal was setting a hardcoded sidebarOrder, overriding
the default from useFeedSettings. Remove the sidebar order logic from
onboarding so new users get the standard default sidebar instead.
2026-03-07 19:17:20 -06:00
Alex Gleason d626a80987 Merge branch 'main' of gitlab.com:soapbox-pub/ditto 2026-03-07 19:06:11 -06:00
Alex Gleason 1235681249 Fix signup flow skipping keygen/download/profile steps after safety removal 2026-03-07 19:05:27 -06:00
Alex Gleason 02d2a97a75 Remove content safety step from onboarding dialog 2026-03-07 19:01:39 -06:00
Alex Gleason 57f9aab0a3 Remove welcome step from onboarding dialog 2026-03-07 18:52:05 -06:00
Mary Kate 4b185e735b Merge branch '83-settings-ui-cleanup' into 'main'
Clean up settings UI: replace complex images with icons, remove duplicate headers

Closes #83

See merge request soapbox-pub/ditto!58
2026-03-08 00:51:33 +00:00
Mary Kate Fain 5f22bbf79b Revert community conditional, rename Feed Tabs to Home Feed Tabs
- Undo conditional rendering of community management section
- Rename 'Feed Tabs' section header to 'Home Feed Tabs'
2026-03-07 18:44:58 -06:00
Mary Kate Fain e65485a44b Rename Feed settings to Home Feed, clarify labels, conditionally show community
- Rename 'Feed' to 'Home Feed' in settings hub, page header, and SEO title
- Rename 'Notes' section to 'Basic Home Feed Options'
- Rename 'Other Stuff' to 'Show More Content Types in Home Feed'
- Rename 'Reposts' to 'Reposted Notes', 'Generic Reposts' to 'Reposted Other Content'
- Only show community domain management when community feed toggle is on
2026-03-07 18:43:00 -06:00
Mary Kate Fain 36db39584f Remove collapsible behavior from non-Advanced settings sections
Convert 10 collapsible sections to always-visible static sections with
plain subheaders across Feed, Content, Network, Profile, and Lists pages.
The 'Advanced' section on Profile and all sections within AdvancedSettings
remain collapsible.
2026-03-07 18:37:29 -06:00
Chad Curtis 15c5786663 Refactor note more menu: remove njump option, replace event JSON/ID with detail modal 2026-03-07 18:32:34 -06:00
Mary Kate Fain 398e3983d4 Move Lists to sidebar, remove Codex ornaments, add pencil edit indicators
- Remove 'Codex of Configuration' heading, ornament dividers, and bottom ornament from settings hub
- Remove Lists from settings menu; add as sidebar item with Scroll icon at /lists
- Reverse the /lists <-> /settings/lists redirect for backward compatibility
- Add persistent pencil icon badges on avatar and banner in ProfileCard edit mode
- Pencil badges fade on hover to reveal the full camera overlay
2026-03-07 18:28:46 -06:00
Mary Kate Fain 26082d6a61 Clean up settings UI: replace complex images with icons, remove duplicate headers
- Replace IntroImage PNG illustrations with simple Lucide icons on settings hub menu
- Remove redundant intro blocks (image + second heading + description) from all settings sub-pages
- Enrich page header descriptions with educational Nostr context
- Remove inner IntroImages and duplicate headings from ContentSettings collapsible sections
- Keep settings hub personality (Codex of Configuration, ornaments, magic sigil easter egg)

Fixes: https://gitlab.com/soapbox-pub/ditto/-/issues/83
2026-03-07 18:24:18 -06:00
Mary Kate Fain 1468e67253 Fix color picker popover clipped by dialog overflow
Move overflow-y-auto from DialogContent to an inner wrapper div so the
color picker popover (portaled into the dialog) is not clipped by the
overflow boundary. The dialog container uses overflow-visible while the
inner div handles scrolling.
2026-03-07 17:08:07 -06:00
Mary Kate Fain df51a6c7a8 Fix font picker and color picker scroll inside theme edit dialogs
Portal popover content into the Dialog DOM tree via PortalContainerProvider
so Radix Dialog's RemoveScroll doesn't block scroll events on the font
picker dropdown list. Fixes both ThemeSelector builder and ProfilePage
edit profile theme dialogs.
2026-03-07 17:03:33 -06:00
Mary Kate Fain b045fb53b9 Fix color pickers and font selector rendering behind theme edit dialog 2026-03-07 16:57:31 -06:00
Alex Gleason 41d2a31177 Remove content type selection step from onboarding
All content types are already enabled by default, so the 'What interests
you?' step was redundant. The onboarding flow now goes directly from
theme selection to content safety.
2026-03-07 15:37:49 -06:00
Alex Gleason a38d63a1f7 Limit onboarding theme grid to 9 items
Add a limit prop to ThemeGrid and pass limit={9} from the onboarding
ThemeStep so users see a clean 3×3 grid instead of 28+ themes.
2026-03-07 15:30:46 -06:00
Alex Gleason 23bf62a38f Fix onboarding modal unable to scroll to top of theme grid
Replace items-center/justify-center on the scroll container with
my-auto/mx-auto on the child. The flex centering was pushing the top
of the content above the scroll boundary when the theme grid exceeded
the viewport height, making it unreachable.
2026-03-07 15:27:34 -06:00
Mary Kate Fain 228d81a75a Merge origin/main and resolve conflict in Feed.tsx 2026-03-07 14:37:59 -06:00
Mary Kate Fain 6f24fefa0c Remove unused useState imports from EventsFeedPage and PhotosFeedPage 2026-03-07 14:32:20 -06:00
Alex Gleason bbcd9df17e Fix ESLint errors: remove unused Button import and config variable in Feed 2026-03-07 14:31:25 -06:00
Alex Gleason 12118b5f2a Only show glitched logo easter egg for logged-in users 2026-03-07 14:26:12 -06:00
Alex Gleason 99842593ab Merge branch 'main' of gitlab.com:soapbox-pub/ditto 2026-03-07 14:22:16 -06:00