@@ -0,0 +1,26 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
import { useCallback, useRef } from 'react';
|
||||
|
||||
export default (initialValue = false) => {
|
||||
const isActiveRef = useRef(initialValue);
|
||||
|
||||
const setIsActive = useCallback((isActive) => {
|
||||
setTimeout(() => {
|
||||
isActiveRef.current = isActive;
|
||||
});
|
||||
}, []);
|
||||
|
||||
const activate = useCallback(() => {
|
||||
setIsActive(true);
|
||||
}, [setIsActive]);
|
||||
|
||||
const deactivate = useCallback(() => {
|
||||
setIsActive(false);
|
||||
}, [setIsActive]);
|
||||
|
||||
return [isActiveRef, activate, deactivate, setIsActive];
|
||||
};
|
||||
Reference in New Issue
Block a user