feat(invoices): expose the automatic reminder kill switch in settings (#1476)

* feat(invoices): expose the automatic reminder kill switch in settings

The send_invoice_reminders column, API schema, and cron processor check
already existed, but no UI ever exposed the toggle. Add a switch in
Settings -> Fakturering (day thresholds fold away when off, values
preserved), and make the invoice detail Paminnelser card say reminders
are off instead of promising emails that will never be sent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(invoices): do not assume reminders enabled before settings load

CodeRabbit finding on PR 1476: with no company_settings row loaded, the
Paminnelser card defaulted to promising the reminder schedule. Track the
toggle as boolean | null and render no schedule text until the settings
row has actually resolved.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mattsson
2026-08-10 11:24:15 +02:00
committed by GitHub
co-authored by Claude Fable 5
parent 741cdcc60e
commit d4b0bd3df1
5 changed files with 81 additions and 48 deletions
+3
View File
@@ -1935,6 +1935,8 @@
"default_notes_help": "Suggested automatically for new invoices.",
"reminder_days_heading": "Automatic reminders",
"reminder_days_help": "Choose how many days after the due date each reminder is sent. The days must be in ascending order.",
"send_reminders_label": "Send automatic reminders",
"send_reminders_help": "When off, no automatic reminder emails are sent to customers with overdue invoices.",
"reminder_days_level_1": "First reminder (days)",
"reminder_days_level_2": "Second reminder (days)",
"reminder_days_level_3": "Final reminder (days)"
@@ -3502,6 +3504,7 @@
"payment_status_empty": "No payments recorded yet.",
"reminders_card_title": "Reminders",
"reminders_description": "Automatic reminders are sent when the invoice is {day1}, {day2} and {day3} days overdue",
"reminders_disabled": "Automatic reminders are turned off in settings.",
"reminders_empty": "No reminders have been sent yet.",
"reminder_level_label": "Level {level}",
"reminder_level_1": "Friendly reminder",