Kill the skeleton dialog's transition on swaps

FR
2mo ago
+5-1

What & why

Follow-up to #491. That killed the flash when swapping between loaded items, but a transition remained on the skeleton path — when the swapped-to item isn't loaded yet and the seed skeleton shows first.

The loading ItemDialogSkeleton renders its own Radix Dialog, but unlike the real detail dialog it didn't suppress Radix's default enter animation (zoom-in-95 fade-in-0) or the backdrop fade. Since the skeleton only ever appears mid-swap (its seed comes from a similar-images click, which is always a swap), that made the swap zoom/fade through the loading frame.

Suppress those animations on the skeleton's DialogContent (and overlay) to match the real dialog, so it pops in instantly. The resolved dialog that follows is already instant (animateEntrance=false on a swap, from #491), so the whole dialog → skeleton → dialog path is now seamless.

Checklist

  • User-facing change → PostHog event, or N/A — pure animation fix
  • New error paths report via captureServerException / the error boundary, or N/A
  • New behavior is covered by tests, or N/A — visual/animation only (jsdom has no layout engine)
  • If this fixes a recurring defect, considered a guardrail, or N/A

Notes

Please confirm on deploy.


Summary by cubic

Removes the skeleton dialog's entrance transition on swaps so the swap no longer flashes through the loading frame.

The skeleton renders its own Radix Dialog but didn't suppress the default zoom/fade or backdrop fade, unlike the real detail dialog. This suppresses those animations on the skeleton's DialogContent and overlay, so it pops in instantly. Since the resolved dialog was already instant on swaps (#491), the whole dialog → skeleton → dialog path is now seamless. Please confirm on deploy.