/ services / claudeAiLimitsHook.ts
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  }