aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-26 11:13:03 -0700
committerAdam Soltys <[email protected]>2026-08-26 11:13:03 -0700
commit6be9a45c4d085988c8bfaf210df762dbc83c8ab1 (patch)
tree6d3a48e3b69b0851d127b1ad10ade3d31969c9fe /src/app.js
parent7a108d1e1ae46bcbaded1d73fe22c551c40a2232 (diff)
downloadcoinosv3-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.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/app.js b/src/app.js
index 6ad7dcc..237808e 100644
--- a/src/app.js
+++ b/src/app.js
@@ -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) {