## What Adds an **Edit** button (icon-only, top-right) to the dashboard accounts grid, next to a new **Accounts** section title. It opens a dialog for managing accounts: ``` Accounts [edit] [ acc 1 ] [ acc 2 ] [ ] [ ] ``` Each dialog row shows: - the bank logo + account name - an **eye toggle** (open/closed) to hide or show the account on the dashboard grid - a **drag handle** to reorder ## Behavior - **Visibility**: hidden accounts disappear from the grid but stay in the net worth chart/totals and remain in the dialog so they can be re-enabled. Backed by a new `hidden_on_dashboard` column. - **Reorder**: moved entirely into the dialog (over *all* accounts, including hidden) instead of dragging the cards. This keeps a single source of truth for `position` — dragging visible-only cards would have left hidden accounts' positions inconsistent. The card-level drag handle was removed. - Both actions use optimistic UI, mirroring the existing reorder flow. ## Changes - Migration: `hidden_on_dashboard` boolean on `accounts` (hidden from default serialization like `position`, surfaced explicitly in the net worth evolution payload). - `AccountController::updateVisibility` + `UpdateAccountVisibilityRequest` (owner-authorized) and the `accounts.visibility` route. - New `AccountsManagerDialog` component; dashboard header + plain grid; removed the now-unused `dragHandle` prop from `AccountBalanceCard`. - New `es.json` keys. ## Tests Added feature tests for the visibility endpoint (toggle, validation, ownership). Full `AccountControllerTest` and `DashboardAnalyticsTest` suites pass; lint and types are clean on the touched files. |
||
|---|---|---|
| .. | ||
| factories | ||
| migrations | ||
| seeders | ||
| .gitignore | ||