Skip to content

feat: restructure app-list editing navigation#20

Merged
brendan-ch merged 4 commits into
mainfrom
feat/app-list-edit-navigation
Jun 20, 2026
Merged

feat: restructure app-list editing navigation#20
brendan-ch merged 4 commits into
mainfrom
feat/app-list-edit-navigation

Conversation

@brendan-ch

@brendan-ch brendan-ch commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Summary

Reworks how app lists are reached and edited from the rule editor, addressing confusion in the old flow (a sheet-within-a-sheet picker with redundant Save buttons).

  • Rule editor → app-list selection now pushes onto the editor's own navigation stack instead of a sheet overlay; the nav back button returns. (Removed the AppListPickerSheet wrapper.)
  • Editing/creating a list opens as a sheet overlay with a Close (✕) and a checkmark confirm — in both the rule-editor flow and Settings ▸ Manage App Lists (shared library).
  • Closing with outstanding edits raises the standard iOS "Discard Changes?" confirmation (.confirmationDialog + .interactiveDismissDisabled). Dirty-detection lives in a unit-tested AppListEditState.
  • "Edit Apps" auto-applies: FamilyActivityPicker binds straight to the working selection, so select/deselect applies immediately. Removed the bottom Save button and the redundant toolbar checkmark — the list editor's checkmark is now the single commit point.

Documentation for these screens is folded into the owning views' doc comments (the repo's doc-comment spec model).

Test plan

🤖 Generated with Claude Code

https://claude.ai/code/session_01Xeke7pAWJ9S4RiGc5hMghr

brendan-ch and others added 4 commits June 19, 2026 19:25
Rework how app lists are reached and edited from the rule editor:

- The rule editor's App List row now pushes the selection screen onto the
  editor's own navigation stack instead of presenting it as a sheet overlay;
  the back button returns.
- Editing or creating a list opens it as a sheet overlay with a Close button
  and a checkmark confirm (in both the rule-editor flow and Settings > Manage
  App Lists, which share the library).
- Closing the editor with outstanding edits raises the standard iOS
  "Discard Changes?" confirmation; swipe-to-dismiss is disabled while edits
  are outstanding. Dirty-detection extracted to a unit-tested AppListEditState.
- The "Edit Apps" picker binds FamilyActivityPicker directly so selections
  apply live; its bottom Save button and toolbar checkmark are removed,
  leaving the list editor's checkmark as the single commit point.

Updated the feature spec (3.7 / 6) and the app-list UI tests; added unit
tests for outstanding-edit detection. Full suite green (245 tests).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xeke7pAWJ9S4RiGc5hMghr
Integrates PR #16, which deleted Docs/AGENT_RULES_FEATURE_SPEC.md and folded
the rules feature spec into `///` doc comments on the source each topic owns,
indexed by the "Rules feature map" in AGENTS.md.

Conflict resolution:
- Kept AGENT_RULES_FEATURE_SPEC.md deleted (dropped my spec edits, per the new
  documentation model).
- Folded this branch's app-list navigation documentation into the owning source:
  the AppListLibraryView / AppListEditorView / RuleEditorView doc comments now
  describe the pushed selection screen, the sheet-overlay list editor with its
  discard-changes confirmation, and the live-applying Edit Apps picker.

RuleEditorView auto-merged (my navigationDestination block + main's
RuleConfiguration comment reference). Full suite green (245).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xeke7pAWJ9S4RiGc5hMghr
Integrates PR #17, which lets users open an app list read-only (the new
AppListDetailView) while a Hard Mode rule blocks — editing stays locked, but
viewing can't be a back door out of the block.

Conflict resolution (both branches reworked the AppLists views):
- AppListLibraryView: kept this branch's pushed-library + sheet-overlay editor
  navigation, and layered in Change B's `viewingList` read-only path — picker
  rows show "View" (read-only) instead of "Edit" while locked; management rows
  open AppListDetailView when locked, the editor sheet when unlocked.
- AppListEditorView: kept this branch's sheet/discard structure and adopted
  Change B's shared `AppSelectionRows` component (replacing the inline rows).
- New files (AppListDetailView, AppSelectionRows) merged cleanly; UI tests
  auto-merged — Change B's view-in-hard-mode tests pass against the new nav.

Full suite green (248).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xeke7pAWJ9S4RiGc5hMghr
@brendan-ch brendan-ch merged commit 80d7cd1 into main Jun 20, 2026
2 checks passed
@brendan-ch brendan-ch deleted the feat/app-list-edit-navigation branch June 20, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant