> ## Documentation Index
> Fetch the complete documentation index at: https://docs.younegotiate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dashboard

> Jane has three creditor accounts: one new settlement offer, one payment plan, and one paid account.

## Real-World Example

Jane has three creditor accounts: one new settlement offer, one payment plan, and one paid account. The My Accounts dashboard should make those statuses easy to scan and should route Jane to the next useful action for each account.

## Visual Flow

```mermaid placement="top-right" actions={true} theme={"system"}
flowchart TD
    A["Consumer opens My Accounts"] --> B["Portal loads consumer-owned accounts"]
    B --> C["Accounts are grouped by status"]
    C --> D["Consumer selects the account that needs action"]
    D --> E["Portal opens the matching offer, notice, payment, or history flow"]
    classDef default fill:#F8FAFC,stroke:#64748B,stroke-width:1.5px,color:#0F172A;
    classDef actor fill:#E0F2FE,stroke:#0284C7,stroke-width:2px,color:#0C4A6E;
    classDef system fill:#F8FAFC,stroke:#64748B,stroke-width:1.5px,color:#0F172A;
    classDef decision fill:#FEF3C7,stroke:#D97706,stroke-width:2px,color:#78350F;
    classDef risk fill:#FEE2E2,stroke:#DC2626,stroke-width:2px,color:#7F1D1D;
    classDef outcome fill:#DCFCE7,stroke:#16A34A,stroke-width:2px,color:#14532D;
    class A,D actor;
    class B,C,E system;
    class E outcome;
    linkStyle default stroke:#94A3B8,stroke-width:2px;
```

## How It Should Work

* It should show accounts that match the authenticated consumer's identity keys: last name, date of birth, and last four SSN.
* It should convert matching uploaded, visited, or not-verified accounts to joined when the consumer reaches My Accounts.
* It should group accounts by business status so the consumer knows what needs attention.
* It should preserve creditor identity, balance context, and available actions on every account card.
* It should exclude accounts the consumer has intentionally hidden from their dashboard.
* It should use the consumer's personal branding if set; otherwise the dashboard header should stay on default YouNegotiate branding because multiple creditors can appear together.
* It should update when negotiations, payments, notice responses, or cancellations change status.

## How It Should Not Work

* It should not use email or phone alone to decide which accounts belong on the dashboard.
* It should not hide an account that still needs consumer action.
* It should not show actions that are no longer valid for the current status.
* It should not make one creditor's logo look like it owns the whole dashboard when another creditor's account is also present.

## Developer Notes

* My Accounts is the main consumer hub and is driven by ConsumerStatus tab grouping.
* The account query intentionally uses blind-index identity matching, not only the authenticated consumer row id, because one portal session can surface multiple creditor accounts for the same person.
* When adding a status, update the tab logic, sidebar docs, and any related action components together.

## Related App Areas

* `app/Livewire/Consumer/MyAccount.php`
* `resources/views/livewire/consumer/my-account.blade.php`
* `app/Enums/ConsumerStatus.php`
* `app/Livewire/Consumer/Traits/MyAccounts/Conditions.php`
