feat(decrypt): smooth transitions between Yivi, decrypt, and done states#249
Conversation
Hold the Yivi success animation briefly before flipping to the progress banner, fade between states, and keep the success banner visible through Done with a distinct completion message.
|
Dobby has received the request! Routing to the right specialist now... |
There was a problem hiding this comment.
Code review
UI animation polish for the decrypt page: 1400ms hold on Yivi success, fade/slide transitions between Ready/Decrypting/Done, distinct Done-state message. Build, svelte-check, and lint pass; no functional regressions.
Rule compliance
One soft a11y note: the repo has no prefers-reduced-motion handling and this PR adds several transitions. Strictly WCAG AAA territory, not AA — flagging only because the rule explicitly calls out animations.
| downloadState !== 'Decrypting' && | ||
| pendingDecryptFlip === null | ||
| ) { | ||
| pendingDecryptFlip = setTimeout(() => { |
There was a problem hiding this comment.
[Code review] pendingDecryptFlip is never cleared on unmount — if the user navigates away during the 1400ms hold, the timer fires on a torn-down component. Add an onDestroy that calls clearTimeout.
| padding: 0; | ||
| } | ||
|
|
||
| .success-banner :global(.container .label) { |
There was a problem hiding this comment.
[Code review] .success-banner :global(.container .label) { display: none } is broad enough to leak if another .container ever lands inside the banner. Scope it to the DecryptionProgress component or use a more specific selector.
Summary
doneMessageComplete)Test plan