avada-components-seoon 1.0.0
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/README.md +71 -0
- package/dist/commands/autoTranslate.cjs +240 -0
- package/dist/commands/autoTranslate.cjs.map +1 -0
- package/dist/commands/autoTranslate.d.cts +2 -0
- package/dist/commands/autoTranslate.d.cts.map +1 -0
- package/dist/components/CrossAppBanner/index.d.ts +5 -0
- package/dist/components/CrossAppBanner/index.d.ts.map +1 -0
- package/dist/components/CrossAppBanner/index.js +192 -0
- package/dist/components/CrossAppBanner/index.js.map +1 -0
- package/dist/components/CrossAppBanner/index.scss +47 -0
- package/dist/components/CrossAppBanner/types.d.ts +81 -0
- package/dist/components/CrossAppBanner/types.d.ts.map +1 -0
- package/dist/components/CrossAppBanner/types.js +14 -0
- package/dist/components/CrossAppBanner/types.js.map +1 -0
- package/dist/components/PageSpeed/index.d.ts +81 -0
- package/dist/components/PageSpeed/index.d.ts.map +1 -0
- package/dist/components/PageSpeed/index.js +152 -0
- package/dist/components/PageSpeed/index.js.map +1 -0
- package/dist/components/PageSpeed/index.scss +233 -0
- package/dist/config/constants.d.ts +24 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +50 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/helpers/api.d.ts +6 -0
- package/dist/helpers/api.d.ts.map +1 -0
- package/dist/helpers/api.js +22 -0
- package/dist/helpers/api.js.map +1 -0
- package/dist/helpers/formatFullTime.d.ts +8 -0
- package/dist/helpers/formatFullTime.d.ts.map +1 -0
- package/dist/helpers/formatFullTime.js +45 -0
- package/dist/helpers/formatFullTime.js.map +1 -0
- package/dist/helpers/getProxyEndPoint.d.ts +7 -0
- package/dist/helpers/getProxyEndPoint.d.ts.map +1 -0
- package/dist/helpers/getProxyEndPoint.js +66 -0
- package/dist/helpers/getProxyEndPoint.js.map +1 -0
- package/dist/hooks/api/useFetchApi.d.ts +38 -0
- package/dist/hooks/api/useFetchApi.d.ts.map +1 -0
- package/dist/hooks/api/useFetchApi.js +74 -0
- package/dist/hooks/api/useFetchApi.js.map +1 -0
- package/dist/hooks/useI18n.d.ts +2 -0
- package/dist/hooks/useI18n.d.ts.map +1 -0
- package/dist/hooks/useI18n.js +35 -0
- package/dist/hooks/useI18n.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/locales/da.json +38 -0
- package/dist/locales/de.json +38 -0
- package/dist/locales/en.json +38 -0
- package/dist/locales/es.json +38 -0
- package/dist/locales/fr.json +38 -0
- package/dist/locales/index.d.ts +383 -0
- package/dist/locales/index.d.ts.map +1 -0
- package/dist/locales/index.js +23 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/nl.json +38 -0
- package/dist/locales/pt.json +38 -0
- package/dist/locales/sv.json +38 -0
- package/dist/locales/vi.json +38 -0
- package/dist/locales/zh-CN.json +38 -0
- package/dist/types/shop.d.ts +188 -0
- package/dist/types/shop.d.ts.map +1 -0
- package/dist/types/shop.js +5 -0
- package/dist/types/shop.js.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,yDAAyD,CAAC;AAClG,MAAM,CAAC,MAAM,6BAA6B,GAAG,+CAA+C,CAAC;AAE7F,MAAM,CAAC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,yCAAyC,CAAC;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,kCAAkC,CAAC;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,kCAAkC,CAAC;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,KAAK,EAAE,uEAAuE;QAC9E,WAAW,EACT,4KAA4K;QAC9K,KAAK,EAAE,wFAAwF;QAC/F,GAAG,EAAE,qCAAqC;QAC1C,WAAW,EAAE,iBAAiB;QAC9B,GAAG,EAAE,MAAM;KACZ;IACD;QACE,KAAK,EAAE,qDAAqD;QAC5D,WAAW,EACT,uKAAuK;QACzK,KAAK,EACH,uHAAuH;QACzH,GAAG,EAAE,0CAA0C;QAC/C,WAAW,EAAE,iBAAiB;QAC9B,GAAG,EAAE,QAAQ;KACd;IACD;QACE,KAAK,EAAE,iEAAiE;QACxE,WAAW,EACT,0KAA0K;QAC5K,KAAK,EAAE,8DAA8D;QACrE,GAAG,EAAE,6CAA6C;QAClD,WAAW,EAAE,qBAAqB;QAClC,GAAG,EAAE,OAAO;KACb;IACD;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,iKAAiK;QACnK,KAAK,EACH,uHAAuH;QACzH,GAAG,EAAE,0CAA0C;QAC/C,WAAW,EAAE,gBAAgB;QAC7B,GAAG,EAAE,KAAK;KACX;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/helpers/api.js"],"names":[],"mappings":"AAAA,0CACgB,QAAG,EAAE,YAAY,kBAUhC;AAED;;;iBAQC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function fetchAuthenticatedApi() {
|
|
2
|
+
return async (uri, options = {}) => {
|
|
3
|
+
const url = uri;
|
|
4
|
+
const response = await fetch(url, {
|
|
5
|
+
headers: {
|
|
6
|
+
'Content-Type': 'application/json',
|
|
7
|
+
...options.headers,
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
return response.json();
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export async function api({ url, headers = {} }) {
|
|
14
|
+
const response = await fetch(url, {
|
|
15
|
+
headers: {
|
|
16
|
+
'Content-Type': 'application/json',
|
|
17
|
+
...headers,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
return response.json();
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/helpers/api.js"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,GAAG,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO,CAAC,OAAO;aACnB;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE;IAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO;SACX;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFullTime.d.ts","sourceRoot":"","sources":["../../src/helpers/formatFullTime.js"],"names":[],"mappings":"AAiBA,iGAQC;AAkBD;;;;GAIG;AAEH,kDAHa,MAAM,CAKlB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
const fullMonthList = [
|
|
3
|
+
'January',
|
|
4
|
+
'February',
|
|
5
|
+
'March',
|
|
6
|
+
'April',
|
|
7
|
+
'May',
|
|
8
|
+
'June',
|
|
9
|
+
'July',
|
|
10
|
+
'August',
|
|
11
|
+
'September',
|
|
12
|
+
'October',
|
|
13
|
+
'November',
|
|
14
|
+
'December',
|
|
15
|
+
];
|
|
16
|
+
export function formatBothDateTime(datetime, timeZone = '', dateOnly = false) {
|
|
17
|
+
const formattedDate = formatDateOnly(datetime, timeZone);
|
|
18
|
+
if (dateOnly) {
|
|
19
|
+
return formattedDate;
|
|
20
|
+
}
|
|
21
|
+
return formattedDate + ' ' + formatTimeOnly(datetime, timeZone);
|
|
22
|
+
}
|
|
23
|
+
function formatDateOnly(datetime, timeZone = '') {
|
|
24
|
+
let result = new Date(datetime);
|
|
25
|
+
if (timeZone !== '') {
|
|
26
|
+
result = new Date(result.toLocaleString('en-US', { timeZone }));
|
|
27
|
+
}
|
|
28
|
+
return fullMonthList[result.getMonth()] + ' ' + result.getDate() + ', ' + result.getFullYear();
|
|
29
|
+
}
|
|
30
|
+
function formatTimeOnly(datetime, timeZone = '') {
|
|
31
|
+
let result = new Date(datetime);
|
|
32
|
+
if (timeZone !== '') {
|
|
33
|
+
result = new Date(result.toLocaleString('en-US', { timeZone }));
|
|
34
|
+
}
|
|
35
|
+
return ('0' + result.getHours()).slice(-2) + ':' + ('0' + result.getMinutes()).slice(-2);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @param date
|
|
40
|
+
* @returns {string}
|
|
41
|
+
*/
|
|
42
|
+
export function formatDateChecklist(date = new Date()) {
|
|
43
|
+
return moment(date).format('MM/DD/YY');
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=formatFullTime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFullTime.js","sourceRoot":"","sources":["../../src/helpers/formatFullTime.js"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK;IAC1E,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,aAAa,GAAG,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE;IAC7C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE;IAC7C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AAEH,MAAM,UAAU,mBAAmB,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function getProxyEndPoint(appId: any): "" | "https://seo.apps.avada.io/proxy" | "https://blogapp.seoon.io/proxy" | "https://app-plaza-image-optimizer.firebaseapp.com/proxy" | "https://ai-product-copy.firebaseapp.com/proxy";
|
|
2
|
+
export function getProxyUrl(appId: any, url: any): string;
|
|
3
|
+
export function getCheckInstalledUrl(appId: any): "" | "/shop/blog" | "/checkInstalled";
|
|
4
|
+
export function getCheckInstalledProxyUrl(appId: any): string;
|
|
5
|
+
export function getProxyAccessToken(appId: any): "" | "8fdf4cab401bb8c55f006b210f905c99" | "11b2fc581e5abab63e012721bcaed12a" | "e2fea4bf882eab44d34d4396099c78fe" | "293dfe9d8e908fdb401af1d8dda5145c";
|
|
6
|
+
export function getAppIdByOrigin(origin: any): "avada-seo-suite" | "seoon-blog" | "ai-product-copy" | "ap-speed-optimizer" | "unknown";
|
|
7
|
+
//# sourceMappingURL=getProxyEndPoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProxyEndPoint.d.ts","sourceRoot":"","sources":["../../src/helpers/getProxyEndPoint.js"],"names":[],"mappings":"AAeA,sOAaC;AAED,0DAIC;AAED,wFAaC;AAED,8DAIC;AAED,wMAaC;AAED,uIAaC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AI_PRODUCT_API_PROXY_ENDPOINT, AI_PROXY_ACCESS_TOKEN, BLOG_API_PROXY_ENDPOINT, BLOG_PROXY_ACCESS_TOKEN, IMAGE_API_PROXY_ENDPOINT, IMAGE_PROXY_ACCESS_TOKEN, SEO_API_ENDPOINT, SEO_PROXY_ACCESS_TOKEN, SEO_API_PROXY_ENDPOINT, BLOG_API_ENDPOINT, AI_PRODUCT_API_ENDPOINT, IMAGE_API_ENDPOINT, } from '../config/constants.js';
|
|
2
|
+
export function getProxyEndPoint(appId) {
|
|
3
|
+
switch (appId) {
|
|
4
|
+
case 'avada-seo-suite':
|
|
5
|
+
return SEO_API_PROXY_ENDPOINT;
|
|
6
|
+
case 'seoon-blog':
|
|
7
|
+
return BLOG_API_PROXY_ENDPOINT;
|
|
8
|
+
case 'ai-product-copy':
|
|
9
|
+
return AI_PRODUCT_API_PROXY_ENDPOINT;
|
|
10
|
+
case 'ap-speed-optimizer':
|
|
11
|
+
return IMAGE_API_PROXY_ENDPOINT;
|
|
12
|
+
default:
|
|
13
|
+
return '';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function getProxyUrl(appId, url) {
|
|
17
|
+
const proxyUrl = getProxyEndPoint(appId);
|
|
18
|
+
return `${proxyUrl}${url}`;
|
|
19
|
+
}
|
|
20
|
+
export function getCheckInstalledUrl(appId) {
|
|
21
|
+
switch (appId) {
|
|
22
|
+
case 'avada-seo-suite':
|
|
23
|
+
return '/shop/blog';
|
|
24
|
+
case 'seoon-blog':
|
|
25
|
+
return '/shop/blog';
|
|
26
|
+
case 'ai-product-copy':
|
|
27
|
+
return '/checkInstalled';
|
|
28
|
+
case 'ap-speed-optimizer':
|
|
29
|
+
return '/checkInstalled';
|
|
30
|
+
default:
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function getCheckInstalledProxyUrl(appId) {
|
|
35
|
+
const checkInstalledUrl = getCheckInstalledUrl(appId);
|
|
36
|
+
return getProxyUrl(appId, checkInstalledUrl);
|
|
37
|
+
}
|
|
38
|
+
export function getProxyAccessToken(appId) {
|
|
39
|
+
switch (appId) {
|
|
40
|
+
case 'avada-seo-suite':
|
|
41
|
+
return SEO_PROXY_ACCESS_TOKEN;
|
|
42
|
+
case 'seoon-blog':
|
|
43
|
+
return BLOG_PROXY_ACCESS_TOKEN;
|
|
44
|
+
case 'ai-product-copy':
|
|
45
|
+
return AI_PROXY_ACCESS_TOKEN;
|
|
46
|
+
case 'ap-speed-optimizer':
|
|
47
|
+
return IMAGE_PROXY_ACCESS_TOKEN;
|
|
48
|
+
default:
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function getAppIdByOrigin(origin) {
|
|
53
|
+
switch (origin) {
|
|
54
|
+
case SEO_API_ENDPOINT:
|
|
55
|
+
return 'avada-seo-suite';
|
|
56
|
+
case BLOG_API_ENDPOINT:
|
|
57
|
+
return 'seoon-blog';
|
|
58
|
+
case AI_PRODUCT_API_ENDPOINT:
|
|
59
|
+
return 'ai-product-copy';
|
|
60
|
+
case IMAGE_API_ENDPOINT:
|
|
61
|
+
return 'ap-speed-optimizer';
|
|
62
|
+
default:
|
|
63
|
+
return 'unknown';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=getProxyEndPoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProxyEndPoint.js","sourceRoot":"","sources":["../../src/helpers/getProxyEndPoint.js"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,gBAAgB,CAAC,KAAK;IACpC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,iBAAiB;YACpB,OAAO,sBAAsB,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,uBAAuB,CAAC;QACjC,KAAK,iBAAiB;YACpB,OAAO,6BAA6B,CAAC;QACvC,KAAK,oBAAoB;YACvB,OAAO,wBAAwB,CAAC;QAClC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAK,EAAE,GAAG;IACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEzC,OAAO,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAK;IACxC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,iBAAiB;YACpB,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,oBAAoB;YACvB,OAAO,iBAAiB,CAAC;QAC3B;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAK;IAC7C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAEtD,OAAO,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAK;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,iBAAiB;YACpB,OAAO,sBAAsB,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,uBAAuB,CAAC;QACjC,KAAK,iBAAiB;YACpB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,oBAAoB;YACvB,OAAO,wBAAwB,CAAC;QAClC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAM;IACrC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,iBAAiB;YACpB,OAAO,YAAY,CAAC;QACtB,KAAK,uBAAuB;YAC1B,OAAO,iBAAiB,CAAC;QAC3B,KAAK,kBAAkB;YACrB,OAAO,oBAAoB,CAAC;QAC9B;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
interface PageInfo {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}
|
|
4
|
+
interface FetchApiResponse<T> {
|
|
5
|
+
data?: T;
|
|
6
|
+
pageInfo?: PageInfo;
|
|
7
|
+
errors?: any[];
|
|
8
|
+
error?: any;
|
|
9
|
+
success?: boolean;
|
|
10
|
+
}
|
|
11
|
+
interface UseFetchApiOptions<T> {
|
|
12
|
+
url: string;
|
|
13
|
+
defaultData?: T;
|
|
14
|
+
deps?: any[];
|
|
15
|
+
depIndex?: number;
|
|
16
|
+
initLoad?: boolean;
|
|
17
|
+
fullResp?: boolean;
|
|
18
|
+
initLoading?: boolean;
|
|
19
|
+
successCallback?: (response: FetchApiResponse<T>) => void;
|
|
20
|
+
onSuccess?: (data: T) => T;
|
|
21
|
+
headers?: Record<string, string>;
|
|
22
|
+
keepPreviousData?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export default function useFetchApi<T>({ url, defaultData, deps, depIndex, initLoad, fullResp, initLoading, successCallback, onSuccess, headers, keepPreviousData, }: UseFetchApiOptions<T>): {
|
|
25
|
+
fetchApi: (fetchUrl?: string, isSilent?: boolean, isResetDataOnFetchError?: boolean, customHeaders?: Record<string, string>) => Promise<FetchApiResponse<T> | boolean>;
|
|
26
|
+
pageInfo: PageInfo;
|
|
27
|
+
setPageInfo: import("react").Dispatch<import("react").SetStateAction<PageInfo>>;
|
|
28
|
+
loading: boolean;
|
|
29
|
+
initData: T;
|
|
30
|
+
setInitData: import("react").Dispatch<import("react").SetStateAction<T>>;
|
|
31
|
+
setLoading: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
32
|
+
data: T;
|
|
33
|
+
setData: import("react").Dispatch<import("react").SetStateAction<T>>;
|
|
34
|
+
fetched: boolean;
|
|
35
|
+
setFetched: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=useFetchApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchApi.d.ts","sourceRoot":"","sources":["../../../src/hooks/api/useFetchApi.ts"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,gBAAgB,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,kBAAkB,CAAC,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAOD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,EACrC,GAAG,EACH,WAAqB,EACrB,IAAS,EACT,QAAY,EACZ,QAAe,EACf,QAAgB,EAChB,WAAkB,EAClB,eAA0B,EAC1B,SAAS,EACT,OAAO,EACP,gBAAwB,GACzB,EAAE,kBAAkB,CAAC,CAAC,CAAC;0BAUV,MAAM,aACN,OAAO,4BACQ,OAAO,kBAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACrC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;;;;;;;;;;;EAgE1C"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { fetchAuthenticatedApi } from '../../helpers/api';
|
|
3
|
+
export default function useFetchApi({ url, defaultData = {}, deps = [], depIndex = 0, initLoad = true, fullResp = false, initLoading = true, successCallback = () => { }, onSuccess, headers, keepPreviousData = false, }) {
|
|
4
|
+
const [fetched, setFetched] = useState(!initLoading);
|
|
5
|
+
const [loading, setLoading] = useState(initLoading);
|
|
6
|
+
const [data, setData] = useState(defaultData);
|
|
7
|
+
const [initData, setInitData] = useState(defaultData);
|
|
8
|
+
const [pageInfo, setPageInfo] = useState({});
|
|
9
|
+
const fetchApiInstance = fetchAuthenticatedApi();
|
|
10
|
+
async function fetchApi(fetchUrl = url, isSilent = false, isResetDataOnFetchError = true, customHeaders) {
|
|
11
|
+
!isSilent && setLoading(true);
|
|
12
|
+
try {
|
|
13
|
+
const resp = await fetchApiInstance(fetchUrl, {
|
|
14
|
+
headers: {
|
|
15
|
+
...headers,
|
|
16
|
+
...customHeaders,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
if (resp.data) {
|
|
20
|
+
const newData = Array.isArray(resp.data)
|
|
21
|
+
? resp.data
|
|
22
|
+
: keepPreviousData
|
|
23
|
+
? { ...defaultData, ...resp.data }
|
|
24
|
+
: resp.data;
|
|
25
|
+
const dataTransform = onSuccess ? onSuccess(newData) : newData;
|
|
26
|
+
setInitData(dataTransform);
|
|
27
|
+
setData(dataTransform);
|
|
28
|
+
successCallback(resp);
|
|
29
|
+
}
|
|
30
|
+
if (resp.pageInfo)
|
|
31
|
+
setPageInfo(resp.pageInfo);
|
|
32
|
+
if (resp.errors && resp.errors.length) {
|
|
33
|
+
console.log(resp.errors);
|
|
34
|
+
return fullResp ? resp : false;
|
|
35
|
+
}
|
|
36
|
+
if (resp.error) {
|
|
37
|
+
console.log(resp.error);
|
|
38
|
+
return fullResp ? resp : false;
|
|
39
|
+
}
|
|
40
|
+
return fullResp ? resp : true;
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
if (isResetDataOnFetchError) {
|
|
44
|
+
setInitData(defaultData);
|
|
45
|
+
setData(defaultData);
|
|
46
|
+
setPageInfo({});
|
|
47
|
+
}
|
|
48
|
+
return fullResp ? { success: false, data: {} } : false;
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
!isSilent && setLoading(false);
|
|
52
|
+
!isSilent && setFetched(true);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if ((!deps.length || deps[depIndex]) && initLoad && !fetched) {
|
|
57
|
+
fetchApi(url).then(() => { });
|
|
58
|
+
}
|
|
59
|
+
}, deps);
|
|
60
|
+
return {
|
|
61
|
+
fetchApi,
|
|
62
|
+
pageInfo,
|
|
63
|
+
setPageInfo,
|
|
64
|
+
loading,
|
|
65
|
+
initData,
|
|
66
|
+
setInitData,
|
|
67
|
+
setLoading,
|
|
68
|
+
data,
|
|
69
|
+
setData,
|
|
70
|
+
fetched,
|
|
71
|
+
setFetched,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=useFetchApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchApi.js","sourceRoot":"","sources":["../../../src/hooks/api/useFetchApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../src/hooks/useI18n.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,OAAO,8BAYnB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useContext, useMemo } from 'react';
|
|
2
|
+
import { I18nContext } from '@shopify/react-i18n';
|
|
3
|
+
import { translations } from '../locales';
|
|
4
|
+
import ShopifyFormat from '@shopify/i18next-shopify';
|
|
5
|
+
import i18next from 'i18next';
|
|
6
|
+
// Initialize i18next once outside the component
|
|
7
|
+
i18next.use(ShopifyFormat).init({
|
|
8
|
+
fallbackLng: 'en',
|
|
9
|
+
resources: translations,
|
|
10
|
+
ns: ['translation'],
|
|
11
|
+
defaultNS: 'translation',
|
|
12
|
+
interpolation: {
|
|
13
|
+
escapeValue: false,
|
|
14
|
+
},
|
|
15
|
+
react: {
|
|
16
|
+
useSuspense: false,
|
|
17
|
+
},
|
|
18
|
+
debug: process.env.NODE_ENV === 'development',
|
|
19
|
+
missingKeyHandler: (lngs, ns, key, fallbackValue) => {
|
|
20
|
+
console.warn(`Missing translation key: ${key}`);
|
|
21
|
+
return key;
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
export const useI18n = () => {
|
|
25
|
+
const i18n = useContext(I18nContext);
|
|
26
|
+
const locale = i18n?.details?.locale || 'en';
|
|
27
|
+
// Memoize the language change to prevent unnecessary updates
|
|
28
|
+
useMemo(() => {
|
|
29
|
+
if (i18next.language !== locale) {
|
|
30
|
+
i18next.changeLanguage(locale);
|
|
31
|
+
}
|
|
32
|
+
}, [locale]);
|
|
33
|
+
return i18next;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=useI18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useI18n.js","sourceRoot":"","sources":["../../src/hooks/useI18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,OAAO,MAAM,SAAS,CAAC;AAU9B,gDAAgD;AAChD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;IAC9B,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,YAAY;IACvB,EAAE,EAAE,CAAC,aAAa,CAAC;IACnB,SAAS,EAAE,aAAa;IACxB,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,KAAK;KACnB;IACD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;IAC7C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;QAClD,OAAO,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAgB,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;IAE7C,6DAA6D;IAC7D,OAAO,CAAC,GAAG,EAAE;QACX,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Main entry point for avada-components
|
|
3
|
+
* @description Export all components
|
|
4
|
+
*/
|
|
5
|
+
export { PageSpeed } from './components/PageSpeed';
|
|
6
|
+
export type { PageSpeedProps } from './components/PageSpeed';
|
|
7
|
+
export { CrossAppBanner } from './components/CrossAppBanner';
|
|
8
|
+
export type { CrossAppBannerProps } from './components/CrossAppBanner/types';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"translation": {
|
|
3
|
+
"PageSpeed": {
|
|
4
|
+
"issues": {
|
|
5
|
+
"bootupTime": {
|
|
6
|
+
"title": "Reducer JavaScript-udførelsestiden",
|
|
7
|
+
"description": "Overvej at reducere den tid, der bruges på at parse, kompilere og udføre JS. Du kan finde ud af, at levering af mindre JS-nyttelast hjælper med dette."
|
|
8
|
+
},
|
|
9
|
+
"largestContentfulPaint": {
|
|
10
|
+
"title": "Største indholdsfyldte malingselement",
|
|
11
|
+
"description": "Dette er det største indholdsrige element, der er malet i viewporten."
|
|
12
|
+
},
|
|
13
|
+
"largestContentfulPaintElement": {
|
|
14
|
+
"title": "Største indholdsfyldte malingselement",
|
|
15
|
+
"description": "Dette er det største indholdsrige element, der er malet i viewporten."
|
|
16
|
+
},
|
|
17
|
+
"lcpLazyLoaded": {
|
|
18
|
+
"title": "Største Contentful Paint-billede blev dovent indlæst",
|
|
19
|
+
"description": "Billeder over skillelinjen, som indlæses dovent, gengives senere i sidens livscyklus, hvilket kan forsinke den største indholdsfyldte maling."
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"title": "SiteSpeed monitor",
|
|
23
|
+
"subtitle": "En omfattende analyse af din hjemmesides indlæsningsydelse med anbefalinger til forbedringer.",
|
|
24
|
+
"webPerformanceIs": "Din webydelse er {PERFORMANCE}",
|
|
25
|
+
"medium": "Medium",
|
|
26
|
+
"poor": "Dårlig",
|
|
27
|
+
"checkCritical": "Tjek kritiske problemer {LINK}",
|
|
28
|
+
"checkCriticalWebPerformance": "Din webydelse er {PERFORMANCE}. Tjek kritiske problemer {LINK}",
|
|
29
|
+
"here": "her",
|
|
30
|
+
"yourScore": "Din score er {SCORE}",
|
|
31
|
+
"lastScanTime": "Sidste scanningstid: {TIME}",
|
|
32
|
+
"optimizeNow": "Optimer nu",
|
|
33
|
+
"resultFrom": "Resultat fra PageSpeed Insight",
|
|
34
|
+
"criticalIssue": "Kritiske spørgsmål",
|
|
35
|
+
"performanceScore": "Præstationsscore"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"translation": {
|
|
3
|
+
"PageSpeed": {
|
|
4
|
+
"issues": {
|
|
5
|
+
"bootupTime": {
|
|
6
|
+
"title": "Reduzieren Sie die JavaScript-Ausführungszeit",
|
|
7
|
+
"description": "Reduzieren Sie den Zeitaufwand für das Parsen, Kompilieren und Ausführen von JS. Möglicherweise hilft die Bereitstellung kleinerer JS-Payloads dabei."
|
|
8
|
+
},
|
|
9
|
+
"largestContentfulPaint": {
|
|
10
|
+
"title": "Größtes Contentful Paint-Element",
|
|
11
|
+
"description": "Dies ist das größte Inhaltselement, das im Ansichtsfenster dargestellt wird."
|
|
12
|
+
},
|
|
13
|
+
"largestContentfulPaintElement": {
|
|
14
|
+
"title": "Größtes Contentful Paint-Element",
|
|
15
|
+
"description": "Dies ist das größte Inhaltselement, das im Ansichtsfenster dargestellt wird."
|
|
16
|
+
},
|
|
17
|
+
"lcpLazyLoaded": {
|
|
18
|
+
"title": "Das größte Contentful Paint-Bild wurde verzögert geladen",
|
|
19
|
+
"description": "Bilder im oberen Seitenbereich, die verzögert geladen werden, werden später im Lebenszyklus der Seite gerendert, was zu einer Verzögerung beim Erstellen des größten Inhalts führen kann."
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"title": "SiteSpeed-Monitor",
|
|
23
|
+
"subtitle": "Eine umfassende Analyse der Ladeleistung Ihrer Website mit Verbesserungsempfehlungen.",
|
|
24
|
+
"webPerformanceIs": "Ihre Web-Performance ist {PERFORMANCE}",
|
|
25
|
+
"medium": "Medium",
|
|
26
|
+
"poor": "Arm",
|
|
27
|
+
"checkCritical": "Kritische Probleme prüfen {LINK}",
|
|
28
|
+
"checkCriticalWebPerformance": "Ihre Web-Performance ist {PERFORMANCE}. Überprüfen Sie kritische Probleme {LINK}",
|
|
29
|
+
"here": "Hier",
|
|
30
|
+
"yourScore": "Ihr Punktestand ist {SCORE}",
|
|
31
|
+
"lastScanTime": "Letzte Scanzeit: {TIME}",
|
|
32
|
+
"optimizeNow": "Jetzt optimieren",
|
|
33
|
+
"resultFrom": "Ergebnis von PageSpeed Insight",
|
|
34
|
+
"criticalIssue": "Kritische Probleme",
|
|
35
|
+
"performanceScore": "Leistungsbewertung"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"translation": {
|
|
3
|
+
"PageSpeed": {
|
|
4
|
+
"title": "SiteSpeed monitor",
|
|
5
|
+
"subtitle": "A comprehensive analysis of your website's loading performance with recommendations for improvement.",
|
|
6
|
+
"webPerformanceIs": "Your web performance is {PERFORMANCE}",
|
|
7
|
+
"medium": "Medium",
|
|
8
|
+
"poor": "Poor",
|
|
9
|
+
"checkCritical": "Check critical issues {LINK}",
|
|
10
|
+
"checkCriticalWebPerformance": "Your web performance is {PERFORMANCE}. Check critical issues {LINK}",
|
|
11
|
+
"here": "here",
|
|
12
|
+
"yourScore": "Your score is {SCORE}",
|
|
13
|
+
"lastScanTime": "Last scan time: {TIME}",
|
|
14
|
+
"optimizeNow": "Optimize now",
|
|
15
|
+
"resultFrom": "Result from PageSpeed Insight",
|
|
16
|
+
"criticalIssue": "Critical issues",
|
|
17
|
+
"performanceScore": "Performance score",
|
|
18
|
+
"issues": {
|
|
19
|
+
"bootupTime": {
|
|
20
|
+
"title": "Reduce JavaScript execution time",
|
|
21
|
+
"description": "Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this."
|
|
22
|
+
},
|
|
23
|
+
"largestContentfulPaint": {
|
|
24
|
+
"title": "Largest Contentful Paint element",
|
|
25
|
+
"description": "This is the largest contentful element painted within the viewport."
|
|
26
|
+
},
|
|
27
|
+
"largestContentfulPaintElement": {
|
|
28
|
+
"title": "Largest Contentful Paint element",
|
|
29
|
+
"description": "This is the largest contentful element painted within the viewport."
|
|
30
|
+
},
|
|
31
|
+
"lcpLazyLoaded": {
|
|
32
|
+
"title": "Largest Contentful Paint image was lazily loaded",
|
|
33
|
+
"description": "Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint."
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"translation": {
|
|
3
|
+
"PageSpeed": {
|
|
4
|
+
"issues": {
|
|
5
|
+
"bootupTime": {
|
|
6
|
+
"title": "Reducir el tiempo de ejecución de JavaScript",
|
|
7
|
+
"description": "Considere reducir el tiempo dedicado a analizar, compilar y ejecutar código JavaScript. Entregar cargas útiles de código JavaScript más pequeñas puede ser útil."
|
|
8
|
+
},
|
|
9
|
+
"largestContentfulPaint": {
|
|
10
|
+
"title": "Elemento de pintura con contenido más grande",
|
|
11
|
+
"description": "Este es el elemento de contenido más grande pintado dentro de la ventana gráfica."
|
|
12
|
+
},
|
|
13
|
+
"largestContentfulPaintElement": {
|
|
14
|
+
"title": "Elemento de pintura con contenido más grande",
|
|
15
|
+
"description": "Este es el elemento de contenido más grande pintado dentro de la ventana gráfica."
|
|
16
|
+
},
|
|
17
|
+
"lcpLazyLoaded": {
|
|
18
|
+
"title": "La imagen de pintura con contenido más grande se cargó de forma diferida",
|
|
19
|
+
"description": "Las imágenes que se encuentran por encima del pliegue y se cargan de forma diferida se procesan más tarde en el ciclo de vida de la página, lo que puede retrasar la pintura con contenido más grande."
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"title": "Monitor de velocidad del sitio",
|
|
23
|
+
"subtitle": "Un análisis completo del rendimiento de carga de su sitio web con recomendaciones para mejorarlo.",
|
|
24
|
+
"webPerformanceIs": "El rendimiento de su sitio web es {PERFORMANCE}",
|
|
25
|
+
"medium": "Medio",
|
|
26
|
+
"poor": "Pobre",
|
|
27
|
+
"checkCritical": "Comprobar problemas críticos {LINK}",
|
|
28
|
+
"checkCriticalWebPerformance": "El rendimiento de tu sitio web es {PERFORMANCE}. Revisa los problemas críticos {LINK}",
|
|
29
|
+
"here": "aquí",
|
|
30
|
+
"yourScore": "Tu puntuación es {SCORE}",
|
|
31
|
+
"lastScanTime": "Hora del último escaneo: {TIME}",
|
|
32
|
+
"optimizeNow": "Optimizar ahora",
|
|
33
|
+
"resultFrom": "Resultado de PageSpeed Insight",
|
|
34
|
+
"criticalIssue": "Cuestiones críticas",
|
|
35
|
+
"performanceScore": "Puntuación de rendimiento"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"translation": {
|
|
3
|
+
"PageSpeed": {
|
|
4
|
+
"issues": {
|
|
5
|
+
"bootupTime": {
|
|
6
|
+
"title": "Réduire le temps d'exécution de JavaScript",
|
|
7
|
+
"description": "Envisagez de réduire le temps consacré à l'analyse, à la compilation et à l'exécution de JS. Fournir des charges utiles JS plus petites pourrait vous aider."
|
|
8
|
+
},
|
|
9
|
+
"largestContentfulPaint": {
|
|
10
|
+
"title": "Le plus grand élément de peinture de contenu",
|
|
11
|
+
"description": "Il s’agit du plus grand élément de contenu peint dans la fenêtre d’affichage."
|
|
12
|
+
},
|
|
13
|
+
"largestContentfulPaintElement": {
|
|
14
|
+
"title": "Le plus grand élément de peinture de contenu",
|
|
15
|
+
"description": "Il s’agit du plus grand élément de contenu peint dans la fenêtre d’affichage."
|
|
16
|
+
},
|
|
17
|
+
"lcpLazyLoaded": {
|
|
18
|
+
"title": "La plus grande image de Contentful Paint a été chargée paresseusement",
|
|
19
|
+
"description": "Les images au-dessus du pli qui sont chargées paresseusement s'affichent plus tard dans le cycle de vie de la page, ce qui peut retarder la peinture de contenu la plus importante."
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"title": "Moniteur SiteSpeed",
|
|
23
|
+
"subtitle": "Une analyse complète des performances de chargement de votre site Web avec des recommandations d'amélioration.",
|
|
24
|
+
"webPerformanceIs": "Vos performances Web sont {PERFORMANCE}",
|
|
25
|
+
"medium": "Moyen",
|
|
26
|
+
"poor": "Pauvre",
|
|
27
|
+
"checkCritical": "Vérifier les problèmes critiques {LINK}",
|
|
28
|
+
"checkCriticalWebPerformance": "Vos performances web sont {PERFORMANCE}. Vérifiez les problèmes critiques {LINK}.",
|
|
29
|
+
"here": "ici",
|
|
30
|
+
"yourScore": "Votre score est {SCORE}",
|
|
31
|
+
"lastScanTime": "Heure de la dernière analyse : {TIME}",
|
|
32
|
+
"optimizeNow": "Optimiser maintenant",
|
|
33
|
+
"resultFrom": "Résultat de PageSpeed Insight",
|
|
34
|
+
"criticalIssue": "Questions critiques",
|
|
35
|
+
"performanceScore": "Score de performance"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|