whisper-money/resources/views/mail
Víctor Falcón e178f1b1bd
feat(settings): let users disable bank transactions email (#472)
## Summary

Adds a **Notifications** section to the account settings page
(`/settings/account`, between Profile information and Update password)
where users can opt out of the daily "new transactions synced" email.

- New per-user preference `notify_on_bank_transactions_synced` on
`user_settings` (defaults to `true`, opt-out).
- `SendDailyBankTransactionsSyncedEmailJob` skips users who disabled it.
- Single generic `PATCH /settings/notifications` endpoint updates any
notification type via a key→column allowlist in
`NotificationPreferenceController::PREFERENCES`. Future notifications
only need a new entry there — no new route/controller.
- Email footer now links back to the settings section so users can
manage preferences.

## Testing

- `tests/Feature/Settings/NotificationPreferenceTest.php` — update,
unknown-key rejection, invalid value, auth, create-when-missing,
default-true, inertia prop.
- `tests/Feature/OpenBanking/SyncBankingConnectionJobTest.php` — email
not sent when disabled.
2026-06-02 12:24:39 +02:00
..
drip fix: reorder signed names in mail templates (#266) 2026-04-10 13:32:32 +01:00
invitations feat(leads): cohort-based launch invitations with per-user Stripe coupons (#333) 2026-04-30 15:10:28 +01:00
updates chore: update Discord invite link (#452) 2026-05-29 15:56:48 +02:00
bank-transactions-synced.blade.php feat(settings): let users disable bank transactions email (#472) 2026-06-02 12:24:39 +02:00
banking-connection-auth-failed.blade.php fix: reorder signed names in mail templates (#266) 2026-04-10 13:32:32 +01:00
banking-connection-expired.blade.php Notify users about expired bank connections (#404) 2026-05-20 09:20:13 +02:00
broken-bank-logos-report.blade.php Add weekly bank logo audit command (#211) 2026-03-06 11:05:13 +00:00
enable-banking-connections-cancelled.blade.php Cancel Enable Banking connections for free users (#289) 2026-04-15 16:23:03 +02:00
user-lead-invitation.blade.php fix: reorder signed names in mail templates (#266) 2026-04-10 13:32:32 +01:00
user-lead-re-invitation.blade.php feat(leads): add user lead re-invite campaign (#432) 2026-05-26 08:35:31 +02:00
verify-email.blade.php fix: reorder signed names in mail templates (#266) 2026-04-10 13:32:32 +01:00
verify-user-lead-email.blade.php feat: verify waitlist leads (#285) 2026-04-14 11:26:01 +01:00
waitlist-overtaken.blade.php fix: reorder signed names in mail templates (#266) 2026-04-10 13:32:32 +01:00
waitlist-referral-notification.blade.php fix: reorder signed names in mail templates (#266) 2026-04-10 13:32:32 +01:00
waitlist-welcome.blade.php fix: reorder signed names in mail templates (#266) 2026-04-10 13:32:32 +01:00