claudeAiLimitsHook.ts
1 import { useEffect, useState } from 'react' 2 import { 3 type ClaudeAILimits, 4 currentLimits, 5 statusListeners, 6 } from './claudeAiLimits.js' 7 8 export function useClaudeAiLimits(): ClaudeAILimits { 9 const [limits, setLimits] = useState<ClaudeAILimits>({ ...currentLimits }) 10 11 useEffect(() => { 12 const listener = (newLimits: ClaudeAILimits) => { 13 setLimits({ ...newLimits }) 14 } 15 statusListeners.add(listener) 16 17 return () => { 18 statusListeners.delete(listener) 19 } 20 }, []) 21 22 return limits 23 }