24 lines
515 B
TypeScript
24 lines
515 B
TypeScript
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
|
|
}
|