What: Create a reusable useBoolean hook for toggle states (open/close, active/inactive).
Why: Multiple components need boolean toggle state. A reusable hook reduces useState boilerplate.
Scope: Create src/lib/hooks/use-boolean.ts that returns [value, setTrue, setFalse, toggle]. Use useState and useCallback.
Acceptance criteria:
- Hook returns boolean and toggle functions
- Functions are memoized
- Works with initial value
- Clean API
Technical context: src/lib/hooks/ — hook patterns. src/components/shared/confirm-dialog.tsx — dialog state.
What: Create a reusable
useBooleanhook for toggle states (open/close, active/inactive).Why: Multiple components need boolean toggle state. A reusable hook reduces useState boilerplate.
Scope: Create
src/lib/hooks/use-boolean.tsthat returns [value, setTrue, setFalse, toggle]. UseuseStateanduseCallback.Acceptance criteria:
Technical context:
src/lib/hooks/— hook patterns.src/components/shared/confirm-dialog.tsx— dialog state.