From 4b85af6aced108732f12e2a084a63dc91642df8e Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 24 Sep 2024 13:18:45 +0200 Subject: [PATCH] fix(frontend): added conditional fetch in useSWR to prevent request when user is null --- agenta-web/src/contexts/app.context.tsx | 14 +++++++++----- agenta-web/src/hooks/useSession.ts | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/agenta-web/src/contexts/app.context.tsx b/agenta-web/src/contexts/app.context.tsx index b7087542e..5c6486885 100644 --- a/agenta-web/src/contexts/app.context.tsx +++ b/agenta-web/src/contexts/app.context.tsx @@ -7,6 +7,7 @@ import useSWR from "swr" import {dynamicContext} from "@/lib/helpers/dynamic" import {HookAPI} from "antd/es/modal/useModal" import {useLocalStorage} from "usehooks-ts" +import {useProfileData} from "./profile.context" type AppContextType = { currentApp: ListAppsItem | null @@ -31,6 +32,7 @@ const initialValues: AppContextType = { const useApps = () => { const [useOrgData, setUseOrgData] = useState(() => () => "") + const {user} = useProfileData() useEffect(() => { dynamicContext("org.context", {useOrgData}).then((context) => { @@ -40,11 +42,13 @@ const useApps = () => { const {selectedOrg, loading} = useOrgData() const {data, error, isLoading, mutate} = useSWR( - `${getAgentaApiUrl()}/api/apps/` + - (isDemo() - ? `?org_id=${selectedOrg?.id}&workspace_id=${selectedOrg?.default_workspace.id}` - : ""), - isDemo() ? (selectedOrg?.id ? axiosFetcher : () => {}) : axiosFetcher, + !!user + ? `${getAgentaApiUrl()}/api/apps/` + + (isDemo() + ? `?org_id=${selectedOrg?.id}&workspace_id=${selectedOrg?.default_workspace.id}` + : "") + : null, + !!user ? (isDemo() ? (selectedOrg?.id ? axiosFetcher : () => {}) : axiosFetcher) : null, { shouldRetryOnError: false, }, diff --git a/agenta-web/src/hooks/useSession.ts b/agenta-web/src/hooks/useSession.ts index 5372b45f5..df7fb53c0 100644 --- a/agenta-web/src/hooks/useSession.ts +++ b/agenta-web/src/hooks/useSession.ts @@ -20,7 +20,7 @@ export const useSession: () => {loading: boolean; doesSessionExist: boolean; log .then(() => { posthog.reset() reset() - router.push("/auth").then(() => router.reload()) + router.push("/auth") }) .catch(console.error) },