| import { useEffect, useState } from 'react' |
|
|
| const HINT_DISPLAY_DURATION_MS = 5000 |
|
|
| let hasShownThisSession = false |
|
|
| |
| |
| |
| |
| export function useShowFastIconHint(showFastIcon: boolean): boolean { |
| const [showHint, setShowHint] = useState(false) |
|
|
| useEffect(() => { |
| if (hasShownThisSession || !showFastIcon) { |
| return |
| } |
|
|
| hasShownThisSession = true |
| setShowHint(true) |
|
|
| const timer = setTimeout(setShowHint, HINT_DISPLAY_DURATION_MS, false) |
|
|
| return () => { |
| clearTimeout(timer) |
| setShowHint(false) |
| } |
| }, [showFastIcon]) |
|
|
| return showHint |
| } |
|
|