Dashboard Shell UI & Merchant Setup Flow#204
Open
aabxtract wants to merge 3 commits into
Open
Conversation
…ilities feat: create dashboard layout with authentication and sidebar navigation feat: implement dashboard overview page with recent invoices and wallet information feat: add settings page for managing merchant account and webhook configuration feat: create reusable dashboard layout and navigation components feat: implement header component displaying wallet status and balance feat: add sidebar navigation for easy access to dashboard sections feat: create custom hook for fetching merchant wallet information
…egration dependencies
Contributor
|
@aabxtract please resolve merge conflicts Also fix failing workflow |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces a major visual overhaul of the Invoisio dashboard shell to provide a premium, dynamic merchant workspace, along with a complete backend setup flow for merchants to configure their payout and profile details securely.
What's Changed
🎨 Frontend: Premium Dashboard Shell
Transformed the basic scaffolding into a responsive, polished UI with dark-mode styling and fluid micro-animations.
globals.css): Introduced 40+ CSS tokens defining a deep navy palette, glassmorphism (backdrop-filter: blur), and comprehensive keyframe animations.sidebar.tsx): Upgraded to support a smooth toggle between full (260px) and icon-only (72px) modes. Added a slide-in mobile drawer with a backdrop.header.tsx): Rebuilt using glassmorphism. Includes breadcrumbs, a Stellar Testnet status badge, a pulsing auth status pill, and a responsive wallet balance card showing XLM/USDC with fiat equivalents.dashboard-layout.tsx): Engineered with a unifiedSidebarProvidercontext that adjusts main content padding automatically based on the sidebar's collapse state.require-auth.tsx): Replaced the basic spinner with a customized shimmer skeleton that mimics the exact layout of the dashboard shell to prevent layout shift.⚙️ Backend: Merchant Setup Flow
Enabled campaign contributors to test against realistic account data by establishing the merchant setup/profile lifecycle.
schema.prisma): AddedbusinessEmail,preferredAsset, andpayoutWalletfields to theMerchantmodel. Applied database migrations successfully.is-stellar-public-key.validator.ts): Built a custom class-validator decorator utilizing@stellar/stellar-sdk'sStrKey.isValidEd25519PublicKey. This securely rejects malformed or invalid Stellar addresses at the routing boundary.merchant.controller.ts):GET /merchants/:merchantId/profile: Fetch the current profile.PATCH /merchants/:merchantId/profile: Update configurations (usingUpdateMerchantProfileDto).JwtAuthGuardand RBAC decorators.merchant.module.ts): Wired up the isolatedMerchantModuledirectly intoAppModuleso the application can finally serve these endpoints.Testing Instructions
npm installin both/weband/backend.npx prisma migrate dev./web, view the dashboard across desktop (1440px), tablet (768px), and mobile (375px) breakpoints to verify the sidebar collapse and hamburger drawer.PATCHto the profile endpoint with an invalidpayoutWallet(e.g.,"G123INVALID") and ensure it returns a400 Bad Request. Pass a valid Ed25519 public key and ensure it returns200 OK.closes #152
closes #157