diff --git a/CHANGELOG.md b/CHANGELOG.md index 1de87c394d332831efa1ae8b3dba3fc649c6cf6a..df9f1113a8f12c640c8dbb6d261ffc36152e1fed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.2.2] - 2023-09-26 + +### Fixed + +- Fix host handling after decoupled config retrieval + ## [2.2.1] - 2023-09-26 ### Fixed diff --git a/package-lock.json b/package-lock.json index 1c99177c3e72eed4a2727e24b05c05db7b21be8b..96448b387c3c844beaef7965945add2d80ee7494 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@dxp/xsearch", - "version": "2.2.1", + "version": "2.2.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@dxp/xsearch", - "version": "2.2.1", + "version": "2.2.2", "hasInstallScript": true, "dependencies": { "@babel/core": "^7.21.3", @@ -91,7 +91,7 @@ }, "../quartz": { "name": "@dxp/quartz", - "version": "3.4.1", + "version": "4.1.2", "dev": true, "license": "ISC", "dependencies": { @@ -125,7 +125,7 @@ "autoprefixer": "^10.4.0", "babel-loader": "^8.1.0", "babel-plugin-template-html-minifier": "^4.1.0", - "chromatic": "^6.4.3", + "chromatic": "^7.2.0", "clean-webpack-plugin": "^3.0.0", "commit-message-validator": "^1.0.2", "compression-webpack-plugin": "^6.1.1", @@ -186,9 +186,6 @@ "webpack-fix-style-only-entries": "^0.6.1", "webpack-remove-empty-scripts": "^0.7.3", "webpack-shell-plugin-next": "^2.2.2" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" } }, "node_modules/@adobe/css-tools": { diff --git a/package.json b/package.json index ce10863947c91f65669dfc0c8d07392d57ff5fbc..334f0544661f45af24cb6d11261748eae0671f41 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dxp/xsearch", - "version": "2.2.1", + "version": "2.2.2", "publishConfig": { "@dxp:registry": "https://git.1xinternet.de/api/v4/projects/756/packages/npm/" }, diff --git a/src/services/api/api.ts b/src/services/api/api.ts index 05e2e837bcbe6fabeca4c2a15d79d0906ac9e1b2..8fd8313679e548bf688c27f931de4a8453e2acaa 100644 --- a/src/services/api/api.ts +++ b/src/services/api/api.ts @@ -13,14 +13,17 @@ const api = { baseUrl: string, searchParams?: URLSearchParams ) => - await axios.get(`${host + baseUrl}?${searchParams?.toString() ?? ""}`, { - headers: { - "Content-Type": "application/json", - accept: "application/json", - }, - }), + await axios.get( + `${host + baseUrl.replace(host, "")}?${searchParams?.toString() ?? ""}`, + { + headers: { + "Content-Type": "application/json", + accept: "application/json", + }, + } + ), requestAutocomplete: async (host: string, baseUrl: string, text: string) => - await axios.get(`${host + baseUrl}?q=${text}`), + await axios.get(`${host + baseUrl.replace(host, "")}?q=${text}`), }; export default api; diff --git a/src/services/api/useBaseUrl.ts b/src/services/api/useBaseUrl.ts index 91fbc612c5e963de88e0e807783fb0250d0d867f..80a632e53418416becd19b0172069b3385eca46e 100644 --- a/src/services/api/useBaseUrl.ts +++ b/src/services/api/useBaseUrl.ts @@ -2,13 +2,11 @@ import { configService } from "@services"; const useBaseUrl = () => { const { appConfig } = configService.useConfig(); - - const host = appConfig?.host ?? ""; - - const baseUrl = appConfig?.base_url; - const baseUrlAutocomplete = appConfig?.base_url_autocomplete; - - return { host, baseUrl, baseUrlAutocomplete }; + return { + host: appConfig?.host ?? "", + baseUrl: appConfig?.base_url, + baseUrlAutocomplete: appConfig?.base_url_autocomplete, + }; }; export default useBaseUrl; diff --git a/src/services/config/useConfig.tsx b/src/services/config/useConfig.tsx index 2c73997828a76462b9f7c9d133600e0071604ca4..c3eeabdaa9e077e765a3250d39c7517325cfb7e0 100644 --- a/src/services/config/useConfig.tsx +++ b/src/services/config/useConfig.tsx @@ -24,10 +24,12 @@ const useConfig = () => { Object.keys(appConfig ?? {}).length > 2 ); useEffect(() => { - if (appConfig && !!fetchedConfig) { - setAppConfig(fetchedConfig); + if (fetchedConfig) { + setAppConfig({ host: config[appKey].host, ...fetchedConfig }); + console.log({ host: config[appKey].host, ...fetchedConfig }); } - }, [appConfig, fetchedConfig]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [fetchedConfig]); const appPortalKeys = useMemo( () => (appKey ? Object.keys(appConfig?.layout?.regions ?? {}) : undefined), diff --git a/src/utils/useAbsolutePath.ts b/src/utils/useAbsolutePath.ts index 4f500c91ec47c48b4db3c4059feeda391b5620a4..057ac1df1b28bee8d3c9e95a10ec1e06752dc989 100644 --- a/src/utils/useAbsolutePath.ts +++ b/src/utils/useAbsolutePath.ts @@ -1,14 +1,18 @@ import { apiService } from "@services"; +import { useCallback } from "react"; const useAbsolutePath = () => { const { host } = apiService.useBaseUrl(); - const getAbsolutePath = (url: string) => { - if (url.startsWith("http")) { - return url; - } - return `${host}${url}`; - }; + const getAbsolutePath = useCallback( + (url: string) => { + if (url.startsWith("http")) { + return url; + } + return `${host}${url}`; + }, + [host] + ); return getAbsolutePath; };