const [canLoad, setCanLoad] = createSignal(true);
const loadQuote = async () => {
if (!canLoad()) {
return JSON.parse(window.localStorage.getItem("quote")) as QuoteDto;
}
setCanLoad(false);
const response = await getQuote();
setTimeout(
() => {
setCanLoad(true);
},
Number.parseInt(response.headers.get("retry-after")) * 1000,
);
if (response.ok) {
window.localStorage.setItem("quote", JSON.stringify(response.data));
return response.data;
}
if (response.status === 429) {
return JSON.parse(window.localStorage.getItem("quote")) as QuoteDto;
}
};
const [quote, { refetch }] = createResource<QuoteDto>(() => loadQuote());
const [canLoad, setCanLoad] = createSignal(true);
const loadQuote = async () => {
if (!canLoad()) {
return JSON.parse(window.localStorage.getItem("quote")) as QuoteDto;
}
setCanLoad(false);
const response = await getQuote();
setTimeout(
() => {
setCanLoad(true);
},
Number.parseInt(response.headers.get("retry-after")) * 1000,
);
if (response.ok) {
window.localStorage.setItem("quote", JSON.stringify(response.data));
return response.data;
}
if (response.status === 429) {
return JSON.parse(window.localStorage.getItem("quote")) as QuoteDto;
}
};
const [quote, { refetch }] = createResource<QuoteDto>(() => loadQuote());