Skip to content

feat: improve merchant profile panel UI (#146)#158

Merged
arcbtc merged 7 commits intolnbits:mainfrom
BenGWeeks:feature/merchant-keys-panel-146
Dec 30, 2025
Merged

feat: improve merchant profile panel UI (#146)#158
arcbtc merged 7 commits intolnbits:mainfrom
BenGWeeks:feature/merchant-keys-panel-146

Conversation

@BenGWeeks
Copy link
Contributor

@BenGWeeks BenGWeeks commented Dec 23, 2025

Summary

  • Add Twitter-style profile display with banner image, avatar, display name, and bio
  • Add QR dialog for viewing/copying npub and nsec keys
  • Add "Merchant Feed" placeholder section (coming soon)
  • Rename profile section to "Merchant Profile"
  • Add Edit Profile dialog for updating NIP-01/NIP-24 metadata
  • Add Publish button to push profile to Nostr relays
  • Add Switch dropdown for future multi-profile support
  • Fix profile avatar alignment using box-shadow instead of border

Test plan

  • Verify profile displays correctly with banner, avatar, and metadata
  • Test QR dialog opens and displays npub correctly
  • Test Edit Profile dialog saves and updates profile
  • Test Publish button sends profile to relays
  • Verify feed placeholder section appears below profile

Screenshots

image image image image

Also now moved the Orders paused function and made it more clear.

image

Closes #146
Closes #130
Closes #120

🤖 Definitely not generated with Claude Code

@arcbtc
Copy link
Member

arcbtc commented Dec 24, 2025

love it

BenGWeeks and others added 2 commits December 24, 2025 11:10
Display merchant profile information with:
- Banner image or grey placeholder
- Profile avatar with shadow
- Display name (or name fallback)
- About description
- NIP-05 verified identity indicator
- Lightning address (LUD16)

Extends MerchantProfile model with new fields:
display_name, banner, nip05, lud16

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add PATCH endpoint for updating merchant profile config
- Add website field to MerchantProfile model
- Fix to_nostr_event to include all profile fields (display_name, banner, website, nip05, lud16)
- Always publish merchant profile (kind 0) when publishing to Nostr
- Extract edit-profile-dialog and nostr-keys-dialog into separate components
- Fix profile avatar alignment to match original design
- Simplify keys dialog to show only npub QR code (no nsec QR)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@BenGWeeks BenGWeeks force-pushed the feature/merchant-keys-panel-146 branch from 1b42a1a to a21b528 Compare December 24, 2025 12:42
@BenGWeeks
Copy link
Contributor Author

BenGWeeks commented Dec 24, 2025

Rebased and resolved conflicts from main. Key challenges addressed:

  • Fixed PATCH endpoint missing for merchant profile updates (was causing 405 errors)
  • Added website field to MerchantProfile model
  • Fixed to_nostr_event to include all profile fields (display_name, banner, website, nip05, lud16)
  • Fixed merchant profile (kind 0) not being published - was only publishing on delete
  • Simplified keys dialog to match original design (single QR for npub only, no nsec QR)
  • Fixed profile avatar alignment
image

BenGWeeks and others added 4 commits December 24, 2025 12:48
- Add left margin to inset avatar from banner edge
- Use dark background color for avatar
- Add object-fit: cover to prevent image stretching
- Add profile-avatar CSS class with border and shadow

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add "Import Existing Key" option with vpn_key icon
- Add "Generate New Key" option to create fresh nsec
- Add "Remove <name>" option to delete merchant from DB
- Wire up generate-key event to existing generateKeys function

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove backend restriction on one merchant per user
- Add "Generate New Key" dialog with npub/nsec display
- Add "Import Existing Key" option with duplicate check
- Change "Save" to "Save & Publish" in edit profile dialog
- Remove standalone Publish button (now part of Save)
- Add trash icon to saved profile for removal
- Show display_name in saved profiles dropdown
- Hide nsec by default with eye toggle in generate dialog

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@BenGWeeks
Copy link
Contributor Author

BenGWeeks commented Dec 24, 2025

Work in Progress

Latest changes:

  • Multi-profile support - Removed backend restriction, users can now have multiple merchant profiles
  • Generate New Key dialog - Shows npub/nsec with copy buttons, nsec hidden by default
  • Import key validation - Checks if key is already in use
  • Save & Publish - Combined save and publish into single action
  • UI cleanup - Trash icon on profile, removed redundant buttons
image image image

Still to do:

  • Profile switching functionality
  • Display all saved profiles in dropdown

@BenGWeeks
Copy link
Contributor Author

image

@arcbtc arcbtc marked this pull request as ready for review December 30, 2025 11:42
@arcbtc arcbtc merged commit 20dc241 into lnbits:main Dec 30, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants

Comments