diff --git a/src/providers/Settings.tsx b/src/providers/Settings.tsx index d607c3b..f85bde0 100644 --- a/src/providers/Settings.tsx +++ b/src/providers/Settings.tsx @@ -65,17 +65,15 @@ export function Provider({ children, ...propsSettings }: Props): ReactElement { const propsProviderUrl = localStorage.getItem(LocalStorageKeys.providerUrl) || propsSettings.defaultRpcUrl || DEFAULT_RPC_URL - const [apiUrl, setApiUrl] = useState(initialValues.apiUrl) + const [apiUrl, setApiUrl] = useState( + sessionStorage.getItem('api_host') ?? propsSettings.beeApiUrl ?? initialValues.apiUrl, + ) const [beeApi, setBeeApi] = useState(null) const [desktopApiKey, setDesktopApiKey] = useState(initialValues.desktopApiKey) const [rpcProviderUrl, setRpcProviderUrl] = useState(propsProviderUrl) const [rpcProvider, setRpcProvider] = useState(new providers.JsonRpcProvider(propsProviderUrl)) const { config, isLoading, error } = useGetBeeConfig(desktopUrl) - const url = makeHttpUrl( - config?.['api-addr'] ?? sessionStorage.getItem('api_host') ?? propsSettings.beeApiUrl ?? apiUrl, - ) - useEffect(() => { const urlSearchParams = new URLSearchParams(window.location.search) const newApiKey = urlSearchParams.get('v') @@ -88,18 +86,19 @@ export function Provider({ children, ...propsSettings }: Props): ReactElement { }, []) useEffect(() => { + const url = makeHttpUrl(config?.['api-addr'] ?? apiUrl) try { setBeeApi(new Bee(url)) sessionStorage.setItem('api_host', url) } catch (e) { setBeeApi(null) } - }, [url]) + }, [config, apiUrl]) return (