diff options
| author | Factiven <[email protected]> | 2023-09-26 23:35:35 +0700 |
|---|---|---|
| committer | Factiven <[email protected]> | 2023-09-26 23:35:35 +0700 |
| commit | 20b8a7267827e3a07c1eef668c3b9c22fda43765 (patch) | |
| tree | 2fec9006dfac5737d8b227bf5ccce73880800cc2 /lib/context | |
| parent | Update release.md (diff) | |
| download | moopa-4.1.2.tar.xz moopa-4.1.2.zip | |
Update v4.1.2v4.1.2
Diffstat (limited to 'lib/context')
| -rw-r--r-- | lib/context/isOpenState.js | 17 | ||||
| -rw-r--r-- | lib/context/watchPageProvider.js | 41 |
2 files changed, 58 insertions, 0 deletions
diff --git a/lib/context/isOpenState.js b/lib/context/isOpenState.js new file mode 100644 index 0000000..6aade61 --- /dev/null +++ b/lib/context/isOpenState.js @@ -0,0 +1,17 @@ +import React, { createContext, useContext, useState } from "react"; + +const SearchContext = createContext(); + +export const SearchProvider = ({ children }) => { + const [isOpen, setIsOpen] = useState(false); + + return ( + <SearchContext.Provider value={{ isOpen, setIsOpen }}> + {children} + </SearchContext.Provider> + ); +}; + +export function useSearch() { + return useContext(SearchContext); +} diff --git a/lib/context/watchPageProvider.js b/lib/context/watchPageProvider.js new file mode 100644 index 0000000..a9d707b --- /dev/null +++ b/lib/context/watchPageProvider.js @@ -0,0 +1,41 @@ +import React, { createContext, useContext, useState } from "react"; + +export const WatchPageContext = createContext(); + +export const WatchPageProvider = ({ children }) => { + const [theaterMode, setTheaterMode] = useState(false); + const [aspectRatio, setAspectRatio] = useState("16/9"); + const [playerState, setPlayerState] = useState({ + currentTime: 0, + isPlaying: false, + }); + const [autoplay, setAutoPlay] = useState(false); + const [marked, setMarked] = useState(0); + + const [userData, setUserData] = useState(null); + + return ( + <WatchPageContext.Provider + value={{ + theaterMode, + setTheaterMode, + aspectRatio, + setAspectRatio, + playerState, + setPlayerState, + userData, + setUserData, + autoplay, + setAutoPlay, + marked, + setMarked, + }} + > + {children} + </WatchPageContext.Provider> + ); +}; + +export function useWatchProvider() { + return useContext(WatchPageContext); +} |