> ## 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.

# Personalize My Portal

> Jane uploads a profile image and chooses portal colors that make her account area feel personal.

## Real-World Example

Jane has one account with ABC Collections and another account with XYZ Collections. ABC uses blue branding and XYZ uses green branding.

If Jane chooses her own portal colors, her colors should display across the consumer portal, including My Accounts, EcoMailbox, calendar, payment setup, and negotiation pages. If Jane has not chosen her own colors, the portal should stay neutral on global pages and only show creditor branding when she opens a specific account flow.

## Visual Flow

```mermaid placement="top-right" actions={true} theme={"system"}
flowchart TD
    A["Consumer opens personalization"] --> B["Consumer changes image or colors"]
    B --> C{"Inputs are valid?"}
    C -->|No| D["Portal blocks unsafe input"]
    C -->|Yes| E["Portal saves consumer personalization"]
    E --> F["Consumer colors win across the portal"]
    G["Consumer has no personal colors"] --> H{"Specific account page?"}
    H -->|Yes| I["Use that account creditor branding"]
    H -->|No| J["Use default YouNegotiate branding"]
    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,B actor;
    class C,H decision;
    class D risk;
    class E,G system;
    class F,I,J outcome;
    linkStyle default stroke:#94A3B8,stroke-width:2px;
```

## How It Should Work

* It should let the consumer personalize image and color settings where supported.
* It should let a profile image upload succeed without requiring the consumer to change saved colors.
* Consumer colors should win across the portal, even when the same consumer has accounts with multiple creditors.
* It should validate uploads and color values before saving.
* It should provide a safe reset to default personalization.
* If the consumer has no personal colors, account-specific pages should use the selected account's creditor or sub-account branding when available.
* If the consumer has no personal colors and is on a global multi-account page, the portal should use default YouNegotiate branding.

## How It Should Not Work

* It should not accept unsafe upload types.
* It should not let personalization break readability or core portal navigation.
* It should not apply one consumer profile's personalization to another unrelated consumer.
* It should not let one creditor's branding appear inside another creditor's account flow.

## Developer Notes

* Personalization can clear cache so the updated image and colors show correctly.
* Photo-only API updates should preserve the current saved color settings.
* Keep this page optional and separate from payment-critical setup.
* Branding priority is resolved in the consumer header logo component.

## Related App Areas

* `app/Livewire/Consumer/Profile/PersonalizeLogo.php`
* `app/Livewire/Consumer/Forms/Profile/PersonalizeLogoForm.php`
* `resources/views/components/consumer/profile-layout.blade.php`
* `app/Livewire/Consumer/Logo.php`
