fs
69739c90d7
refactor(settings): split admin/settings into hub + per-section subpages
...
Splits the 755-line monolithic settings page into a tile-based landing hub
and six focused subpages (general, security, email, api, sso, branding),
each with its own form, CSRF scope and POST handler. Each subpage offers
Save / Save & close buttons plus a Cancel/back link to the hub.
Backend (AdminSettingsService, gateways, policies, DB schema) unchanged.
A new settingsSectionMergePost() helper overlays section POSTs onto the
current DB values so partial saves don't wipe unrelated fields (the
service defaults missing keys to 0/empty).
Sub-action files (logo/favicon/tokens/lifecycle) redirect to the matching
subpage, and architecture contracts now check the subpage files instead
of the removed monolithic index.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 22:43:12 +02:00
..
2026-03-19 19:00:29 +01:00
2026-03-19 18:30:14 +01:00
2026-04-14 07:54:02 +02:00
2026-04-24 19:00:13 +02:00
2026-03-19 18:52:36 +01:00
2026-03-19 18:52:36 +01:00
2026-04-05 16:32:34 +02:00
2026-04-01 19:41:56 +02:00
2026-03-19 18:52:36 +01:00
2026-04-13 23:20:42 +02:00
2026-04-13 23:20:42 +02:00
2026-04-13 23:20:42 +02:00
2026-03-18 22:19:56 +01:00
2026-04-06 22:22:17 +02:00
2026-03-19 19:13:51 +01:00
2026-03-22 14:15:41 +01:00
2026-04-14 07:54:02 +02:00
2026-03-19 19:05:29 +01:00
2026-03-19 19:05:29 +01:00
2026-03-19 19:05:29 +01:00
2026-03-19 19:12:25 +01:00
2026-03-19 19:12:25 +01:00
2026-03-19 19:12:25 +01:00
2026-03-19 19:12:25 +01:00
2026-03-19 19:12:25 +01:00
2026-03-19 18:25:19 +01:00
2026-04-24 22:43:12 +02:00
2026-04-24 20:25:53 +02:00
2026-03-19 18:25:19 +01:00
2026-04-13 23:20:42 +02:00
2026-03-26 08:13:37 +01:00
2026-04-13 23:20:42 +02:00
2026-04-24 20:25:53 +02:00
2026-04-24 22:43:12 +02:00
2026-04-14 07:54:02 +02:00
2026-03-19 18:52:36 +01:00
2026-03-19 18:52:36 +01:00
2026-03-19 18:52:36 +01:00
2026-03-19 18:52:36 +01:00
2026-04-24 16:15:10 +02:00
2026-03-26 12:33:59 +01:00
2026-04-24 19:10:37 +02:00
2026-04-14 07:54:02 +02:00
2026-03-18 22:19:56 +01:00
2026-03-10 15:40:07 +01:00
2026-04-24 22:43:12 +02:00
2026-03-19 19:03:10 +01:00
2026-03-19 19:03:10 +01:00
2026-03-19 19:03:10 +01:00
2026-04-22 15:22:26 +02:00
2026-04-24 22:43:12 +02:00
2026-03-19 19:04:28 +01:00
2026-03-19 19:04:28 +01:00
2026-03-19 19:04:28 +01:00
2026-03-19 19:02:04 +01:00
2026-03-19 19:02:04 +01:00
2026-03-19 19:02:04 +01:00
2026-03-19 19:02:04 +01:00
2026-04-13 23:20:42 +02:00
2026-04-22 15:22:26 +02:00
2026-03-19 19:59:08 +01:00
2026-04-22 15:37:26 +02:00
2026-04-20 23:01:54 +02:00
2026-04-23 23:52:32 +02:00
2026-04-22 23:10:44 +02:00
2026-04-23 23:52:32 +02:00
2026-04-24 22:43:12 +02:00
2026-04-13 23:20:42 +02:00
2026-04-01 19:41:56 +02:00
2026-03-19 18:25:19 +01:00
2026-04-04 18:34:03 +02:00
2026-04-02 17:48:27 +02:00
2026-04-21 22:50:43 +02:00
2026-04-21 22:50:43 +02:00
2026-04-20 22:54:19 +02:00
2026-03-26 08:13:37 +01:00
2026-03-19 19:29:45 +01:00
2026-03-26 08:13:37 +01:00
2026-03-19 18:30:14 +01:00
2026-03-19 18:57:03 +01:00
2026-04-01 19:41:56 +02:00
2026-04-14 12:54:20 +02:00
2026-04-01 19:41:56 +02:00
2026-03-19 18:30:14 +01:00
2026-03-26 15:06:15 +01:00
2026-03-19 19:00:29 +01:00
2026-03-22 14:15:41 +01:00
2026-04-14 12:54:20 +02:00
2026-04-22 15:37:26 +02:00
2026-04-24 17:59:57 +02:00
2026-03-10 21:20:08 +01:00
2026-03-10 21:20:08 +01:00
2026-03-19 18:48:16 +01:00
2026-03-19 18:48:16 +01:00
2026-04-13 23:20:42 +02:00
2026-04-13 23:20:42 +02:00
2026-04-14 07:54:02 +02:00
2026-04-05 23:20:55 +02:00
2026-04-13 23:20:42 +02:00
2026-03-25 21:12:49 +01:00
2026-04-01 19:41:56 +02:00
2026-04-13 23:20:42 +02:00
2026-04-21 22:20:39 +02:00
2026-03-19 19:11:03 +01:00
2026-03-19 19:11:03 +01:00
2026-03-19 19:11:03 +01:00
2026-03-19 19:11:03 +01:00
2026-03-26 08:13:37 +01:00
2026-03-24 20:49:22 +01:00
2026-03-22 14:15:41 +01:00
2026-04-06 12:08:25 +02:00