fix: limits no longer cache during session changes

This commit is contained in:
Mythie
2023-10-22 11:18:00 +11:00
parent 2f2079e020
commit 1d604fff2c
3 changed files with 11 additions and 14 deletions

View File

@ -1,6 +1,6 @@
'use client';
import { createContext, useContext, useEffect, useRef, useState } from 'react';
import { createContext, useContext, useEffect, useState } from 'react';
import { equals } from 'remeda';
@ -33,17 +33,18 @@ export const LimitsProvider = ({ initialValue, children }: LimitsProviderProps)
remaining: FREE_PLAN_LIMITS,
};
const $limits = useRef(initialValue ?? defaultValue);
const [limits, setLimits] = useState(() => $limits.current);
const [limits, setLimits] = useState(() => initialValue ?? defaultValue);
const refreshLimits = async () => {
const newLimits = await getLimits();
if (equals(newLimits, $limits.current)) {
return;
}
setLimits((oldLimits) => {
if (equals(oldLimits, newLimits)) {
return oldLimits;
}
setLimits(newLimits);
return newLimits;
});
};
useEffect(() => {