SliderPage A
Drawer persistence across route changes
Confirm the drawer reopens after a reload and after a `Link` navigation that remounts the hook.
Page APage B`Link` navigation forces a remount

Clear shell state only resets popup, slider, and float persistence on this host origin.

Primary route
This route mounts the embed from the page component. Reload here to test same-page restore.

Manual flow

  1. 1. Open the embed and move into text or voice.
  2. 2. Reload this page to confirm same-route restore.
  3. 3. Switch to the sibling route with `Link` to confirm a clean remount still restores state.
  4. 4. Explicitly close the shell and reload to confirm it stays closed.

Widget mode lives inside the iframe session. The clear button above only resets parent-side popup, slider, and float shell state.

Jump to Page B
Route content for Page A
The page chrome changes between routes, but the embed configuration stays the same.

Current route

Page A mounts a fresh page component every time you navigate here.

Stable inputs

Research ID, host, and embed type remain stable so restore logic has a consistent storage key.

What should change

The surrounding route content changes, which makes it obvious the page remounted rather than simply keeping the same shell.

Navigate elsewhere
Use the persistence index or the sibling route during the same browser session.
Open the slider from this route
This tests the route-local hook path. The slider should restore after refresh and after `Link` navigation to the sibling page.

Use the sibling route links above instead of a plain anchor. That forces a Next.js remount without falling back to a full page load.