From 663d7ea58cd2e5e98b63a010ed4ca829f5304ea2 Mon Sep 17 00:00:00 2001 From: Eduard Gert Date: Tue, 13 Feb 2024 15:11:37 +0100 Subject: [PATCH] Add check to call initial users only once in dev mode (#332) --- src/contexts/ApplicationProvider.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/contexts/ApplicationProvider.tsx b/src/contexts/ApplicationProvider.tsx index c358db7..955eae7 100644 --- a/src/contexts/ApplicationProvider.tsx +++ b/src/contexts/ApplicationProvider.tsx @@ -3,7 +3,7 @@ import FullScreenLoading from "@components/ui/FullScreenLoading"; import { useApiCall } from "@utils/api"; import { useIsMd } from "@utils/responsive"; import { getLatestNetbirdRelease } from "@utils/version"; -import React, { useContext, useEffect, useMemo, useState } from "react"; +import React, { useContext, useEffect, useMemo, useRef, useState } from "react"; import { useLocalStorage } from "@/hooks/useLocalStorage"; import { User } from "@/interfaces/User"; import type { NetbirdRelease } from "@/interfaces/Version"; @@ -31,12 +31,16 @@ export default function ApplicationProvider({ children }: Props) { const isMd = useIsMd(); const userRequest = useApiCall("/users", true); const [show, setShow] = useState(false); + const requestCalled = useRef(false); useEffect(() => { - userRequest - .get() - .then(() => setShow(true)) - .catch(() => setShow(true)); + if (!requestCalled.current) { + userRequest + .get() + .then(() => setShow(true)) + .catch(() => setShow(true)); + requestCalled.current = true; + } // eslint-disable-next-line react-hooks/exhaustive-deps }, []);