feat: mobile edit-as-default with sticky save/delete actions
- Update MobileEditView to render Save and optional Delete in a sticky bottom action bar; header now shows Cancel + title only. - Make ConfigProfilesMobileView open edit view on profile tap. - Make ToolWorkshopMobileView open edit view on tool type tap. - Wire delete into MobileEditView for existing profiles and tool types. - Stay on edit view after saving an existing item; create flow returns to list as before. - Update ToolWorkshopPage cancel to return to list. - Add mobile-edit-actions and mobile-edit-delete CSS. Quality gates: npm run typecheck, npm run lint, npm test -- --run (87 passed) Refs: openspec/changes/mobile-edit-default-bottom-actions
This commit is contained in:
@@ -113,7 +113,7 @@ export const ConfigProfilesMobileView = ({
|
||||
try {
|
||||
const ok = await onSubmit();
|
||||
if (ok) {
|
||||
onViewChange(isCreating ? "list" : "detail");
|
||||
onViewChange(isCreating ? "list" : "edit");
|
||||
}
|
||||
} finally {
|
||||
setIsSaving(false);
|
||||
@@ -150,7 +150,7 @@ export const ConfigProfilesMobileView = ({
|
||||
const profile = profiles.find((p) => p.id === id);
|
||||
if (profile) {
|
||||
onSelect(profile);
|
||||
onViewChange("detail");
|
||||
onViewChange("edit");
|
||||
}
|
||||
}}
|
||||
onItemDelete={(id: string) => onDelete(id)}
|
||||
@@ -395,9 +395,11 @@ export const ConfigProfilesMobileView = ({
|
||||
<MobileEditView
|
||||
title={isCreating ? "Create Profile" : "Edit Profile"}
|
||||
onCancel={() => {
|
||||
onViewChange(isCreating ? "list" : "detail");
|
||||
onViewChange("list");
|
||||
}}
|
||||
onSave={handleSave}
|
||||
onDelete={isCreating ? undefined : handleDeleteClick}
|
||||
deleteLabel="Delete Profile"
|
||||
isSaving={isSaving || saveStatus === "saving"}
|
||||
>
|
||||
<div className="mobile-form-group">
|
||||
@@ -793,7 +795,7 @@ export const ConfigProfilesMobileView = ({
|
||||
const profile = profiles.find((p) => p.id === id);
|
||||
if (profile) {
|
||||
onSelect(profile);
|
||||
onViewChange("detail");
|
||||
onViewChange("edit");
|
||||
}
|
||||
}}
|
||||
onItemDelete={(id: string) => onDelete(id)}
|
||||
|
||||
Reference in New Issue
Block a user