refactor(ui): move features out of Settings, leaving it configuration - #51
Merged
Conversation
Second half of the navigation rework. The drawer gave every feature a home; this takes the feature entries back out of Settings so there is one obvious place for each thing rather than two. Reminders and Relationships lose their Settings rows: both are drawer destinations now, and a feature listed in both places is the ambiguity we set out to remove. Their routes move off the settings/ prefix accordingly, along with Support and the relationship graph: settings/notifications/reminders -> reminders settings/relationships -> relationships settings/relationships/graph -> relationships/graph settings/support -> support The relationship graph deliberately stays a drill-in from the relationships screen rather than becoming a drawer destination of its own: it is a pan/zoom fight the panning. Files and Support keep their Settings rows. Neither is a buried feature: Files is upload management that belongs with the other data tools, and Support is contact and policy info people reasonably look for in Settings. Settings now holds account, appearance, notification configuration, safety, data, server, system definitions, danger zone and about.
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #49. Part of #65.
#49 gave every feature a home in the drawer. This takes the feature entries back out of Settings, so each thing has one obvious place instead of two, and Settings goes back to being configuration.
Rows removed from Settings
Both are drawer destinations as of #49, and a feature listed in two places is exactly the ambiguity this set out to remove.
Routes off the
settings/prefixThe route names were the tell that these had been filed in the wrong drawer:
Nothing outside
SheafApp.ktreferenced those strings (no deep links, notification intents or widgets), so this is contained.Judgement calls
The relationship graph stays a drill-in from the relationships screen rather than becoming a drawer destination. It's a pan/zoom canvas: a drawer destination gets the bar/rail and an edge-swipe-to-open, and that edge-swipe would fight panning the graph. It's one tap from a drawer destination, which is enough.
Files and Support keep their Settings rows. Neither is a buried feature - Files is upload management that belongs with the other data tools, and Support is contact/policy info people reasonably look for in Settings. They're in the drawer too; duplicating a low-traffic info screen isn't the problem we were solving.
Settings after this
Account, Appearance, System (tags, custom fields, archived members), Safety, Data (files, export, import), Notifications & Lock (receiving, channels, devices, fronting notification, app lock), Server, Support, Danger zone, About. Configuration and data management, no features.
Testing
:app:assemblePlayRelease+:app:testPlayReleaseUnitTestgreen. Device checklist:reminders/{id}) and create (reminders/new) both resolve to the right screenRemaining in this plan