Skip to content

offers flow + toast notifications + auth UX improvements#9

Merged
moehdotdev merged 1 commit into
mainfrom
dev
Mar 8, 2026
Merged

offers flow + toast notifications + auth UX improvements#9
moehdotdev merged 1 commit into
mainfrom
dev

Conversation

@moehdotdev

Copy link
Copy Markdown
Owner

this pr improves user feedback across the app by replacing inline error states with toast notifications, introduces a full offer creation flow on the product page, and improves authentication and session UX. it also cleans up the root layout and updates branding in auth screens and the header.

toast notifications system

centralized user feedback
this pr replaces inline success and error messages with toast notifications to provide a more consistent and non-blocking feedback system.

changes:

  • added toaster provider in root layout
  • replaced inline error/success states with toast calls
  • standardized error handling across mutations

result:
users now receive immediate feedback without breaking layout flow or requiring additional UI elements.

account page improvements

toast based feedback
profile updates now use toast notifications instead of inline messages.

changes:

  • removed error and success state variables
  • added success toast after successful profile update
  • added destructive toast on update failure

session management
added a dedicated session section to allow users to sign out directly from their account page.

changes:

  • added session card
  • implemented sign out button using convex auth actions
  • redirect user to signin page after logout

result:
simpler account UI with clearer feedback and explicit session control.

product page offer system

this pr introduces a complete offer submission flow with validation, confirmation, and optional messaging.

offer dialog
replaced the old modal card with a proper dialog component.

changes:

  • introduced shadcn dialog components
  • user can input a custom offer amount
  • real-time formatted offer preview
  • loading state while submitting

validation
added validation before sending offers.

checks include:

  • amount must be numeric
  • amount must be greater than zero

invalid input now triggers a destructive toast instead of failing silently.

offer success confirmation
after submitting an offer the user sees a confirmation dialog.

success dialog features:

  • visual success indicator
  • confirmation message
  • option to message seller immediately
  • option to continue browsing

seller messaging shortcut
users can start a conversation directly after submitting an offer.

flow:
submit offer → success dialog → send message → redirect to conversation

the message automatically includes the submitted offer amount.

owner protection
prevent users from interacting with their own listings.

changes:

  • owner cannot create offers
  • owner cannot message themselves
  • appropriate toast messages shown

result:
clearer marketplace interaction rules and better UX safeguards.

product interaction improvements

swipe feedback
swipe errors are now handled with toast notifications instead of inline error cards.

contact seller improvements
starting a conversation now:

  • handles errors via toast
  • redirects directly to the conversation

header authentication UX

auth loading state
added a loading state to prevent auth flicker.

changes:

  • added isLoading from convex auth
  • disabled account button while auth state resolves
  • prevents UI mismatch during hydration

notification actions
notification actions now respect auth loading state.

changes:

  • disabled mark-all-read when auth is still loading

mobile menu hydration fix
added suppressHydrationWarning to the mobile menu button to avoid hydration mismatch warnings.

branding updates

header logo update
the header brand now uses the swap logo without text.

changes:

  • added logo image
  • removed the old SWAPP text label
  • simplified header brand styling

signin page branding
updated signin page branding to match the application identity.

changes:

  • added swap logo in auth header
  • updated hero messaging
  • replaced generic marketing copy with swap-specific description

new hero message:
Swipe. Match. Trade.

layout cleanup

root layout simplification
cleaned up the global layout configuration.

changes:

  • removed unused font imports
  • simplified html and body class setup
  • added global toaster provider
  • removed unused app layout references

dependency addition

added sonner dependency for toast notifications.

result

this pr improves the product interaction experience and overall UX by:

  • introducing a structured offer submission flow
  • replacing inline error handling with toast notifications
  • improving authentication loading states
  • adding clearer seller interaction rules
  • simplifying layout and branding structure

@moehdotdev moehdotdev merged commit b7299b2 into main Mar 8, 2026
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.

1 participant