diff --git a/src/pages/Balance.tsx b/src/pages/Balance.tsx index 2943519..76496b9 100644 --- a/src/pages/Balance.tsx +++ b/src/pages/Balance.tsx @@ -308,9 +308,11 @@ export default function Balance() { - {/* Payment Methods */} + {/* Payment Methods — self-animated: mounts after its query resolves, when + the parent stagger orchestration has already finished and would leave + it stuck at opacity 0 */} {paymentMethods && paymentMethods.length > 0 && ( - +

{t('balance.topUpBalance')} @@ -474,9 +476,10 @@ export default function Balance() { - {/* Saved Cards Navigation */} + {/* Saved Cards Navigation — self-animated: mounts after its query resolves + (see Payment Methods above) */} {savedCardsData?.recurrent_enabled && ( - + navigate('/balance/saved-cards')}>
diff --git a/src/pages/ConnectedAccounts.tsx b/src/pages/ConnectedAccounts.tsx index b002e95..f78ee7a 100644 --- a/src/pages/ConnectedAccounts.tsx +++ b/src/pages/ConnectedAccounts.tsx @@ -640,7 +640,11 @@ export default function ConnectedAccounts() { }; return ( + // key: remount the container when loading resolves — stagger orchestration + // runs once on mount, so provider cards arriving from the API later would + // otherwise stay stuck at their initial variant (opacity 0) after a hard refresh - {/* Referral Link Widget */} + {/* Referral Link Widget — self-animated: mounts after the referral queries + resolve, when the parent stagger orchestration has already finished and + would leave it stuck at opacity 0 */} {referralTerms?.is_enabled && referralLink && ( - +

{t('referral.yourLink')}

diff --git a/src/pages/SavedCards.tsx b/src/pages/SavedCards.tsx index ef8e5b0..052030b 100644 --- a/src/pages/SavedCards.tsx +++ b/src/pages/SavedCards.tsx @@ -73,7 +73,11 @@ export default function SavedCards() { }; return ( + // key: remount the container when loading resolves — stagger orchestration + // runs once on mount, so cards arriving from the API later would otherwise + // stay stuck at their initial variant (opacity 0) after a hard refresh - {/* Contact support card for "both" mode */} + {/* Contact support card for "both" mode — self-animated: mounts after the + config query resolves, when the parent stagger orchestration has already + finished and would leave it stuck at opacity 0 */} {supportConfig?.support_type === 'both' && supportConfig.support_username && ( - +
diff --git a/src/pages/Wheel.tsx b/src/pages/Wheel.tsx index bc39702..074ea3a 100644 --- a/src/pages/Wheel.tsx +++ b/src/pages/Wheel.tsx @@ -774,10 +774,13 @@ export default function Wheel() { >
{history && history.items.length > 0 ? ( + // "hidden"/"show" don't exist in staggerContainer/staggerItem + // (their keys are initial/animate/exit), so the stagger here + // was silently a no-op {history.items.map((item: SpinHistoryItem) => (