Introduce "useAppAction" hook
This commit is contained in:
20
src/modules/navigation-bar/hooks/useAppAction.ts
Normal file
20
src/modules/navigation-bar/hooks/useAppAction.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* 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 { useEffect } from 'react';
|
||||
import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContext.tsx';
|
||||
import { NavbarContextType } from '@/modules/navigation-bar/NavigationBar.types.ts';
|
||||
|
||||
export const useAppAction = (action: NavbarContextType['action'], dependencies: any[] = []) => {
|
||||
const { setAction } = useNavBarContext();
|
||||
|
||||
useEffect(() => {
|
||||
setAction(action);
|
||||
return () => setAction(null);
|
||||
}, dependencies);
|
||||
};
|
||||
Reference in New Issue
Block a user