Localization for routes and permissions, added compression for language/getEntries

This commit is contained in:
2024-03-29 15:20:45 +01:00
parent 12b8a0b386
commit 0e3d27fa10
15 changed files with 219 additions and 73 deletions

View File

@@ -308,12 +308,12 @@ export default class API {
return res;
}
async getLanguageEntries(modules, code=null, useCache=false) {
async getLanguageEntries(modules, code=null, compression=null) {
if (!Array.isArray(modules)) {
modules = [modules];
}
return this.apiCall("language/getEntries", {code: code, modules: modules});
return this.apiCall("language/getEntries", {code: code, modules: modules, compression: compression});
}
/** ApiKeyAPI **/

View File

@@ -1,7 +1,8 @@
import React, {useReducer} from 'react';
import {createContext, useCallback, useState} from "react";
import { enUS as dateFnsEN, de as dateFnsDE } from 'date-fns/locale';
import {getCookie, getParameter} from "./util";
import {encodeText, getCookie, getParameter} from "./util";
import pako from "pako";
const LocaleContext = createContext(null);
@@ -109,7 +110,13 @@ function LocaleProvider(props) {
}
if (modules.length > 0) {
let data = await api.apiCall("language/getEntries", { code: code, modules: modules });
let compression = "zlib";
let data = await api.getLanguageEntries(modules, code, compression);
if (compression && data.success) {
data.entries = JSON.parse(pako.inflate(encodeText(atob(data.compressed)), { to: 'string' }));
}
if (useCache) {
if (data && data.success) {