Home Dashboard
The default landing page at /wallet-central/. Designed like a banking app — balance hero, quick actions, recent activity at a glance.
What It Does
| For | Means |
|---|---|
| Customer | Single screen for everything wallet — balance, top up, send, withdraw, scan QR, recent activity |
| Admin | Configurable hero, density, side-rail cards. Customers can also customise via the Tweaks panel |
What Customers See
┌──────────────────────────────────────────────────────────┐
│ Sidebar │ KPIs strip (4 cards) │
│ ├────────────────────────────────────────┤
│ Wallet │ Hero (balance + masked wallet ID) │
│ Transactions ├────────────────────────────────────────┤
│ Send │ Action grid 2×2 │ Quick top-up │
│ Withdraw │ [Add money] │ [Preset chips] │
│ QR │ [Send] [Withdraw]│ [Custom amount] │
│ Refer & earn │ [Redeem] │ [Add to Wallet] │
│ Settings ├───────────────────┼────────────────────┤
│ KYC │ Recent activity │ Pending requests │
│ │ │ Saved payees │
│ │ │ Linked accounts │
│ │ │ Daily limits │
│ │ │ Refundable orders │
│ │ Help strip │
└──────────────────────────────────────────────────────────┘

The top header — breadcrumb, title, and segmented tabs (Overview / Statements / Linked accounts):

The greeting card — avatar, welcome line, KYC pill, transactions stat:

KPIs Strip
Four cards at the top:
| Card | What it shows |
|---|---|
| Balance | Current wallet balance |
| 30-day credited | All money flowing in over the window |
| 30-day debited | All money flowing out |
| Pending requests | Incoming + sent payment requests waiting |
Click any card → drills into the relevant view.

Hero Variants
Customers can switch the hero look via the Tweaks panel:
| Variant | Look |
|---|---|
| A · Big number | Centred huge balance + hide / show toggle, no decoration |
| B · Credit card (default) | Brand strip + masked wallet ID + balance + currency chip — modern fintech |
| C · Wide bar | Single-row strip with balance + KPIs inline — densest |
Persisted in browser localStorage.

Action Grid
Four big buttons:
| Tile | Goes to | Locked when |
|---|---|---|
| Add money | Add Funds view | always available |
| Send | Send Money view | KYC required + not approved, OR transfer-locked |
| Withdraw | Withdraw view | KYC required + not approved |
| QR Pay | QR Pay view | KYC required + not approved |
Locked tiles show dimmed with a "KYC" pill — clicking still navigates so the customer sees the locked card with "Verify KYC" CTA.

Quick Top-up Panel
Mini Add Funds form right on the home view. Preset chips + custom amount + Submit. Same flow as the full Add Funds view, just inline.
Recent Activity
Top 10 ledger rows with iconised type, amount, date, related order link. "View all" → full Transactions.
Filter chips: All / Credit / Debit / Refund / Transfer.

Right-Rail Cards
On wider viewports, a stacked column on the right with:
Pending Requests
Up to 5 incoming pending payment requests with Approve / Decline inline buttons. See Payment Requests.
Saved Payees
Last 5 transfer recipients. Tap to pre-fill Send form.
Linked Accounts
Bank / PayPal / Stripe presence indicator. Click → edit.
Daily Limits
Progress bars showing today's transfer / withdrawal / top-up usage against admin caps.
Refundable Orders
Last 5 completed orders eligible for refund-to-wallet request. Inline "Request refund" button.

Help Strip
Bottom of the view:
| Pill | Target |
|---|---|
| FAQ | opens the FAQ inline |
| Support | external — your support URL |
| Admin | (admin only) WC settings page in new tab |
Common Scenarios
Customer wants to do everything from one screen
Default home view already has all main actions on one screen. They never need to leave for top-up / send / withdraw / scan.
Hide the right rail entirely
Each side-rail card has an admin toggle. Or hide the rail wholesale via a one-line filter (see dev section).
Add a custom KPI card
Use the KPI filter to inject your own card (see dev section).
When Something Goes Wrong
| Problem | Fix |
|---|---|
| Balance shows stale value | Stale cache — Wallet → Status → Tools → Wallet → Clear cache |
| Action tile dimmed unexpectedly | KYC required and not approved, or feature disabled in admin |
| Right rail missing on mobile | Expected — collapses below content on viewports < 1024px |
For developers — hooks
Hooks
| Hook | Type | When |
|---|---|---|
wkwp_central_home_kpi_cards | filter | mutate KPI list |
wkwp_central_home_hero_variant_default | filter | per-user default variant |
wkwp_central_home_action_tiles | filter | mutate action grid |
wkwp_central_home_right_rail_cards | filter | mutate side-rail card order / visibility |
Hide right rail
add_filter( 'wkwp_central_home_right_rail_cards', '__return_empty_array' );
Custom KPI card
add_filter( 'wkwp_central_home_kpi_cards', function( $cards ) {
$cards[] = [
'label' => 'Avg topup',
'value' => wc_price( 250 ),
'href' => WKWP_Central_Router::url( 'transactions', [ 'type' => 'credit' ] ),
];
return $cards;
} );
