diff options
| author | Adam Soltys <[email protected]> | 2026-08-26 11:13:03 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-26 11:13:03 -0700 |
| commit | 6be9a45c4d085988c8bfaf210df762dbc83c8ab1 (patch) | |
| tree | 6d3a48e3b69b0851d127b1ad10ade3d31969c9fe /src/app.js | |
| parent | 7a108d1e1ae46bcbaded1d73fe22c551c40a2232 (diff) | |
| download | coinosv3-6be9a45c4d085988c8bfaf210df762dbc83c8ab1.tar.gz coinosv3-6be9a45c4d085988c8bfaf210df762dbc83c8ab1.zip | |
The landing settles as one motion: the resolving shell now holds the frame over every screen — an auto-restored wallet no longer flashes its home page — and the animation clock stands still until the profile has replaced the shell in place, so nothing slides twice
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_019eA8JRq9Wr7z2fRQk99HLi
Diffstat (limited to 'src/app.js')
| -rw-r--r-- | src/app.js | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -474,7 +474,11 @@ function renderInner() { const navKey = [ui.screen, ui.tab === 'settings', ui.chatOpen, ui.msgView, ui.msgPeer, ui.msgCommunity, ui.profilePk, ui.settingsPage, ui.addrScan, ui.arkExitPage, ui.txDetail, ui.giftMode, ui.claimStep, ui.nameEditOpen, ui.noteThread && ui.noteThread.focusId, !!ui.userSearch, !!ui.zapSetup, !!ui.hatShop].join('|'); - if (uiChanged('nav', navKey)) _navAt = performance.now(); + // A deep-linked profile landing is ONE page settling, not a chain of + // navigations: boot screens shuffle beneath the shell (unlock → restored + // wallet), then the resolved profile replaces the shell in place. The key + // still updates, but nothing slides or re-animates until the landing ends. + if (uiChanged('nav', navKey) && !(ui.pubProfPending || ui.pubProfHold)) _navAt = performance.now(); applyAnim(screen, 'anim-page', (performance.now() - _navAt) < 340 ? performance.now() - _navAt : -1); morphChildren(root, [screen, footer()]); if (fpath) { |
