Web: Login: added getting language from portal settings, removed accept-language-parser
This commit is contained in:
parent
e5545dd1f8
commit
ee7986e7bb
@ -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",
|
||||
|
@ -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(
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user