/* * Copyright (C) Contributors to the Suwayomi project * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import React, { useContext, useEffect } from 'react'; type ContextType = { // Default back button url defaultBackTo: string | undefined setDefaultBackTo: React.Dispatch> // AppBar title title: string setTitle: (title: string) => void // AppBar action buttons action: any setAction: React.Dispatch> // Allow default navbar to be overrided override: INavbarOverride setOverride: React.Dispatch> }; const NavBarContext = React.createContext({ defaultBackTo: undefined, setDefaultBackTo: ():void => {}, title: 'Tachidesk', setTitle: ():void => {}, action:
, setAction: ():void => {}, override: { status: false, value:
}, setOverride: ():void => {}, }); export default NavBarContext; export const useNavBarContext = () => useContext(NavBarContext); export const useSetDefaultBackTo = (value: string) => { const { setDefaultBackTo } = useNavBarContext(); useEffect(() => { setDefaultBackTo(value); return () => setDefaultBackTo(undefined); }, [value]); };