diff --git a/packages/login/package.json b/packages/login/package.json index 5b2e0914b1..a5abe535ee 100644 --- a/packages/login/package.json +++ b/packages/login/package.json @@ -99,7 +99,6 @@ "socketPath": "/login/ws", "dependencies": { "@types/ws": "^8.5.3", - "accept-language-parser": "^1.5.0", "bufferutil": "^4.0.6", "compression": "^1.7.4", "cookie-parser": "^1.4.6", diff --git a/packages/login/src/server/index.ts b/packages/login/src/server/index.ts index 3bef1454ea..10650b8206 100644 --- a/packages/login/src/server/index.ts +++ b/packages/login/src/server/index.ts @@ -1,4 +1,4 @@ -import express, { Request, Response } from "express"; +import express, { Response } from "express"; import template from "./lib/template"; import path from "path"; import compression from "compression"; @@ -12,8 +12,6 @@ import i18nextMiddleware, { I18next } from "i18next-express-middleware"; import i18next from "./i18n"; import cookieParser from "cookie-parser"; import { LANGUAGE } from "@docspace/common/constants"; -import parser from "accept-language-parser"; -import { getPortalCultures } from "@docspace/common/api/settings"; import { initSSR } from "@docspace/common/api/client"; let port = PORT; @@ -36,45 +34,27 @@ app.use(logger("dev", { stream: stream })); if (IS_DEVELOPMENT) { app.get("*", async (req: ILoginRequest, res: Response) => { const { i18n, cookies, headers, query, t, url } = req; + let initialState: IInitialState; + let assets: assetsType; initSSR(headers); - let currentLanguage = "en"; - - if (cookies && cookies[LANGUAGE]) { - currentLanguage = cookies[LANGUAGE]; - } else { - const availableLanguages: string[] = await getPortalCultures(); - const parsedAcceptLanguages: object[] = parser.parse( - headers["accept-language"] - ); - - const detectedLanguage: - | IAcceptLanguage - | any = parsedAcceptLanguages.find( - (acceptLang: IAcceptLanguage) => - typeof acceptLang === "object" && - acceptLang?.code && - availableLanguages.includes(acceptLang.code) - ); - - if (typeof detectedLanguage === "object") - currentLanguage = detectedLanguage.code; - } - - if (i18n) await i18n.changeLanguage(currentLanguage); - - let initialI18nStore = {}; - if (i18n) initialI18nStore = i18n.services.resourceStore.data; - - let assets: assetsType; - let initialState: IInitialState; - try { - assets = await getAssets(); - initialState = await getInitialState(query); + let currentLanguage = initialState.portalSettings.culture; + + if (cookies && cookies[LANGUAGE]) { + currentLanguage = cookies[LANGUAGE]; + } + + if (i18n) await i18n.changeLanguage(currentLanguage); + + let initialI18nStore = {}; + if (i18n) initialI18nStore = i18n.services.resourceStore.data; + + assets = await getAssets(); + const { component, styleTags } = renderApp(i18n, initialState, url); const htmlString = template( diff --git a/yarn.lock b/yarn.lock index 3c77be6120..bd3f85a3ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2255,7 +2255,6 @@ __metadata: "@types/styled-components": ^5.1.25 "@types/winston": ^2.4.4 "@types/ws": ^8.5.3 - accept-language-parser: ^1.5.0 babel-loader: ^8.2.2 bufferutil: ^4.0.6 clean-webpack-plugin: ^4.0.0 @@ -6646,13 +6645,6 @@ __metadata: languageName: node linkType: hard -"accept-language-parser@npm:^1.5.0": - version: 1.5.0 - resolution: "accept-language-parser@npm:1.5.0" - checksum: e32124e500f67d30da7dd15462b3ff7a718df327ff8bd1c97ae02d8ee5cf0917a3f600bf3b171965b1f95fef480b96d36752f674eff2cb0069c276d9783d32f6 - languageName: node - linkType: hard - "accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8"