All files / src/features/dashboard/hooks use-card-visibility.ts

70% Statements 7/10
0% Branches 0/1
40% Functions 2/5
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                      4x       52x   52x 52x 52x   52x              
import { useState } from 'react';
 
interface CardVisibilityOptions {
  id: string;
  defaultVisible?: boolean;
}
 
/**
 * Custom hook to manage card visibility
 * State resets on page reload
 */
export const useCardVisibility = ({
  id,
  defaultVisible = true,
}: CardVisibilityOptions) => {
  const [isVisible, setIsVisible] = useState<boolean>(defaultVisible);
 
  const hideCard = () => setIsVisible(false);
  const showCard = () => setIsVisible(true);
  const toggleVisibility = () => setIsVisible(prev => !prev);
 
  return {
    isVisible,
    hideCard,
    showCard,
    toggleVisibility,
  };
};