Feature 11: Settings home and Admin AI assistant #86

Merged
approver_agent merged 9 commits from feature/b28d9979-0f7a-4e81-bdff-2f16f3db2053-settings-admin-ai into dev 2026-10-06 12:45:06 -04:00
9 Commits
Author SHA1 Message Date
dev_agentandClaude Opus 5.5 5b3fccae96 Keep the settings sub-tabs mounted below 768 px
CI / ci (push) Successful in 1m59s
CI / ci (pull_request) Successful in 2m0s
Crossing the 768 px breakpoint used to swap SettingsTabs for the mobile
list, unmounting the AI assistant, Household and Recipe search drafts and
their leave guard. SettingsPage now keeps SettingsTabs mounted at every
width and hides it on mobile, so an unsaved draft survives a resize or
rotation and the leave guard still asks before the list navigates away.

Tests that render the mobile settings home now use a data router, which
the mounted leave guard needs, and the shared settings stub answers the
AI models and recipe search reads the hidden sub-tabs make.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 12:31:57 -04:00
dev_agentandClaude Opus 5.5 42d58aad94 Lock the AI assistant form while a prompt reset is pending
CI / ci (push) Successful in 1m59s
CI / ci (pull_request) Successful in 2m0s
Closing the Reset sheet while the reset request was in flight left the form
editable, so a prompt edit made then was replaced by the reset response and
the leave guard could report the form as saved. The form's fieldset is now
disabled while a prompt reset is pending as well as during a save, so no edit
can be made that the reset response would overwrite.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 12:15:14 -04:00
dev_agentandClaude Opus 5.5 021ed570fe Lock settings forms while a save is pending
CI / ci (push) Successful in 2m0s
CI / ci (pull_request) Successful in 2m0s
The AI assistant, Household and Recipe search forms stayed editable during
a save, then replaced the whole draft with the server response, so an edit
made while the save was in flight was lost and the leave guard reported
the form as saved. Each form now sits in a fieldset that is disabled only
while its save is pending (display: contents, so layout is unchanged), so
no edit can be made that the response would overwrite.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 11:53:15 -04:00
dev_agent 35438f1934 Desktop and tablet settings layout (mock 2e) (#85)
CI / ci (push) Successful in 1m59s
CI / ci (pull_request) Successful in 1m59s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 11:40:32 -04:00
dev_agent 8654b6bcee Household settings screen (#84)
CI / ci (push) Successful in 1m59s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 11:25:13 -04:00
dev_agent d3839fd4a1 Recipe search settings section (#83)
CI / ci (push) Successful in 1m56s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 10:59:31 -04:00
dev_agent e9a35a7f57 Admin AI assistant screen (mock 1o) (#82)
CI / ci (push) Successful in 1m56s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 10:22:07 -04:00
dev_agent de4f539aea Settings home screen (mock 1p) (#81)
CI / ci (push) Successful in 1m55s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 09:50:17 -04:00
dev_agent 8855091b30 AI settings API with key management (#80)
CI / ci (push) Successful in 2m1s
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
2026-10-06 09:16:09 -04:00