Dashboard
/dashboard — DashboardModule, guarded by DocuSignGuard (which is really the
DocuSign return handler, see Route Guards).
The dashboard is a widget board. Which cards appear depends entirely on the supplier’s calculated permissions and product state, so two suppliers rarely see the same page.
Widgets and their gates
| Widget | Permission | Shows |
|---|---|---|
|
— |
Account status and activation progress. |
|
— |
KYC status and the ID-upload prompt. |
|
|
The configured payout method. |
|
|
Available credit, outstanding balance, draw CTA. |
|
|
Open drawdowns. |
|
|
Active Instant Advance and repayment progress. |
|
|
Pending Instant Advance awaiting signature. |
|
— |
Instant Transfer eligibility CTA. |
|
|
Card balance and quick actions. |
|
|
Incoming vendor payments. |
|
|
Referral programme promotion. |
|
|
Recent daily transaction totals. |
|
— |
Outstanding document requirements. |
CTA cards |
|
Notification-driven offers — see Dashboard Notifications & CTAs. |
Gating in the template uses the full dotted permission names:
<div *ngxPermissionsOnly="['ADVANCE_LINE.VIEW_ADVANCE_LINE_WIDGET']">
<pyb-advance-line-widget></pyb-advance-line-widget>
</div>
Widgets render pyb-skeleton placeholders while their slice is loading.
DashboardComponent
views/pages/dashboard/dashboard.component.ts, extends Subscriber.
State it selects:
|
The user, for status-driven rendering. |
|
Advance Line summary. |
|
The active Instant Advance. |
|
Connected channels. |
|
Available balance. |
|
Free-access cohort rendering. |
Actions it dispatches on init:
|
Loads the notification set that drives CTA cards. |
|
Loads the Advance Line summary. |
Services it composes:
|
Page title and breadcrumbs. |
|
The onboarding progress bar, shown when the supplier is still pre-activation ( |
|
The product summary panel. |
|
Cross-component messages and the account-cancelled banner. |
|
Inline success and error toasts. |
|
Direct status reads where the slice is not sufficient. |
|
|
Page-load timing
/dashboard is the only route in the PageLoadTimeTrackerModule.forRoot([…])
allow-list, so its render duration is measured and pushed to CloudWatch. See
Observability.
Session-start side effects
Landing on the dashboard is what triggers most one-time session behaviour, via
GlobalSubscriptionsService.init():
-
welcome modal (
new_sd_welcome), -
Airwallex terms modal (
airwallex_pcard_terms), -
Seller Card transition modal (
identity_document_expired), -
the re-sign contract flow,
-
the 2FA setup banner, suspension banner, cancellation banners,
-
marketplace connector health checks,
-
fetchFees().
SuspensionReasonInitializerService additionally listens for navigation to
/dashboard and opens the suspension modal there specifically — see
Suspension.
DocuSign returns
Because DocuSignGuard is applied here, a supplier returning from DocuSign with
flowType and event query parameters has their flow executed before the
dashboard renders, and is then redirected to a clean URL. See
DocuSign Contract Flows.