mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-05-10 23:50:42 +00:00
feat(app): mount FullscreenProvider at app root
Wrap the router with <FullscreenProvider> so a single provider instance spans the whole app lifetime. The legacy useFullscreen hook is still intact and continues to drive consumers; the provider is in place but not yet consumed. Splitting this from the consumer cutover keeps each commit independently buildable. Made-with: Cursor
This commit is contained in:
parent
60df6860d7
commit
c97a9f1566
1 changed files with 15 additions and 12 deletions
|
|
@ -7,6 +7,7 @@ const { Router } = require('stremio-router');
|
||||||
const { Core, Shell, Chromecast, DragAndDrop, KeyboardShortcuts, ServicesProvider } = require('stremio/services');
|
const { Core, Shell, Chromecast, DragAndDrop, KeyboardShortcuts, ServicesProvider } = require('stremio/services');
|
||||||
const { NotFound } = require('stremio/routes');
|
const { NotFound } = require('stremio/routes');
|
||||||
const { FileDropProvider, PlatformProvider, ToastProvider, TooltipProvider, ShortcutsProvider, CONSTANTS, withCoreSuspender, useShell, useBinaryState } = require('stremio/common');
|
const { FileDropProvider, PlatformProvider, ToastProvider, TooltipProvider, ShortcutsProvider, CONSTANTS, withCoreSuspender, useShell, useBinaryState } = require('stremio/common');
|
||||||
|
const { FullscreenProvider } = require('stremio/common/Fullscreen');
|
||||||
const ServicesToaster = require('./ServicesToaster');
|
const ServicesToaster = require('./ServicesToaster');
|
||||||
const DeepLinkHandler = require('./DeepLinkHandler');
|
const DeepLinkHandler = require('./DeepLinkHandler');
|
||||||
const SearchParamsHandler = require('./SearchParamsHandler');
|
const SearchParamsHandler = require('./SearchParamsHandler');
|
||||||
|
|
@ -214,18 +215,20 @@ const App = () => {
|
||||||
<TooltipProvider className={styles['tooltip-container']}>
|
<TooltipProvider className={styles['tooltip-container']}>
|
||||||
<FileDropProvider className={styles['file-drop-container']}>
|
<FileDropProvider className={styles['file-drop-container']}>
|
||||||
<ShortcutsProvider onShortcut={onShortcut}>
|
<ShortcutsProvider onShortcut={onShortcut}>
|
||||||
{
|
<FullscreenProvider>
|
||||||
shortcutModalOpen && <ShortcutsModal onClose={closeShortcutsModal}/>
|
{
|
||||||
}
|
shortcutModalOpen && <ShortcutsModal onClose={closeShortcutsModal}/>
|
||||||
<ServicesToaster />
|
}
|
||||||
<DeepLinkHandler />
|
<ServicesToaster />
|
||||||
<SearchParamsHandler />
|
<DeepLinkHandler />
|
||||||
<UpdaterBanner className={styles['updater-banner-container']} />
|
<SearchParamsHandler />
|
||||||
<RouterWithProtectedRoutes
|
<UpdaterBanner className={styles['updater-banner-container']} />
|
||||||
className={styles['router']}
|
<RouterWithProtectedRoutes
|
||||||
viewsConfig={routerViewsConfig}
|
className={styles['router']}
|
||||||
onPathNotMatch={onPathNotMatch}
|
viewsConfig={routerViewsConfig}
|
||||||
/>
|
onPathNotMatch={onPathNotMatch}
|
||||||
|
/>
|
||||||
|
</FullscreenProvider>
|
||||||
</ShortcutsProvider>
|
</ShortcutsProvider>
|
||||||
</FileDropProvider>
|
</FileDropProvider>
|
||||||
</TooltipProvider>
|
</TooltipProvider>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue