All files / libs/ext/react/hooks/src/lib/use-feedback useFeedback.ts

100% Statements 17/17
100% Branches 6/6
100% Functions 1/1
100% Lines 17/17

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 181x 1x 1x 3x 3x 3x 3x 3x 2x 2x 1x 1x 1x 3x 3x 3x 3x  
import { useEffect, useState } from 'react';
 
export const useFeedback = ({ timeoutMs = 2000 } = {}) => {
  const [value, setValue] = useState(false);
 
  // Reset success state after 2 seconds
  useEffect(() => {
    if (!value) {
      return undefined;
    }
 
    const timeout = setTimeout(() => setValue(false), timeoutMs);
    return () => clearTimeout(timeout);
  }, [value, setValue, timeoutMs]);
 
  return [value, setValue] as const;
};