| import { useEffect, useState } from 'react' | |
| import { | |
| type ClaudeAILimits, | |
| currentLimits, | |
| statusListeners, | |
| } from './claudeAiLimits.js' | |
| export function useClaudeAiLimits(): ClaudeAILimits { | |
| const [limits, setLimits] = useState<ClaudeAILimits>({ ...currentLimits }) | |
| useEffect(() => { | |
| const listener = (newLimits: ClaudeAILimits) => { | |
| setLimits({ ...newLimits }) | |
| } | |
| statusListeners.add(listener) | |
| return () => { | |
| statusListeners.delete(listener) | |
| } | |
| }, []) | |
| return limits | |
| } | |