Skip to content

feat(settings): add merchant profile edit page - #609

Open
frankrichard99 wants to merge 3 commits into
kellymusk:mainfrom
frankrichard99:feat/497-merchant-profile-edit
Open

feat(settings): add merchant profile edit page#609
frankrichard99 wants to merge 3 commits into
kellymusk:mainfrom
frankrichard99:feat/497-merchant-profile-edit

Conversation

@frankrichard99

Copy link
Copy Markdown

Summary

Adds a complete merchant profile management page at /settings where merchants can update their name, business name, and email, with a danger zone for account deletion.

What's included

  • Profile edit form: Editable personal name and merchant/business name, saved via /me POST
  • Live reflection: Wallet page header now reads from session context, so profile changes appear immediately without reload
  • Change email flow: Sends verification email before updating; shows confirmation state
  • Danger zone: Delete account with AlertDialog confirmation; calls /me DELETE, clears session, redirects to login
  • Settings navigation: Profile and API Keys links in the settings layout sidebar

Files changed

File Action Description
lib/api.ts Modified Added UpdateProfileRequest, UpdateProfileResponse, ChangeEmailRequest, ChangeEmailResponse, DeleteAccountResponse, and updateProfile, changeEmail, deleteAccount methods
components/session-provider.tsx Modified Added refreshMe callback and me state to cache profile data across the app
app/(app)/settings/layout.tsx Modified Added Profile nav link; Profile is now the default settings page
app/(app)/settings/page.tsx Created Full profile edit page with forms, email change, and danger zone
app/(app)/wallet/page.tsx Modified Reads me from useSession instead of local state for live name updates

Screenshots

(Add screenshots in the PR if possible)

Testing

  • Verified TypeScript compilation with npm run build
  • Tested profile save, email change flow, and delete account dialog manually
  • Confirmed wallet page header updates immediately after profile save

Closes #497

- Add /settings/api-keys page with list, create, and revoke flows
- Add ApiKey type and API methods (list, create, revoke) to lib/api.ts
- Add Settings link to wallet sidebar
- Show full key once after creation with copy-to-clipboard
- Mask key values after initial creation
- Confirm before revoking with destructive action dialog
- Handle loading, empty, and error states consistently

Closes kellymusk#498
- Add /settings page with editable merchant name and personal name
- Add change-email flow with verification email before updating
- Add danger zone with delete account confirmation dialog
- Update session provider to expose refreshMe and cached me data
- Update wallet page to read merchant name from session context
  so changes reflect immediately without a page reload
- Add Profile nav link to settings layout alongside API Keys

Closes kellymusk#497
@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

@frankrichard99 is attempting to deploy a commit to the kelly musk's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@frankrichard99 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

…firmations

- Add usePushNotifications hook for SW registration, permission handling,
  subscription management, and iOS graceful fallback
- Add PushNotificationToggle component with backend sync via custom events
- Add push subscription API methods (subscribe, unsubscribe, status)
- Add Notifications section to /settings page with opt-in toggle
- Replace stale generated sw.js with clean custom service worker that
  imports the existing push-handler.js for push events and notification clicks
- Register service worker at root layout for background delivery
- Handle unsupported browsers, denied permissions, and loading states

Closes kellymusk#496
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(settings): add merchant profile edit page

1 participant