From 42579ce297d49588d56067bcdf97024633d25e2b Mon Sep 17 00:00:00 2001 From: "Timothy Z." Date: Fri, 1 May 2026 18:37:19 +0300 Subject: [PATCH] cleanup --- src/common/Fullscreen/FullscreenContext.ts | 14 +++++--------- src/common/Fullscreen/useFullscreen.ts | 9 ++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/common/Fullscreen/FullscreenContext.ts b/src/common/Fullscreen/FullscreenContext.ts index 117a616e8..1c9599ffb 100644 --- a/src/common/Fullscreen/FullscreenContext.ts +++ b/src/common/Fullscreen/FullscreenContext.ts @@ -3,17 +3,13 @@ import { createContext } from 'react'; export type FullscreenContextValue = readonly [ - boolean, - () => Promise | void, - () => void, - () => void, + fullscreen: boolean, + requestFullscreen: () => Promise | void, + exitFullscreen: () => void, + toggleFullscreen: () => void, ]; -const noop = () => undefined; - -const defaultValue: FullscreenContextValue = [false, noop, noop, noop]; - -const FullscreenContext = createContext(defaultValue); +const FullscreenContext = createContext(null); FullscreenContext.displayName = 'FullscreenContext'; diff --git a/src/common/Fullscreen/useFullscreen.ts b/src/common/Fullscreen/useFullscreen.ts index da27035d2..5cee0a801 100644 --- a/src/common/Fullscreen/useFullscreen.ts +++ b/src/common/Fullscreen/useFullscreen.ts @@ -3,6 +3,13 @@ import { useContext } from 'react'; import FullscreenContext from './FullscreenContext'; -const useFullscreen = () => useContext(FullscreenContext); +const useFullscreen = () => { + const value = useContext(FullscreenContext); + if (value === null) { + throw new Error('useFullscreen must be used inside FullscreenProvider'); + } + + return value; +}; export default useFullscreen;