npm package: @marcos_feitoza/personal-finance-frontend-feature-dashboard
Description: Main dashboard experience for Personal Finance frontend.
Latest version: 1.9.0

# Feature: Dashboard (Flutter)

Main dashboard experience for Personal Finance frontend.

## Purpose

Provide financial overview and quick-entry workflows while exposing AI entry points in a lightweight way.

## AI-Related Updates

### 1) Notification-first AI delivery

The old `AI Insights` card was removed from the dashboard surface.

AI insights are now delivered as notifications and surfaced through the bell icon + notifications screen.

### 2) Bell badge for unread AI messages

The dashboard app bar bell now shows unread count as a red badge:

- unread count is fetched from backend notifications API
- count refreshes after returning from Notifications screen

### 3) AI entry points kept in dashboard

- Floating action button opens `AI Advisor`
- drawer menu includes:
  - `AI Advisor`
  - `AI Observability`

### 4) Visual normalization (Home + AI Advisor)

Recent updates aligned Dashboard and AI Advisor with the shared design system:

- Home FABs (`AI Advisor` and `Refresh`) now share the same dark-glass visual language and glow treatment.
- AI Advisor screen now uses the unified shell style (`GenaiBackdrop` + constrained content width).
- AI quick prompts and chat composer were adjusted for tablet/smaller widths to prevent overflow.
- Chat action row (`helpful/not helpful/copy/retry`) now wraps instead of overflowing.

## Integration Notes

This feature depends on:

- `core-services` for notification count + AI operations
- `feature-profile` for notifications UI
- `core-ui` reusable widgets

## Key Files

- `lib/screens/home_screen.dart`
- `lib/viewmodels/dashboard_viewmodel.dart`
- `lib/screens/ai_observability_screen.dart`

## Behavior

On data refresh, dashboard triggers AI notification generation (`app_open` trigger) and then fetches unread count.

This supports test interval mode today and daily 6:00 mode later.

## Conteúdo Principal

-   **`lib/screens/home_screen.dart`**: A implementação principal da tela do dashboard, incluindo a lógica para buscar e exibir os dados agregados.
-   **Widgets de Formulário (usados no dashboard)**: Integram formulários para adicionar salários, despesas e investimentos rapidamente.

---

## Como Usar (Instalação como Dependência)

Este pacote é uma dependência local para a aplicação principal (`personal-finance-frontend`).

No `pubspec.yaml` da aplicação principal, adicione a seguinte linha em `dependencies`:

```yaml
personal_finance_frontend_feature_dashboard:
  path: ../personal-finance-frontend-feature-dashboard
```

## Features

-   **Visão Geral Financeira**: Exibe saldos de contas (cash, cartões, investimentos), resumos de despesas e receitas.
-   **Transações Recentes**: Mostra um histórico rápido das últimas transações.
-   **Formulários de Entrada Rápida**: Integra formulários para registro rápido de salários, despesas e investimentos.
-   **Navegação**: Contém o menu principal para navegar para outras features do aplicativo.

### Atalhos para Import de Statement (CSV)

O Dashboard oferece um atalho para importar extratos de cartão de crédito:

- Card **Credit Cards** → botão **Import statement**
  - abre diretamente a tela de import (feature-management)
  - já **pré-seleciona o cartão** atualmente escolhido no dropdown do card

Além disso, o menu lateral também expõe a tela diretamente:

- **Menu → Management → Import Statement (CSV)**

> Nota de UX: a seleção do cartão no card de Credit Cards é persistida no estado da tela para não resetar ao digitar o Statement Balance.