Skip to content

Commit 6294bb0

Browse files
authored
fix: allow changing api url (#676)
* fix: allow changing api url * chore: bump ci * fix: add missing hook dependency
1 parent fbb2ed8 commit 6294bb0

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/providers/Settings.tsx

+6-7
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,15 @@ export function Provider({ children, ...propsSettings }: Props): ReactElement {
6565
const propsProviderUrl =
6666
localStorage.getItem(LocalStorageKeys.providerUrl) || propsSettings.defaultRpcUrl || DEFAULT_RPC_URL
6767

68-
const [apiUrl, setApiUrl] = useState<string>(initialValues.apiUrl)
68+
const [apiUrl, setApiUrl] = useState<string>(
69+
sessionStorage.getItem('api_host') ?? propsSettings.beeApiUrl ?? initialValues.apiUrl,
70+
)
6971
const [beeApi, setBeeApi] = useState<Bee | null>(null)
7072
const [desktopApiKey, setDesktopApiKey] = useState<string>(initialValues.desktopApiKey)
7173
const [rpcProviderUrl, setRpcProviderUrl] = useState(propsProviderUrl)
7274
const [rpcProvider, setRpcProvider] = useState(new providers.JsonRpcProvider(propsProviderUrl))
7375
const { config, isLoading, error } = useGetBeeConfig(desktopUrl)
7476

75-
const url = makeHttpUrl(
76-
config?.['api-addr'] ?? sessionStorage.getItem('api_host') ?? propsSettings.beeApiUrl ?? apiUrl,
77-
)
78-
7977
useEffect(() => {
8078
const urlSearchParams = new URLSearchParams(window.location.search)
8179
const newApiKey = urlSearchParams.get('v')
@@ -88,18 +86,19 @@ export function Provider({ children, ...propsSettings }: Props): ReactElement {
8886
}, [])
8987

9088
useEffect(() => {
89+
const url = makeHttpUrl(config?.['api-addr'] ?? apiUrl)
9190
try {
9291
setBeeApi(new Bee(url))
9392
sessionStorage.setItem('api_host', url)
9493
} catch (e) {
9594
setBeeApi(null)
9695
}
97-
}, [url])
96+
}, [config, apiUrl])
9897

9998
return (
10099
<Context.Provider
101100
value={{
102-
apiUrl: url,
101+
apiUrl,
103102
beeApi,
104103
setApiUrl,
105104
lockedApiSettings: Boolean(propsSettings.lockedApiSettings),

0 commit comments

Comments
 (0)