Update storeContext and API controller

This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-11-07 21:02:30 -03:00
commit 761a2f04e3
3 changed files with 22 additions and 10 deletions

View file

@ -1,4 +1,4 @@
import { createContext, useState } from "react"; import { createContext, useEffect, useState } from "react";
import { checkHasStore } from "../controllers/API"; import { checkHasStore } from "../controllers/API";
import { storeContextType } from "../types/contexts/store"; import { storeContextType } from "../types/contexts/store";
@ -8,7 +8,7 @@ const initialValue = {
setSavedFlows: () => {}, setSavedFlows: () => {},
hasStore: true, hasStore: true,
setHasStore: () => {}, setHasStore: () => {},
hasApiKey: true, hasApiKey: false,
setHasApiKey: () => {}, setHasApiKey: () => {},
}; };
@ -18,12 +18,24 @@ export function StoreProvider({ children }) {
const [savedFlows, setSavedFlows] = useState<Set<string>>(new Set()); const [savedFlows, setSavedFlows] = useState<Set<string>>(new Set());
const [hasStore, setHasStore] = useState(true); const [hasStore, setHasStore] = useState(true);
const [hasApiKey, setHasApiKey] = useState(true); const [hasApiKey, setHasApiKey] = useState(false);
const [storeChecked, setStoreChecked] = useState(false);
checkHasStore().then((res) => { useEffect(() => {
setHasStore(res["enabled"]); const fetchStoreData = async () => {
setHasApiKey(res["has_api_key"]); try {
}); if (storeChecked) return;
const res = await checkHasStore();
setHasStore(res?.enabled ?? false);
setHasApiKey(res?.has_api_key ?? false);
setStoreChecked(true);
} catch (e) {
console.log(e);
}
};
fetchStoreData();
}, []);
return ( return (
<StoreContext.Provider <StoreContext.Provider

View file

@ -732,7 +732,7 @@ export async function searchComponent(
export async function checkHasStore() { export async function checkHasStore() {
try { try {
const res = await api.get(`${BASE_URL_API}store/check/`); const res = await api.get(`${BASE_URL_API}store/check/`);
if (res.status === 200) { if (res?.status === 200) {
return res.data; return res.data;
} }
} catch (error) { } catch (error) {

View file

@ -74,8 +74,8 @@ export default function StorePage(): JSX.Element {
let results = data?.results ?? []; let results = data?.results ?? [];
results.forEach((flow) => { results.forEach((flow) => {
savedIds.add(flow.id); savedIds.add(flow.id);
}); /* });
setSavedFlows(savedIds); */ setSavedFlows(savedIds);
setErrorApiKey(false); setErrorApiKey(false);
setLoading(false); setLoading(false);
} }