@localazy/strapi-plugin 1.0.4 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/FetchIdentity-4kkW9N7Y.js +981 -0
- package/dist/_chunks/FetchIdentity-BWSQAXt-.mjs +983 -0
- package/dist/_chunks/{LanguagesSelector-CeB7tVcb.mjs → LanguagesSelector-DwAGgpcR.mjs} +4 -2
- package/dist/_chunks/{LanguagesSelector-Bd8VFHib.js → LanguagesSelector-yWC_Yb_S.js} +12 -10
- package/dist/_chunks/{App-NRmSxuW3.js → LocalazyApp-DnaA768k.js} +136 -117
- package/dist/_chunks/{App-CtS6CrNn.mjs → LocalazyApp-zySanVTu.mjs} +32 -13
- package/dist/_chunks/{ContentTransferSetup-CeKXlzw_.mjs → LocalazyContentTransferSetup-C7qVIeix.mjs} +49 -456
- package/dist/_chunks/{ContentTransferSetup-DGs8MZPj.js → LocalazyContentTransferSetup-CeOM6bYA.js} +113 -520
- package/dist/_chunks/{GlobalSettings-rOwd0Y0E.mjs → LocalazyGlobalSettings-QvuLdsLe.mjs} +17 -8
- package/dist/_chunks/{GlobalSettings-CRMPRA3Y.js → LocalazyGlobalSettings-ewETL3oG.js} +61 -52
- package/dist/_chunks/LocalazyPanel-BXVLvFgD.js +83 -0
- package/dist/_chunks/LocalazyPanel-BotUsX-y.mjs +83 -0
- package/dist/_chunks/LocalazyStatusColumn-C81HewMg.mjs +51 -0
- package/dist/_chunks/LocalazyStatusColumn-Dt96YcGQ.js +51 -0
- package/dist/_chunks/{isEqual-CC-cEPwY.mjs → RequireLocalazyAuth-CDuyGCrT.mjs} +22 -1
- package/dist/_chunks/{isEqual-0M0aSdTT.js → RequireLocalazyAuth-CWBWETzC.js} +50 -29
- package/dist/_chunks/_commonjsHelpers-Bc2YnDe1.js +7 -0
- package/dist/_chunks/_commonjsHelpers-DWwsNxpa.mjs +8 -0
- package/dist/_chunks/en-CMWcM0nM.js +10 -0
- package/dist/_chunks/en-RX915msK.mjs +10 -0
- package/dist/_chunks/entry-exclusion-service-BVPICve2.mjs +60 -0
- package/dist/_chunks/entry-exclusion-service-CGV6iOkB.js +60 -0
- package/dist/_chunks/{has-model-changed-gNSOSMBa.js → has-model-changed-DVYRxVhM.js} +33 -32
- package/dist/_chunks/{has-model-changed-DViUIQHk.mjs → has-model-changed-DZL36gWh.mjs} +3 -2
- package/dist/_chunks/i18n-0dV2P-Hm.js +2378 -0
- package/dist/_chunks/i18n-RoETLXdU.mjs +2378 -0
- package/dist/_chunks/index-1he9s_bs.js +430 -0
- package/dist/_chunks/index-BIbKC7-V.mjs +432 -0
- package/dist/_chunks/index-CCxXsn7Z.js +254 -0
- package/dist/_chunks/{set-Cbi1yYuW.js → index-CaY3BYnQ.js} +878 -4379
- package/dist/_chunks/{set-Dnhh_SyE.mjs → index-CgI_aKe_.mjs} +906 -4408
- package/dist/_chunks/index-DsrYI6aB.mjs +231 -0
- package/dist/_chunks/initReactI18next-B0H8_DlW.js +60 -0
- package/dist/_chunks/initReactI18next-MHHxeg_9.mjs +61 -0
- package/dist/_chunks/{index-Dj68Ixl2.mjs → strapi-api-base-BE8VMlaA.js} +7 -234
- package/dist/_chunks/{index-Bbwk3kp3.js → strapi-api-base-DjeKGUw7.mjs} +15 -242
- package/dist/_chunks/useTranslation-BdIl-aLe.js +188 -0
- package/dist/_chunks/useTranslation-CZQ4lU1m.mjs +189 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/LocalazyPanel.d.ts +4 -0
- package/dist/admin/src/components/LocalazyStatusColumn.d.ts +3 -0
- package/dist/admin/src/components/RequireLocalazyAuth.d.ts +6 -0
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/modules/entry-exclusion/services/entry-exclusion-service.d.ts +18 -0
- package/dist/admin/src/modules/plugin-settings/locale/en.d.ts +8 -0
- package/dist/admin/src/pages/LocalazyApp.d.ts +2 -0
- package/dist/admin/src/pages/LocalazyContentTransferSetup.d.ts +2 -0
- package/dist/admin/src/pages/LocalazyGlobalSettings.d.ts +2 -0
- package/dist/server/index.js +202 -35
- package/dist/server/index.mjs +202 -35
- package/dist/server/src/controllers/entry-exclusion-controller.d.ts +21 -0
- package/dist/server/src/controllers/index.d.ts +7 -0
- package/dist/server/src/core/index.d.ts +6 -0
- package/dist/server/src/index.d.ts +15 -0
- package/dist/server/src/routes/entry-exclusion-routes.d.ts +9 -0
- package/dist/server/src/services/entry-exclusion-service.d.ts +23 -0
- package/dist/server/src/services/index.d.ts +8 -0
- package/package.json +2 -2
- package/dist/_chunks/en-BTf8goGM.mjs +0 -8
- package/dist/_chunks/en-CRtsEFtl.js +0 -8
|
@@ -2,12 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const reactRouterDom = require("react-router-dom");
|
|
5
|
-
const
|
|
5
|
+
const index$1 = require("./index-CaY3BYnQ.js");
|
|
6
6
|
const React = require("react");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const FetchIdentity = require("./FetchIdentity-4kkW9N7Y.js");
|
|
8
|
+
const index = require("./index-CCxXsn7Z.js");
|
|
9
|
+
const useTranslation = require("./useTranslation-BdIl-aLe.js");
|
|
10
|
+
const _commonjsHelpers = require("./_commonjsHelpers-Bc2YnDe1.js");
|
|
11
|
+
const strapiApiBase = require("./strapi-api-base-BE8VMlaA.js");
|
|
12
|
+
const LanguagesSelector = require("./LanguagesSelector-yWC_Yb_S.js");
|
|
9
13
|
const admin = require("@strapi/strapi/admin");
|
|
10
|
-
|
|
14
|
+
require("./i18n-0dV2P-Hm.js");
|
|
15
|
+
const hasModelChanged = require("./has-model-changed-DVYRxVhM.js");
|
|
11
16
|
var PLUGIN_ROUTES = /* @__PURE__ */ ((PLUGIN_ROUTES2) => {
|
|
12
17
|
PLUGIN_ROUTES2["ROOT"] = "";
|
|
13
18
|
PLUGIN_ROUTES2["LOGIN"] = "login";
|
|
@@ -36,13 +41,13 @@ const useRedirectToPluginRoute = () => {
|
|
|
36
41
|
};
|
|
37
42
|
};
|
|
38
43
|
const useNav = () => {
|
|
39
|
-
const { t: t2 } =
|
|
44
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
40
45
|
return [
|
|
41
46
|
{
|
|
42
47
|
id: "overview",
|
|
43
48
|
label: t2("common.overview"),
|
|
44
49
|
description: t2("overview.description"),
|
|
45
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(index$1.ForwardRef$2H, {}),
|
|
46
51
|
to: `/plugins/${index.PLUGIN_ID}/overview`,
|
|
47
52
|
active: false
|
|
48
53
|
},
|
|
@@ -50,7 +55,7 @@ const useNav = () => {
|
|
|
50
55
|
id: "upload",
|
|
51
56
|
label: t2("common.upload_to_localazy"),
|
|
52
57
|
description: t2("upload.description"),
|
|
53
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(index$1.ForwardRef$d, {}),
|
|
54
59
|
to: `/plugins/${index.PLUGIN_ID}/upload`,
|
|
55
60
|
active: false
|
|
56
61
|
},
|
|
@@ -58,14 +63,14 @@ const useNav = () => {
|
|
|
58
63
|
id: "download",
|
|
59
64
|
label: t2("common.download_to_strapi"),
|
|
60
65
|
description: t2("download.description"),
|
|
61
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
66
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(index$1.ForwardRef$3P, {}),
|
|
62
67
|
to: `/plugins/${index.PLUGIN_ID}/download`,
|
|
63
68
|
active: false
|
|
64
69
|
}
|
|
65
70
|
];
|
|
66
71
|
};
|
|
67
72
|
const useHeaderTitle = () => {
|
|
68
|
-
const { t: t2 } =
|
|
73
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
69
74
|
const location2 = reactRouterDom.useLocation();
|
|
70
75
|
const navigation = useNav();
|
|
71
76
|
const pluginSegment = location2?.pathname.split(`/${index.PLUGIN_ID}/`)[1];
|
|
@@ -86,8 +91,8 @@ const useHeaderSubtitle = () => {
|
|
|
86
91
|
return currentNavItem?.description || "";
|
|
87
92
|
};
|
|
88
93
|
function PluginPageLoader() {
|
|
89
|
-
const { t: t2 } =
|
|
90
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
94
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
95
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.Flex, { marginTop: 10, alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Loader, { children: t2("common.loading_content") }) });
|
|
91
96
|
}
|
|
92
97
|
var propTypes = { exports: {} };
|
|
93
98
|
var reactIs = { exports: {} };
|
|
@@ -1027,7 +1032,7 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
1027
1032
|
propTypes.exports = requireFactoryWithThrowingShims()();
|
|
1028
1033
|
}
|
|
1029
1034
|
var propTypesExports = propTypes.exports;
|
|
1030
|
-
const PropTypes = /* @__PURE__ */
|
|
1035
|
+
const PropTypes = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(propTypesExports);
|
|
1031
1036
|
var t = Object.defineProperty, e = (e2, a2, n2) => (((e3, a3, n3) => {
|
|
1032
1037
|
a3 in e3 ? t(e3, a3, { enumerable: true, configurable: true, writable: true, value: n3 }) : e3[a3] = n3;
|
|
1033
1038
|
})(e2, "symbol" != typeof a2 ? a2 + "" : a2, n2), n2);
|
|
@@ -1113,7 +1118,7 @@ function l(t2, e2) {
|
|
|
1113
1118
|
return "/" !== new URL(n2).pathname ? `${n2}?${a2.toString()}` : `${n2}/oauth/authorize?${a2.toString()}`;
|
|
1114
1119
|
}
|
|
1115
1120
|
const BASE_PATH$2 = "/auth";
|
|
1116
|
-
const axiosInstance =
|
|
1121
|
+
const axiosInstance = strapiApiBase.createStrapiApiAxiosInstance();
|
|
1117
1122
|
class LocalazyLoginService {
|
|
1118
1123
|
static async generateKeys() {
|
|
1119
1124
|
try {
|
|
@@ -1132,7 +1137,7 @@ class LocalazyLoginService {
|
|
|
1132
1137
|
}
|
|
1133
1138
|
}
|
|
1134
1139
|
}
|
|
1135
|
-
const strapiApiInstance$1 =
|
|
1140
|
+
const strapiApiInstance$1 = strapiApiBase.createStrapiApiAxiosInstance("/i18n");
|
|
1136
1141
|
class I18nService {
|
|
1137
1142
|
static async getLocales() {
|
|
1138
1143
|
try {
|
|
@@ -1244,7 +1249,7 @@ if (process.env.STRAPI_ADMIN_LOCALAZY_ENV === "development") {
|
|
|
1244
1249
|
config = development;
|
|
1245
1250
|
}
|
|
1246
1251
|
const LoginButton = (props) => {
|
|
1247
|
-
const { t: t2 } =
|
|
1252
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1248
1253
|
const [isLoading, setIsLoading] = React.useState(false);
|
|
1249
1254
|
const login = async () => {
|
|
1250
1255
|
setIsLoading(true);
|
|
@@ -1265,7 +1270,7 @@ const LoginButton = (props) => {
|
|
|
1265
1270
|
setIsLoading(false);
|
|
1266
1271
|
props.onResultFetched(pollResult);
|
|
1267
1272
|
};
|
|
1268
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1273
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Button, { variant: "default", size: "L", loading: isLoading, onClick: login, children: t2("login.login_with_localazy") }) });
|
|
1269
1274
|
};
|
|
1270
1275
|
LoginButton.propTypes = {
|
|
1271
1276
|
onResultFetched: PropTypes.func.isRequired
|
|
@@ -1274,7 +1279,7 @@ const client = new o({
|
|
|
1274
1279
|
pluginId: c.STRAPI,
|
|
1275
1280
|
genericConnectorUrl: config.LOCALAZY_PLUGIN_CONNECTOR_API_URL
|
|
1276
1281
|
});
|
|
1277
|
-
const strapiApiInstance =
|
|
1282
|
+
const strapiApiInstance = strapiApiBase.createStrapiApiAxiosInstance();
|
|
1278
1283
|
class PluginService {
|
|
1279
1284
|
static async getPluginVersion() {
|
|
1280
1285
|
try {
|
|
@@ -1364,11 +1369,11 @@ class ProductAnalyticsService {
|
|
|
1364
1369
|
}
|
|
1365
1370
|
}
|
|
1366
1371
|
const Login = ({ title, subtitle, isLoading = false }) => {
|
|
1367
|
-
const { t: t2 } =
|
|
1372
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1368
1373
|
const localazyStrapiDocsLink = "https://localazy.com/docs/strapi";
|
|
1369
|
-
const { setIdentity, identity, isLoggedIn } =
|
|
1374
|
+
const { setIdentity, identity, isLoggedIn } = FetchIdentity.useLocalazyIdentity();
|
|
1370
1375
|
const onLoginResultFetched = async (result) => {
|
|
1371
|
-
await
|
|
1376
|
+
await FetchIdentity.LocalazyUserService.updateIdentity(result);
|
|
1372
1377
|
setIdentity(result);
|
|
1373
1378
|
};
|
|
1374
1379
|
React.useEffect(() => {
|
|
@@ -1380,7 +1385,7 @@ const Login = ({ title, subtitle, isLoading = false }) => {
|
|
|
1380
1385
|
/* @__PURE__ */ jsxRuntime.jsx(admin.Layouts.Header, { title, subtitle, as: "h1" }),
|
|
1381
1386
|
isLoading && /* @__PURE__ */ jsxRuntime.jsx(PluginPageLoader, {}),
|
|
1382
1387
|
!isLoading && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1383
|
-
|
|
1388
|
+
index$1.Box,
|
|
1384
1389
|
{
|
|
1385
1390
|
marginLeft: 10,
|
|
1386
1391
|
marginRight: 10,
|
|
@@ -1392,7 +1397,7 @@ const Login = ({ title, subtitle, isLoading = false }) => {
|
|
|
1392
1397
|
hasRadius: true,
|
|
1393
1398
|
shadow: "tableShadow",
|
|
1394
1399
|
children: [
|
|
1395
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1400
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { children: /* @__PURE__ */ jsxRuntime.jsxs(index$1.Typography, { variant: "epsilon", textColor: "neutral600", children: [
|
|
1396
1401
|
t2("common.localazy_plugin_description"),
|
|
1397
1402
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
1398
1403
|
t2("login.login_and_start_translating_your_project"),
|
|
@@ -1400,59 +1405,59 @@ const Login = ({ title, subtitle, isLoading = false }) => {
|
|
|
1400
1405
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
1401
1406
|
t2("login.you_have_to_own_account_for_the_plugin_to_work_properly")
|
|
1402
1407
|
] }) }),
|
|
1403
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1404
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1408
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { paddingTop: 6, children: /* @__PURE__ */ jsxRuntime.jsx(LoginButton, { onResultFetched: onLoginResultFetched }) }),
|
|
1409
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { paddingTop: 6, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, { href: localazyStrapiDocsLink, isExternal: true, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "sigma", textColor: "primary600", children: t2("login.read_the_documentation") }) }) })
|
|
1405
1410
|
]
|
|
1406
1411
|
}
|
|
1407
1412
|
)
|
|
1408
1413
|
] });
|
|
1409
1414
|
};
|
|
1410
1415
|
const SideNav = () => {
|
|
1411
|
-
const { t: t2 } =
|
|
1416
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1412
1417
|
const navigation = useNav();
|
|
1413
1418
|
const isActive = (navItem) => {
|
|
1414
1419
|
return location.pathname.includes(navItem.to);
|
|
1415
1420
|
};
|
|
1416
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1417
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1418
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1421
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(index$1.SubNav, { "aria-label": t2("common.localazy_plugin"), children: [
|
|
1422
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.SubNavHeader, { label: t2("common.localazy_plugin") }),
|
|
1423
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.SubNavSections, { children: /* @__PURE__ */ jsxRuntime.jsx(index$1.SubNavSection, { label: t2("common.navigation"), children: navigation.map((navItem) => /* @__PURE__ */ jsxRuntime.jsx(index$1.SubNavLink, { tag: reactRouterDom.NavLink, to: navItem.to, active: isActive(navItem), icon: navItem.icon, children: navItem.label }, navItem.id)) }) })
|
|
1419
1424
|
] });
|
|
1420
1425
|
};
|
|
1421
1426
|
const LogoutButton = (props) => {
|
|
1422
|
-
const { t: t2 } =
|
|
1427
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1423
1428
|
const [isLoading, setIsLoading] = React.useState(false);
|
|
1424
|
-
const { setIdentity } =
|
|
1429
|
+
const { setIdentity } = FetchIdentity.useLocalazyIdentity();
|
|
1425
1430
|
const logout = async () => {
|
|
1426
1431
|
setIsLoading(true);
|
|
1427
|
-
|
|
1428
|
-
setIdentity(
|
|
1432
|
+
FetchIdentity.LocalazyUserService.deleteIdentity();
|
|
1433
|
+
setIdentity(FetchIdentity.emptyIdentity);
|
|
1429
1434
|
setIsLoading(false);
|
|
1430
1435
|
props.onResultFetched();
|
|
1431
1436
|
};
|
|
1432
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1437
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Button, { startIcon: /* @__PURE__ */ jsxRuntime.jsx(index$1.ForwardRef$L, {}), variant: "secondary", loading: isLoading, onClick: logout, children: t2("login.logout_from_localazy") }) });
|
|
1433
1438
|
};
|
|
1434
1439
|
const OverviewItem = (props) => {
|
|
1435
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1436
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1437
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1440
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(index$1.Grid.Root, { padding: 1, col: 6, s: 12, children: [
|
|
1441
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "sigma", textColor: "neutral600", textTransform: "uppercase", children: props.label }) }),
|
|
1442
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", textColor: "neutral800", fontWeight: "semiBold", children: props.value }) })
|
|
1438
1443
|
] });
|
|
1439
1444
|
};
|
|
1440
1445
|
const OverviewItemLink = (props) => {
|
|
1441
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1446
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Root, { padding: 1, col: 6, s: 12, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, { href: props.to, isExternal: true, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "sigma", textColor: "primary600", textTransform: "uppercase", children: props.label }) }) }) });
|
|
1442
1447
|
};
|
|
1443
1448
|
const PrerequisitiesInfo = () => {
|
|
1444
|
-
const { t: t2 } =
|
|
1445
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1446
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1447
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1449
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1450
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(index$1.Box, { children: [
|
|
1451
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", children: t2("overview.transfer_setup_message_a") }),
|
|
1452
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", fontWeight: "semiBold", children: t2("overview.transfer_setup_message_b") })
|
|
1448
1453
|
] });
|
|
1449
1454
|
};
|
|
1450
1455
|
const formatNumber = (value2, options = void 0) => new Intl.NumberFormat("en-GB", options).format(value2);
|
|
1451
1456
|
const Overview = ({ title, subtitle, isLoadingProp = false }) => {
|
|
1452
|
-
const { t: t2 } =
|
|
1457
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1453
1458
|
const { navigateToPluginRoute } = useRedirectToPluginRoute();
|
|
1454
1459
|
const [isLoading, setIsLoading] = React.useState(true);
|
|
1455
|
-
const { identity } =
|
|
1460
|
+
const { identity } = FetchIdentity.useLocalazyIdentity();
|
|
1456
1461
|
const projectUrl = identity.project.url;
|
|
1457
1462
|
const [connectedProject, setConnectedProject] = React.useState(null);
|
|
1458
1463
|
React.useEffect(() => {
|
|
@@ -1460,7 +1465,7 @@ const Overview = ({ title, subtitle, isLoadingProp = false }) => {
|
|
|
1460
1465
|
setIsLoading(true);
|
|
1461
1466
|
const project = await LanguagesSelector.ProjectService.getConnectedProject();
|
|
1462
1467
|
setConnectedProject(project);
|
|
1463
|
-
|
|
1468
|
+
FetchIdentity.PluginSettingsService.updatePluginSettings({ defaultRoute: PLUGIN_ROUTES.OVERVIEW });
|
|
1464
1469
|
setIsLoading(false);
|
|
1465
1470
|
}
|
|
1466
1471
|
initComponent();
|
|
@@ -1480,8 +1485,8 @@ const Overview = ({ title, subtitle, isLoadingProp = false }) => {
|
|
|
1480
1485
|
}
|
|
1481
1486
|
),
|
|
1482
1487
|
(isLoadingProp || isLoading) && /* @__PURE__ */ jsxRuntime.jsx(PluginPageLoader, {}),
|
|
1483
|
-
!(isLoadingProp || isLoading) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1484
|
-
|
|
1488
|
+
!(isLoadingProp || isLoading) && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { paddingRight: 10, paddingLeft: 10, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1489
|
+
index$1.Box,
|
|
1485
1490
|
{
|
|
1486
1491
|
background: "neutral0",
|
|
1487
1492
|
paddingTop: 6,
|
|
@@ -1492,7 +1497,7 @@ const Overview = ({ title, subtitle, isLoadingProp = false }) => {
|
|
|
1492
1497
|
shadow: "tableShadow",
|
|
1493
1498
|
children: [
|
|
1494
1499
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1495
|
-
|
|
1500
|
+
index$1.Grid.Root,
|
|
1496
1501
|
{
|
|
1497
1502
|
gap: {
|
|
1498
1503
|
desktop: 5,
|
|
@@ -1500,9 +1505,9 @@ const Overview = ({ title, subtitle, isLoadingProp = false }) => {
|
|
|
1500
1505
|
mobile: 1
|
|
1501
1506
|
},
|
|
1502
1507
|
children: [
|
|
1503
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1504
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1505
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1508
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(OverviewItem, { label: t2("overview.connected_user"), value: identity.user.name }) }),
|
|
1509
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(OverviewItem, { label: t2("overview.connected_project"), value: identity.project.name }) }),
|
|
1510
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1506
1511
|
OverviewItem,
|
|
1507
1512
|
{
|
|
1508
1513
|
label: t2("overview.remaining_organization_keys"),
|
|
@@ -1511,11 +1516,11 @@ const Overview = ({ title, subtitle, isLoadingProp = false }) => {
|
|
|
1511
1516
|
)
|
|
1512
1517
|
}
|
|
1513
1518
|
) }),
|
|
1514
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1519
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(OverviewItemLink, { label: t2("overview.open_project_in_localazy"), to: projectUrl }) })
|
|
1515
1520
|
]
|
|
1516
1521
|
}
|
|
1517
1522
|
),
|
|
1518
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1523
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { paddingTop: 4, paddingBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Divider, {}) }),
|
|
1519
1524
|
/* @__PURE__ */ jsxRuntime.jsx(PrerequisitiesInfo, {})
|
|
1520
1525
|
]
|
|
1521
1526
|
}
|
|
@@ -1529,13 +1534,13 @@ const getDefaultThemeName = () => {
|
|
|
1529
1534
|
};
|
|
1530
1535
|
const getDefaultTheme = () => {
|
|
1531
1536
|
const themeName = getDefaultThemeName();
|
|
1532
|
-
return themeName === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ?
|
|
1537
|
+
return themeName === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? index$1.darkTheme : index$1.lightTheme : themeName === "dark" ? index$1.darkTheme : index$1.lightTheme;
|
|
1533
1538
|
};
|
|
1534
1539
|
const BASE_PATH$1 = "/transfer";
|
|
1535
1540
|
class LocalazyUploadService {
|
|
1536
1541
|
static async upload(data = {}) {
|
|
1537
1542
|
try {
|
|
1538
|
-
const strapiApiInstance2 =
|
|
1543
|
+
const strapiApiInstance2 = strapiApiBase.createStrapiApiAxiosInstance();
|
|
1539
1544
|
const result = await strapiApiInstance2.post(`${BASE_PATH$1}/upload`, data);
|
|
1540
1545
|
return result.data;
|
|
1541
1546
|
} catch (e2) {
|
|
@@ -1572,7 +1577,7 @@ const areLocalesCompatible = async (defaultLocale = null, sourceLanguage = null)
|
|
|
1572
1577
|
}
|
|
1573
1578
|
};
|
|
1574
1579
|
const TransferReport = (props) => {
|
|
1575
|
-
const { t: t2 } =
|
|
1580
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1576
1581
|
const [reportLocal, setReportLocal] = React.useState(props.report);
|
|
1577
1582
|
const onCloseItem = (index2) => {
|
|
1578
1583
|
const newReportLocal = reportLocal;
|
|
@@ -1586,16 +1591,16 @@ const TransferReport = (props) => {
|
|
|
1586
1591
|
return null;
|
|
1587
1592
|
}
|
|
1588
1593
|
return reportLocal.map((item, index2) => {
|
|
1589
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1594
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Alert, { onClose: () => onCloseItem(index2), closeLabel: t2("upload.close"), variant: "default", children: item }, index2) }, index2);
|
|
1590
1595
|
});
|
|
1591
1596
|
};
|
|
1592
1597
|
const ReadDocsButton = () => {
|
|
1593
|
-
const { t: t2 } =
|
|
1598
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
1594
1599
|
const link = "https://localazy.com/docs/strapi";
|
|
1595
1600
|
const onReadDocumentationClick = () => {
|
|
1596
1601
|
window.open(link, "_blank");
|
|
1597
1602
|
};
|
|
1598
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1603
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.Button, { variant: "tertiary", onClick: onReadDocumentationClick, children: t2("upload.read_documentation") });
|
|
1599
1604
|
};
|
|
1600
1605
|
const PACKET_TYPES = /* @__PURE__ */ Object.create(null);
|
|
1601
1606
|
PACKET_TYPES["open"] = "0";
|
|
@@ -4928,8 +4933,8 @@ class UploadAlertsService extends AlertsService {
|
|
|
4928
4933
|
}
|
|
4929
4934
|
const uploadAlertsService = new UploadAlertsService();
|
|
4930
4935
|
const Upload = (props) => {
|
|
4931
|
-
const { t: t2 } =
|
|
4932
|
-
const { identity } =
|
|
4936
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
4937
|
+
const { identity } = FetchIdentity.useLocalazyIdentity();
|
|
4933
4938
|
const { navigateToPluginRoute } = useRedirectToPluginRoute();
|
|
4934
4939
|
const [isLoading, setIsLoading] = React.useState(true);
|
|
4935
4940
|
const [modelChanged, setModelChanged] = React.useState(false);
|
|
@@ -4980,11 +4985,17 @@ const Upload = (props) => {
|
|
|
4980
4985
|
React.useEffect(() => {
|
|
4981
4986
|
async function initComponent() {
|
|
4982
4987
|
setIsLoading(true);
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
+
const [defaultLocale, sourceLanguage, modelChangedResult, localesCompatibleResult] = await Promise.all([
|
|
4989
|
+
getStrapiDefaultLocale(),
|
|
4990
|
+
getLocalazySourceLanguage(),
|
|
4991
|
+
hasModelChanged.hasModelChanged(),
|
|
4992
|
+
areLocalesCompatible(strapiDefaultLocale, localazySourceLanguage)
|
|
4993
|
+
]);
|
|
4994
|
+
setStrapiDefaultLocale(defaultLocale);
|
|
4995
|
+
setLocalazySourceLanguage(sourceLanguage);
|
|
4996
|
+
setModelChanged(modelChangedResult);
|
|
4997
|
+
setLocalesIncompatible(!localesCompatibleResult);
|
|
4998
|
+
FetchIdentity.PluginSettingsService.updatePluginSettings({ defaultRoute: PLUGIN_ROUTES.UPLOAD });
|
|
4988
4999
|
setIsLoading(false);
|
|
4989
5000
|
}
|
|
4990
5001
|
initComponent();
|
|
@@ -4996,9 +5007,9 @@ const Upload = (props) => {
|
|
|
4996
5007
|
title: props.title,
|
|
4997
5008
|
subtitle: props.subtitle,
|
|
4998
5009
|
primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4999
|
-
|
|
5010
|
+
index$1.Button,
|
|
5000
5011
|
{
|
|
5001
|
-
startIcon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5012
|
+
startIcon: /* @__PURE__ */ jsxRuntime.jsx(index$1.ForwardRef$d, {}),
|
|
5002
5013
|
disabled: isLoading || modelChanged || localesIncompatible,
|
|
5003
5014
|
loading: isUploading,
|
|
5004
5015
|
onClick: onUploadClick,
|
|
@@ -5009,9 +5020,9 @@ const Upload = (props) => {
|
|
|
5009
5020
|
}
|
|
5010
5021
|
),
|
|
5011
5022
|
isLoading && /* @__PURE__ */ jsxRuntime.jsx(PluginPageLoader, {}),
|
|
5012
|
-
!isLoading && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5023
|
+
!isLoading && /* @__PURE__ */ jsxRuntime.jsxs(index$1.Box, { paddingRight: 10, paddingLeft: 10, children: [
|
|
5013
5024
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5014
|
-
|
|
5025
|
+
index$1.Box,
|
|
5015
5026
|
{
|
|
5016
5027
|
background: "neutral0",
|
|
5017
5028
|
paddingTop: 6,
|
|
@@ -5022,7 +5033,7 @@ const Upload = (props) => {
|
|
|
5022
5033
|
shadow: "tableShadow",
|
|
5023
5034
|
children: [
|
|
5024
5035
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5025
|
-
|
|
5036
|
+
index$1.Grid.Root,
|
|
5026
5037
|
{
|
|
5027
5038
|
gap: {
|
|
5028
5039
|
desktop: 5,
|
|
@@ -5030,22 +5041,22 @@ const Upload = (props) => {
|
|
|
5030
5041
|
mobile: 1
|
|
5031
5042
|
},
|
|
5032
5043
|
children: [
|
|
5033
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5034
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5044
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(OverviewItem, { label: t2("upload.default_strapi_language"), value: strapiDefaultLocale.name }) }),
|
|
5045
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Grid.Item, { children: /* @__PURE__ */ jsxRuntime.jsx(OverviewItem, { label: t2("upload.localazy_source_language"), value: localazySourceLanguage.name }) })
|
|
5035
5046
|
]
|
|
5036
5047
|
}
|
|
5037
5048
|
),
|
|
5038
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5049
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { paddingTop: 4, paddingBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Divider, {}) }),
|
|
5039
5050
|
/* @__PURE__ */ jsxRuntime.jsx(PrerequisitiesInfo, {}),
|
|
5040
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5041
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5051
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(index$1.Flex, { gap: "2", children: [
|
|
5052
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Button, { variant: "secondary", onClick: onChangeSettingsClick, children: t2("upload.change_settings") }),
|
|
5042
5053
|
/* @__PURE__ */ jsxRuntime.jsx(ReadDocsButton, {})
|
|
5043
5054
|
] }) })
|
|
5044
5055
|
]
|
|
5045
5056
|
}
|
|
5046
5057
|
),
|
|
5047
|
-
showUploadFinishedModal && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5048
|
-
|
|
5058
|
+
showUploadFinishedModal && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5059
|
+
index$1.Alert,
|
|
5049
5060
|
{
|
|
5050
5061
|
onClose: () => setShowUploadFinishedModal(false),
|
|
5051
5062
|
closeLabel: t2("upload.close"),
|
|
@@ -5054,9 +5065,9 @@ const Upload = (props) => {
|
|
|
5054
5065
|
children: uploadResult.success ? t2("upload.upload_success") : t2("upload.upload_failed")
|
|
5055
5066
|
}
|
|
5056
5067
|
) }),
|
|
5057
|
-
isUploading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5058
|
-
localesIncompatible && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5059
|
-
|
|
5068
|
+
isUploading && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Alert, { title: t2("upload.upload_in_progress"), variant: "warning", children: t2("upload.to_see_to_progress") }) }),
|
|
5069
|
+
localesIncompatible && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5070
|
+
index$1.Alert,
|
|
5060
5071
|
{
|
|
5061
5072
|
onClose: () => setLocalesIncompatible(false),
|
|
5062
5073
|
closeLabel: t2("upload.close"),
|
|
@@ -5065,8 +5076,8 @@ const Upload = (props) => {
|
|
|
5065
5076
|
children: t2("upload.languages_incompatible_message")
|
|
5066
5077
|
}
|
|
5067
5078
|
) }),
|
|
5068
|
-
modelChanged && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5069
|
-
|
|
5079
|
+
modelChanged && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5080
|
+
index$1.Alert,
|
|
5070
5081
|
{
|
|
5071
5082
|
onClose: () => setModelChanged(false),
|
|
5072
5083
|
closeLabel: t2("upload.close"),
|
|
@@ -5083,7 +5094,7 @@ const BASE_PATH = "/transfer";
|
|
|
5083
5094
|
class LocalazyDownloadService {
|
|
5084
5095
|
static async download(data = {}) {
|
|
5085
5096
|
try {
|
|
5086
|
-
const strapiApiInstance2 =
|
|
5097
|
+
const strapiApiInstance2 = strapiApiBase.createStrapiApiAxiosInstance();
|
|
5087
5098
|
const result = await strapiApiInstance2.post(`${BASE_PATH}/download`, data);
|
|
5088
5099
|
return result.data;
|
|
5089
5100
|
} catch (e2) {
|
|
@@ -5101,8 +5112,8 @@ class DownloadAlertsService extends AlertsService {
|
|
|
5101
5112
|
}
|
|
5102
5113
|
const downloadAlertsService = new DownloadAlertsService();
|
|
5103
5114
|
const Download = (props) => {
|
|
5104
|
-
const { t: t2 } =
|
|
5105
|
-
const { identity } =
|
|
5115
|
+
const { t: t2 } = useTranslation.useTranslation();
|
|
5116
|
+
const { identity } = FetchIdentity.useLocalazyIdentity();
|
|
5106
5117
|
const [isLoading, setIsLoading] = React.useState(true);
|
|
5107
5118
|
const [modelChanged, setModelChanged] = React.useState(false);
|
|
5108
5119
|
const [localesIncompatible, setLocalesIncompatible] = React.useState(false);
|
|
@@ -5118,11 +5129,11 @@ const Download = (props) => {
|
|
|
5118
5129
|
const [projectLanguages, setProjectLanguages] = React.useState([]);
|
|
5119
5130
|
const [formModel, setFormModel] = React.useState({});
|
|
5120
5131
|
const onDownloadLanguagesChange = (languages) => {
|
|
5121
|
-
const newFormModel =
|
|
5122
|
-
|
|
5132
|
+
const newFormModel = FetchIdentity.cloneDeep(formModel);
|
|
5133
|
+
FetchIdentity.set(newFormModel, "download.uiLanguages", languages);
|
|
5123
5134
|
setFormModel(newFormModel);
|
|
5124
5135
|
try {
|
|
5125
|
-
|
|
5136
|
+
FetchIdentity.PluginSettingsService.updatePluginSettings(newFormModel);
|
|
5126
5137
|
} catch (e2) {
|
|
5127
5138
|
console.error(e2.message);
|
|
5128
5139
|
}
|
|
@@ -5158,14 +5169,18 @@ const Download = (props) => {
|
|
|
5158
5169
|
React.useEffect(() => {
|
|
5159
5170
|
async function initComponent() {
|
|
5160
5171
|
setIsLoading(true);
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5172
|
+
const [modelChangedResult, localesCompatibleResult, project, globalSettings] = await Promise.all([
|
|
5173
|
+
hasModelChanged.hasModelChanged(),
|
|
5174
|
+
areLocalesCompatible(),
|
|
5175
|
+
LanguagesSelector.ProjectService.getConnectedProject(),
|
|
5176
|
+
FetchIdentity.PluginSettingsService.getPluginSettings()
|
|
5177
|
+
]);
|
|
5178
|
+
setModelChanged(modelChangedResult);
|
|
5179
|
+
setLocalesIncompatible(!localesCompatibleResult);
|
|
5164
5180
|
const projectLanguagesWithoutDefaultLanguage = project?.languages?.filter((language) => language.id !== project.sourceLanguage) || [];
|
|
5165
5181
|
setProjectLanguages(projectLanguagesWithoutDefaultLanguage);
|
|
5166
|
-
const globalSettings = await set.PluginSettingsService.getPluginSettings();
|
|
5167
5182
|
setFormModel(globalSettings);
|
|
5168
|
-
|
|
5183
|
+
FetchIdentity.PluginSettingsService.updatePluginSettings({ defaultRoute: PLUGIN_ROUTES.DOWNLOAD });
|
|
5169
5184
|
setIsLoading(false);
|
|
5170
5185
|
}
|
|
5171
5186
|
initComponent();
|
|
@@ -5177,9 +5192,9 @@ const Download = (props) => {
|
|
|
5177
5192
|
title: props.title,
|
|
5178
5193
|
subtitle: props.subtitle,
|
|
5179
5194
|
primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5180
|
-
|
|
5195
|
+
index$1.Button,
|
|
5181
5196
|
{
|
|
5182
|
-
startIcon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5197
|
+
startIcon: /* @__PURE__ */ jsxRuntime.jsx(index$1.ForwardRef$3P, {}),
|
|
5183
5198
|
disabled: isLoading || modelChanged || localesIncompatible,
|
|
5184
5199
|
loading: isDownloading,
|
|
5185
5200
|
onClick: onDownloadClick,
|
|
@@ -5190,9 +5205,9 @@ const Download = (props) => {
|
|
|
5190
5205
|
}
|
|
5191
5206
|
),
|
|
5192
5207
|
isLoading && /* @__PURE__ */ jsxRuntime.jsx(PluginPageLoader, {}),
|
|
5193
|
-
!isLoading && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5208
|
+
!isLoading && /* @__PURE__ */ jsxRuntime.jsxs(index$1.Box, { paddingRight: 10, paddingLeft: 10, children: [
|
|
5194
5209
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5195
|
-
|
|
5210
|
+
index$1.Box,
|
|
5196
5211
|
{
|
|
5197
5212
|
background: "neutral0",
|
|
5198
5213
|
paddingTop: 6,
|
|
@@ -5202,14 +5217,14 @@ const Download = (props) => {
|
|
|
5202
5217
|
hasRadius: true,
|
|
5203
5218
|
shadow: "tableShadow",
|
|
5204
5219
|
children: [
|
|
5205
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5206
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5220
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", children: t2("download.download_note_a") }),
|
|
5221
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", fontWeight: "semiBold", children: t2("download.download_note_b") }),
|
|
5207
5222
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
5208
5223
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
5209
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5210
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5211
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5212
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5224
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", children: t2("download.make_sure_note_a") }),
|
|
5225
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", fontWeight: "semiBold", children: t2("download.make_sure_note_b") }),
|
|
5226
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Typography, { variant: "omega", children: t2("download.make_sure_note_c") }),
|
|
5227
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { paddingTop: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5213
5228
|
LanguagesSelector.LanguagesSelector,
|
|
5214
5229
|
{
|
|
5215
5230
|
preselectedLanguages: formModel?.download?.uiLanguages || [],
|
|
@@ -5220,16 +5235,16 @@ const Download = (props) => {
|
|
|
5220
5235
|
placeholder: t2("download.ui_languages_placeholder")
|
|
5221
5236
|
}
|
|
5222
5237
|
) }),
|
|
5223
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5224
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5225
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5238
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { paddingTop: 4, paddingBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Divider, {}) }),
|
|
5239
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 2, children: /* @__PURE__ */ jsxRuntime.jsxs(index$1.Flex, { gap: "2", children: [
|
|
5240
|
+
/* @__PURE__ */ jsxRuntime.jsx(index$1.Button, { variant: "secondary", onClick: onTranslateInLocalazyClick, children: t2("download.translate_in_localazy") }),
|
|
5226
5241
|
/* @__PURE__ */ jsxRuntime.jsx(ReadDocsButton, {})
|
|
5227
5242
|
] }) })
|
|
5228
5243
|
]
|
|
5229
5244
|
}
|
|
5230
5245
|
),
|
|
5231
|
-
showDownloadFinishedModal && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5232
|
-
|
|
5246
|
+
showDownloadFinishedModal && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5247
|
+
index$1.Alert,
|
|
5233
5248
|
{
|
|
5234
5249
|
onClose: () => setshowDownloadFinishedModal(false),
|
|
5235
5250
|
closeLabel: t2("download.close"),
|
|
@@ -5238,9 +5253,9 @@ const Download = (props) => {
|
|
|
5238
5253
|
children: downloadResult.success ? t2("download.download_success") : t2("download.download_failed")
|
|
5239
5254
|
}
|
|
5240
5255
|
) }),
|
|
5241
|
-
isDownloading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5242
|
-
localesIncompatible && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5243
|
-
|
|
5256
|
+
isDownloading && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Alert, { title: t2("download.download_in_progress"), variant: "warning", children: t2("download.to_see_to_progress") }) }),
|
|
5257
|
+
localesIncompatible && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5258
|
+
index$1.Alert,
|
|
5244
5259
|
{
|
|
5245
5260
|
onClose: () => setLocalesIncompatible(false),
|
|
5246
5261
|
closeLabel: t2("download.close"),
|
|
@@ -5249,8 +5264,8 @@ const Download = (props) => {
|
|
|
5249
5264
|
children: t2("download.languages_incompatible_message")
|
|
5250
5265
|
}
|
|
5251
5266
|
) }),
|
|
5252
|
-
modelChanged && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5253
|
-
|
|
5267
|
+
modelChanged && /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { marginTop: 4, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5268
|
+
index$1.Alert,
|
|
5254
5269
|
{
|
|
5255
5270
|
onClose: () => setModelChanged(false),
|
|
5256
5271
|
closeLabel: t2("download.close"),
|
|
@@ -5265,7 +5280,7 @@ const Download = (props) => {
|
|
|
5265
5280
|
};
|
|
5266
5281
|
const App = () => {
|
|
5267
5282
|
const { navigateToPluginRoute } = useRedirectToPluginRoute();
|
|
5268
|
-
const { isLoggedIn, isFetchingIdentity } =
|
|
5283
|
+
const { isLoggedIn, isFetchingIdentity } = FetchIdentity.useLocalazyIdentity();
|
|
5269
5284
|
const headerTitle = useHeaderTitle();
|
|
5270
5285
|
const headerSubtitle = useHeaderSubtitle();
|
|
5271
5286
|
React.useEffect(() => {
|
|
@@ -5276,13 +5291,13 @@ const App = () => {
|
|
|
5276
5291
|
if (!isLoggedIn) {
|
|
5277
5292
|
navigateToPluginRoute(PLUGIN_ROUTES.LOGIN);
|
|
5278
5293
|
} else {
|
|
5279
|
-
const lastRoute = (await
|
|
5294
|
+
const lastRoute = (await FetchIdentity.PluginSettingsService.getPluginSettings()).defaultRoute || PLUGIN_ROUTES.UPLOAD;
|
|
5280
5295
|
navigateToPluginRoute(lastRoute);
|
|
5281
5296
|
}
|
|
5282
5297
|
};
|
|
5283
5298
|
fetchData();
|
|
5284
5299
|
}, [isLoggedIn, isFetchingIdentity]);
|
|
5285
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5300
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.DesignSystemProvider, { theme: getDefaultTheme(), children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Box, { background: "neutral100", children: /* @__PURE__ */ jsxRuntime.jsxs(admin.Layouts.Root, { sideNav: isLoggedIn && /* @__PURE__ */ jsxRuntime.jsx(SideNav, {}), children: [
|
|
5286
5301
|
isFetchingIdentity && /* @__PURE__ */ jsxRuntime.jsx(PluginPageLoader, {}),
|
|
5287
5302
|
/* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Routes, { children: [
|
|
5288
5303
|
/* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { path: `login`, element: /* @__PURE__ */ jsxRuntime.jsx(Login, { title: headerTitle, subtitle: headerSubtitle, isLoading: false }) }),
|
|
@@ -5299,4 +5314,8 @@ const App = () => {
|
|
|
5299
5314
|
] })
|
|
5300
5315
|
] }) }) });
|
|
5301
5316
|
};
|
|
5302
|
-
|
|
5317
|
+
const LocalazyApp = () => /* @__PURE__ */ jsxRuntime.jsxs(FetchIdentity.LocalazyIdentityProvider, { children: [
|
|
5318
|
+
/* @__PURE__ */ jsxRuntime.jsx(FetchIdentity.FetchIdentity, {}),
|
|
5319
|
+
/* @__PURE__ */ jsxRuntime.jsx(App, {})
|
|
5320
|
+
] });
|
|
5321
|
+
exports.default = LocalazyApp;
|