feat(console): the guided setup steps backwards - #180
Merged
Conversation
"Be good to go back a step to add more attributes." The route existed and was called "Cancel", which reads as abandoning setup rather than stepping back one — and the affordance a person actually reaches for, the ticked circle in the stepper, did nothing. **The stepper answers clicks.** A step you could be on is a way to get there: step one always, step two once a fact exists, step three once a face does. Reaching a step with nothing to work on would present a form whose every control refuses, which is worse than not offering it, so `reachableStep` decides and is tested beside `showsGuide`. **The buttons say where they go.** Step two's is "Back — add more facts", step three's "Back — change the face". Both were "Cancel", and step three's left the guide entirely rather than going back at all. **Step two edits the face once there is one**, so returning to it does not quietly make a second. The editor already supports this — it is the same `existing` path the map uses — and it seeds its ticks from the face, so a holder who goes back to add a fact finds their earlier choices intact with the new fact unticked, which is what a face being a whitelist means. **Step one no longer offers Cancel.** There is nothing before it, and the button abandoned the whole flow. `AttributeEditor`'s `onCancel` is now optional and the header's "Skip — I'll build it myself" is the single, honestly labelled exit. Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
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.
The route existed and was called Cancel — which reads as abandoning setup, not stepping back one — and the affordance a person actually reaches for, the ticked circle in the stepper, did nothing at all.
The stepper answers clicks
A step you could be on is a way to get there:
Reaching a step with nothing to work on presents a form whose every control refuses, which is a worse answer than not offering the step.
reachableStepdecides, inpersona-flow.tsbesideshowsGuide, with four tests.The buttons say where they go
Step two's is now "Back — add more facts", step three's "Back — change the face". Both said "Cancel", and step three's left the guide entirely rather than going back — pressing it after making a face dropped you on the map, which is not what cancel means at step three of three.
Step two edits the face once there is one
So going back to it does not quietly create a second face. The editor already supports this — the same
existingpath the map uses — and it seeds its ticks from the face, so a holder who goes back to add a fact returns to find their earlier choices intact with the new fact unticked. Which is exactly what "a face is a whitelist; what you leave unticked stays out, including facts you add later" means, now demonstrated rather than only asserted in the copy.Step one no longer offers Cancel
There is nothing before it, and the button abandoned the whole flow.
AttributeEditor'sonCancelis optional now and renders nothing when omitted; the header's "Skip — I'll build it myself" is the single, honestly labelled exit.Verification
npm run lint,npm run build,npm test— 849 across four workspaces (+4). All sixci.ymlassertions against the real build.The reachability rule is tested; the click handling on the stepper is not — no renderer here, as before.