turash/bugulma/frontend/hooks/useToggle.ts
Damir Mukimov 6347f42e20
Consolidate repositories: Remove nested frontend .git and merge into main repository
- Remove nested git repository from bugulma/frontend/.git
- Add all frontend files to main repository tracking
- Convert from separate frontend/backend repos to unified monorepo
- Preserve all frontend code and development history as tracked files
- Eliminate nested repository complexity for simpler development workflow

This creates a proper monorepo structure with frontend and backend
coexisting in the same repository for easier development and deployment.
2025-11-25 06:02:57 +01:00

24 lines
595 B
TypeScript

import { useCallback, useState } from 'react';
/**
* Hook for managing boolean toggle state with convenience methods
*/
export function useToggle(initialValue = false) {
const [value, setValue] = useState(initialValue);
const toggle = useCallback(() => setValue(prev => !prev), []);
const setTrue = useCallback(() => setValue(true), []);
const setFalse = useCallback(() => setValue(false), []);
const set = useCallback((newValue: boolean) => setValue(newValue), []);
return {
value,
toggle,
setTrue,
setFalse,
set,
isOn: value,
isOff: !value,
};
}