Skip to content

Feature/dashboard payments#279

Open
Opulencechuks wants to merge 2 commits into
NOVUS-X:mainfrom
Opulencechuks:feature/dashboard-payments
Open

Feature/dashboard payments#279
Opulencechuks wants to merge 2 commits into
NOVUS-X:mainfrom
Opulencechuks:feature/dashboard-payments

Conversation

@Opulencechuks
Copy link
Copy Markdown

This PR closes #147
Title: feat: implement authenticated dashboard and escrow payment flow

Description
This PR introduces the core dashboard experience and the integrated Stellar escrow payment flow. It bridges the UI, authentication, blockchain signing, and real-time status updates.

Key Features:

  • Authenticated Dashboard Shell: A secure, role-aware layout with a premium sidebar for easy navigation.
  • Dynamic Bookings View: Filterable and searchable list of bookings with status-dependent action buttons for both clients and artisans.
  • Stellar Escrow Payment Flow: A robust, multi-step workflow for clients to fund escrow using their Stellar wallets (Freighter, etc.).
  • Payment History: A dedicated view to track all escrow transactions with direct links to the Stellar Explorer.
  • Backend Integration: New endpoints for fetching user-specific payment history and updating booking statuses.

Technical Details:

  • Uses WalletContext for blockchain interactions.
  • Implements optimistic UI for status transitions.
  • Uses Radix UI for accessible modal dialogs.
  • Adds a new endpoint to the backend payments router for payment history.

How to Test

  1. Setup: Ensure the backend is running and the database is populated with at least one artisan and one client user.
  2. Login: Log in as a client and navigate to /dashboard. Verify you are redirected to /dashboard/bookings.
  3. Bookings Page:
    • Verify that you can see your bookings (or the "No bookings yet" empty state).
    • Test filters (All, Pending, Active, Completed) and the search bar.
  4. Status Transitions (Artisan):
    • Log in as an artisan.
    • Go to a pending booking and click "Confirm". Verify status changes to "Confirmed".
    • Click "Start Job". Verify status changes to "In Progress".
  5. Payment Flow (Client):
    • Log in as a client.
    • Go to a "Confirmed" booking and click Pay Now.
    • Verify the PaymentModal opens.
    • Connect your Stellar wallet (e.g., Freighter).
    • Click Confirm & Pay and sign the transaction in the wallet popup.
    • Verify successful submission and the link to the Stellar Explorer.
  6. Payments Page:
    • Go to /dashboard/payments.
    • Verify wallet connection status.
    • Verify that the payment appears in the Payment History section with the correct status and hash link.
  7. Responsiveness: Check the dashboard on different screen sizes to ensure the sidebar and cards adapt correctly.

Acceptance Criteria:

  • Dashboard is auth-gated, role-aware
  • Booking status transitions fire API calls correctly
  • Wallet connect/disconnect works
  • Full prepare → sign → submit payment flow executes end-to-end
  • Transaction hash linked to Stellar Explorer
  • Error handling for wallet rejection, network failure
  • All pages responsive

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 26, 2026

@Opulencechuks 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

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.

ISSUE-09 · 🟠 HIGH — Frontend: Dashboard & Stellar Wallet Payment Flow

1 participant