> ## Documentation Index
> Fetch the complete documentation index at: https://docs.videowise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Widget re-rendering

> Manually trigger widget rendering after client-side navigation.

Call these helpers when the page changes without a full reload (headless storefronts, Hydrogen, SPAs). Shopify Online Store usually does not need this — the Videowise app renders widgets on load.

On custom platforms, set `window.videowiseInfo` first. See [Custom platforms](/shoppable-videos/custom-platforms).

### Rendering floating widgets (quizzes, founder videos, and similar)

This applies to widgets that do not need an HTML container.

```js Floating widgets theme={null}
initVideowise();
```

### Rendering inline widgets (stories, carousels, grids, and similar)

This applies to widgets that mount into an HTML container.

#### Widgets on a product page

```js Inline widgets on product page theme={null}
initVideowiseBulk({
  shop: 'your-store.myshopify.com',
  widgetIds: ['widget-id'],
  productId: 'shopify product id',
  device: 'DESKTOP' | 'MOBILE', // optional
});
```

#### Widgets on a non-product page

```js Inline widgets on non-product page theme={null}
initVideowiseBulk({
  shop: 'your-store.myshopify.com',
  widgetIds: ['widget-id'],
  url: 'https://your-store.myshopify.com/your/url',
  device: 'DESKTOP' | 'MOBILE', // optional
});
```

## Related

* [Custom platforms](/shoppable-videos/custom-platforms) — script setup and `videowiseInfo`
* [Widget custom events](/shoppable-videos/custom-events)
* [React Native SDK](/sdk/react-native) — native widget components instead of `initVideowise`
