@prezly/theme-kit-nextjs 1.16.0-0 → 1.16.0-1
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/build/adapter-nextjs/api-handlers/fetchGalleries.js +15 -69
- package/build/adapter-nextjs/api-handlers/fetchGalleries.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/fetchStories.js +17 -71
- package/build/adapter-nextjs/api-handlers/fetchStories.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/index.js +2 -7
- package/build/adapter-nextjs/api-handlers/index.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomServerSideProps.js +9 -63
- package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomStaticProps.js +9 -63
- package/build/adapter-nextjs/getNewsroomStaticProps.js.map +1 -1
- package/build/adapter-nextjs/index.js +6 -22
- package/build/adapter-nextjs/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/category.js +95 -202
- package/build/adapter-nextjs/page-props/category.js.map +1 -1
- package/build/adapter-nextjs/page-props/gallery.js +59 -141
- package/build/adapter-nextjs/page-props/gallery.js.map +1 -1
- package/build/adapter-nextjs/page-props/galleryAlbum.js +41 -139
- package/build/adapter-nextjs/page-props/galleryAlbum.js.map +1 -1
- package/build/adapter-nextjs/page-props/home.js +58 -142
- package/build/adapter-nextjs/page-props/home.js.map +1 -1
- package/build/adapter-nextjs/page-props/index.js +8 -41
- package/build/adapter-nextjs/page-props/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/lib/types.js +1 -2
- package/build/adapter-nextjs/page-props/search.js +21 -103
- package/build/adapter-nextjs/page-props/search.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +18 -22
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js +10 -45
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +29 -81
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/index.js +4 -24
- package/build/adapter-nextjs/page-props/sitemap/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/types.js +1 -2
- package/build/adapter-nextjs/page-props/story.js +58 -166
- package/build/adapter-nextjs/page-props/story.js.map +1 -1
- package/build/adapter-nextjs/page-props/storyPreview.js +20 -85
- package/build/adapter-nextjs/page-props/storyPreview.js.map +1 -1
- package/build/adapter-nextjs/processRequest.js +9 -24
- package/build/adapter-nextjs/processRequest.js.map +1 -1
- package/build/adapter-nextjs/processStaticRequest.js +3 -18
- package/build/adapter-nextjs/processStaticRequest.js.map +1 -1
- package/build/components-nextjs/PageSeo/PageSeo.js +42 -57
- package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
- package/build/components-nextjs/PageSeo/index.js +2 -20
- package/build/components-nextjs/PageSeo/index.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +2 -6
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/types.js +1 -2
- package/build/components-nextjs/StorySeo/StorySeo.js +28 -36
- package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -1
- package/build/components-nextjs/StorySeo/index.js +1 -5
- package/build/components-nextjs/StorySeo/index.js.map +1 -1
- package/build/components-nextjs/document.js +16 -72
- package/build/components-nextjs/document.js.map +1 -1
- package/build/components-nextjs/index.js +3 -9
- package/build/components-nextjs/index.js.map +1 -1
- package/build/data-fetching/api/PrezlyApi.js +171 -363
- package/build/data-fetching/api/PrezlyApi.js.map +1 -1
- package/build/data-fetching/api/getPrezlyApi.js +5 -9
- package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
- package/build/data-fetching/api/index.js +1 -17
- package/build/data-fetching/api/index.js.map +1 -1
- package/build/data-fetching/api/queries.js +13 -45
- package/build/data-fetching/api/queries.js.map +1 -1
- package/build/data-fetching/index.js +3 -19
- package/build/data-fetching/index.js.map +1 -1
- package/build/data-fetching/lib/getAlgoliaSettings.js +6 -10
- package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
- package/build/data-fetching/lib/getEnvVariables.js +11 -29
- package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
- package/build/data-fetching/lib/index.js +4 -11
- package/build/data-fetching/lib/index.js.map +1 -1
- package/build/data-fetching/lib/isSdkError.js +1 -5
- package/build/data-fetching/lib/isSdkError.js.map +1 -1
- package/build/data-fetching/lib/isUuid.js +2 -6
- package/build/data-fetching/lib/isUuid.js.map +1 -1
- package/build/data-fetching/types.js +1 -2
- package/build/index.js +9 -25
- package/build/index.js.map +1 -1
- package/build/infinite-loading/index.js +4 -24
- package/build/infinite-loading/index.js.map +1 -1
- package/build/infinite-loading/types.js +1 -2
- package/build/infinite-loading/useInfiniteGalleriesLoading.js +25 -83
- package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteLoading.js +21 -97
- package/build/infinite-loading/useInfiniteLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteStoriesLoading.js +36 -99
- package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -1
- package/build/intl/index.js +4 -25
- package/build/intl/index.js.map +1 -1
- package/build/intl/languages.js +47 -93
- package/build/intl/languages.js.map +1 -1
- package/build/intl/locale.js +21 -27
- package/build/intl/locale.js.map +1 -1
- package/build/intl/localeConfig.js +11 -32
- package/build/intl/localeConfig.js.map +1 -1
- package/build/intl/localeObject.js +30 -49
- package/build/intl/localeObject.js.map +1 -1
- package/build/newsroom-context/context.js +18 -34
- package/build/newsroom-context/context.js.map +1 -1
- package/build/newsroom-context/hooks/index.js +11 -27
- package/build/newsroom-context/hooks/index.js.map +1 -1
- package/build/newsroom-context/hooks/useAlgoliaSettings.js +3 -7
- package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
- package/build/newsroom-context/hooks/useCategories.js +3 -7
- package/build/newsroom-context/hooks/useCategories.js.map +1 -1
- package/build/newsroom-context/hooks/useCompanyInformation.js +3 -7
- package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentCategory.js +3 -7
- package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentLocale.js +3 -7
- package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentStory.js +3 -7
- package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +10 -14
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
- package/build/newsroom-context/hooks/useGetTranslationUrl.js +17 -26
- package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
- package/build/newsroom-context/hooks/useLanguages.js +3 -7
- package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroom.js +3 -7
- package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroomContext.js +4 -8
- package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
- package/build/newsroom-context/index.js +2 -21
- package/build/newsroom-context/index.js.map +1 -1
- package/build/sentry/client.js +3 -7
- package/build/sentry/client.js.map +1 -1
- package/build/sentry/common.js +3 -7
- package/build/sentry/common.js.map +1 -1
- package/build/sentry/index.js +2 -7
- package/build/sentry/index.js.map +1 -1
- package/build/sentry/server.js +3 -7
- package/build/sentry/server.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types.js +1 -2
- package/build/utils/boilerplate.js +3 -9
- package/build/utils/boilerplate.js.map +1 -1
- package/build/utils/constants.js +3 -6
- package/build/utils/constants.js.map +1 -1
- package/build/utils/getAssetsUrl.js +3 -7
- package/build/utils/getAssetsUrl.js.map +1 -1
- package/build/utils/getDataRequestLink.js +3 -7
- package/build/utils/getDataRequestLink.js.map +1 -1
- package/build/utils/getLocalizedCategoryData.js +15 -32
- package/build/utils/getLocalizedCategoryData.js.map +1 -1
- package/build/utils/getNewsroomLogoUrl.js +6 -12
- package/build/utils/getNewsroomLogoUrl.js.map +1 -1
- package/build/utils/getPrivacyPortalUrl.js +3 -7
- package/build/utils/getPrivacyPortalUrl.js.map +1 -1
- package/build/utils/getStoryPublicationDate.js +2 -6
- package/build/utils/getStoryPublicationDate.js.map +1 -1
- package/build/utils/getUploadcareGroupUrl.js +3 -7
- package/build/utils/getUploadcareGroupUrl.js.map +1 -1
- package/build/utils/index.js +10 -26
- package/build/utils/index.js.map +1 -1
- package/build/utils/isEmbargoStory.js +1 -5
- package/build/utils/isEmbargoStory.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,115 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { useAsync } from '@react-hookz/web';
|
|
2
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
3
|
+
export function useInfiniteLoading({ fetchingFn, initialData, pagination, }) {
|
|
4
|
+
const [data, setData] = useState(initialData);
|
|
5
|
+
const [currentPage, setCurrentPage] = useState(pagination.currentPage);
|
|
6
|
+
const { itemsTotal, pageSize } = pagination;
|
|
7
|
+
const pagesTotal = Math.ceil(itemsTotal / pageSize);
|
|
8
|
+
const canLoadMore = currentPage < pagesTotal;
|
|
9
|
+
const [{ error, status }, { execute: loadMoreFn }] = useAsync(async () => {
|
|
10
|
+
const nextPage = currentPage + 1;
|
|
11
|
+
const newData = await fetchingFn(nextPage, pageSize);
|
|
12
|
+
setCurrentPage(nextPage);
|
|
13
|
+
setData((currentData) => [...currentData, ...newData]);
|
|
9
14
|
});
|
|
10
|
-
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
39
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
40
|
-
if (!m) return o;
|
|
41
|
-
var i = m.call(o), r, ar = [], e;
|
|
42
|
-
try {
|
|
43
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
-
}
|
|
45
|
-
catch (error) { e = { error: error }; }
|
|
46
|
-
finally {
|
|
47
|
-
try {
|
|
48
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
-
}
|
|
50
|
-
finally { if (e) throw e.error; }
|
|
51
|
-
}
|
|
52
|
-
return ar;
|
|
53
|
-
};
|
|
54
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
55
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
56
|
-
if (ar || !(i in from)) {
|
|
57
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
58
|
-
ar[i] = from[i];
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
62
|
-
};
|
|
63
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
-
exports.useInfiniteLoading = void 0;
|
|
65
|
-
var web_1 = require("@react-hookz/web");
|
|
66
|
-
var react_1 = require("react");
|
|
67
|
-
function useInfiniteLoading(_a) {
|
|
68
|
-
var _this = this;
|
|
69
|
-
var fetchingFn = _a.fetchingFn, initialData = _a.initialData, pagination = _a.pagination;
|
|
70
|
-
var _b = __read((0, react_1.useState)(initialData), 2), data = _b[0], setData = _b[1];
|
|
71
|
-
var _c = __read((0, react_1.useState)(pagination.currentPage), 2), currentPage = _c[0], setCurrentPage = _c[1];
|
|
72
|
-
var itemsTotal = pagination.itemsTotal, pageSize = pagination.pageSize;
|
|
73
|
-
var pagesTotal = Math.ceil(itemsTotal / pageSize);
|
|
74
|
-
var canLoadMore = currentPage < pagesTotal;
|
|
75
|
-
var _d = __read((0, web_1.useAsync)(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
76
|
-
var nextPage, newData;
|
|
77
|
-
return __generator(this, function (_a) {
|
|
78
|
-
switch (_a.label) {
|
|
79
|
-
case 0:
|
|
80
|
-
nextPage = currentPage + 1;
|
|
81
|
-
return [4 /*yield*/, fetchingFn(nextPage, pageSize)];
|
|
82
|
-
case 1:
|
|
83
|
-
newData = _a.sent();
|
|
84
|
-
setCurrentPage(nextPage);
|
|
85
|
-
setData(function (currentData) { return __spreadArray(__spreadArray([], __read(currentData), false), __read(newData), false); });
|
|
86
|
-
return [2 /*return*/];
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}); }), 2), _e = _d[0], error = _e.error, status = _e.status, loadMoreFn = _d[1].execute;
|
|
90
|
-
var loadMore = (0, react_1.useCallback)(function () {
|
|
15
|
+
const loadMore = useCallback(() => {
|
|
91
16
|
if (canLoadMore) {
|
|
92
17
|
loadMoreFn();
|
|
93
18
|
}
|
|
94
19
|
}, [canLoadMore, loadMoreFn]);
|
|
95
|
-
|
|
20
|
+
const resetData = useCallback(() => {
|
|
96
21
|
setData(initialData);
|
|
97
22
|
setCurrentPage(pagination.currentPage);
|
|
98
23
|
}, [pagination.currentPage, initialData]);
|
|
99
|
-
|
|
24
|
+
useEffect(() => {
|
|
100
25
|
if (error) {
|
|
101
26
|
// eslint-disable-next-line no-console
|
|
102
27
|
console.error(error);
|
|
103
28
|
}
|
|
104
29
|
}, [error]);
|
|
105
30
|
return {
|
|
106
|
-
canLoadMore
|
|
107
|
-
currentPage
|
|
108
|
-
data
|
|
31
|
+
canLoadMore,
|
|
32
|
+
currentPage,
|
|
33
|
+
data,
|
|
109
34
|
isLoading: status === 'loading',
|
|
110
|
-
loadMore
|
|
111
|
-
resetData
|
|
35
|
+
loadMore,
|
|
36
|
+
resetData,
|
|
112
37
|
};
|
|
113
38
|
}
|
|
114
|
-
exports.useInfiniteLoading = useInfiniteLoading;
|
|
115
39
|
//# sourceMappingURL=useInfiniteLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteLoading.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useInfiniteLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAmBzD,MAAM,UAAU,kBAAkB,CAAI,EAClC,UAAU,EACV,WAAW,EACX,UAAU,GACE;IACZ,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAM,WAAW,CAAC,CAAC;IACnD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEvE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;IAE7C,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE;QACrE,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrD,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,WAAW,EAAE;YACb,UAAU,EAAE,CAAC;SAChB;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,WAAW,CAAC,CAAC;QACrB,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,KAAK,EAAE;YACP,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO;QACH,WAAW;QACX,WAAW;QACX,IAAI;QACJ,SAAS,EAAE,MAAM,KAAK,SAAS;QAC/B,QAAQ;QACR,SAAS;KACZ,CAAC;AACN,CAAC"}
|
|
@@ -1,116 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useCurrentLocale } from '../newsroom-context';
|
|
3
|
+
import { useInfiniteLoading } from './useInfiniteLoading';
|
|
4
|
+
async function fetchStories(page, pageSize, category, locale, include) {
|
|
5
|
+
const result = await fetch('/api/fetch-stories', {
|
|
6
|
+
method: 'POST',
|
|
7
|
+
headers: {
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify({
|
|
11
|
+
page,
|
|
12
|
+
pageSize,
|
|
13
|
+
category,
|
|
14
|
+
include,
|
|
15
|
+
...(locale && {
|
|
16
|
+
localeCode: locale.toUnderscoreCode(),
|
|
17
|
+
}),
|
|
18
|
+
}),
|
|
20
19
|
});
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
20
|
+
if (!result.ok) {
|
|
21
|
+
const { message } = await result.json();
|
|
22
|
+
throw new Error(message);
|
|
47
23
|
}
|
|
48
|
-
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.useInfiniteStoriesLoading = void 0;
|
|
51
|
-
var react_1 = require("react");
|
|
52
|
-
var newsroom_context_1 = require("../newsroom-context");
|
|
53
|
-
var useInfiniteLoading_1 = require("./useInfiniteLoading");
|
|
54
|
-
function fetchStories(page, pageSize, category, locale, include) {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
56
|
-
var result, message;
|
|
57
|
-
return __generator(this, function (_a) {
|
|
58
|
-
switch (_a.label) {
|
|
59
|
-
case 0: return [4 /*yield*/, fetch('/api/fetch-stories', {
|
|
60
|
-
method: 'POST',
|
|
61
|
-
headers: {
|
|
62
|
-
'Content-Type': 'application/json',
|
|
63
|
-
},
|
|
64
|
-
body: JSON.stringify(__assign({ page: page, pageSize: pageSize, category: category, include: include }, (locale && {
|
|
65
|
-
localeCode: locale.toUnderscoreCode(),
|
|
66
|
-
}))),
|
|
67
|
-
})];
|
|
68
|
-
case 1:
|
|
69
|
-
result = _a.sent();
|
|
70
|
-
if (!!result.ok) return [3 /*break*/, 3];
|
|
71
|
-
return [4 /*yield*/, result.json()];
|
|
72
|
-
case 2:
|
|
73
|
-
message = (_a.sent()).message;
|
|
74
|
-
throw new Error(message);
|
|
75
|
-
case 3: return [2 /*return*/, result.json()];
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
});
|
|
24
|
+
return result.json();
|
|
79
25
|
}
|
|
80
26
|
/**
|
|
81
27
|
* NOTE: This hook depends on the presence of a Next API route (/api/fetch-stories)!
|
|
82
28
|
* The handler for this route is exported from `apiHandlers/fetchStories.ts` file.
|
|
83
29
|
* See https://github.com/prezly/theme-nextjs-bea/blob/d381e9878187ca98815d240d3ffdf10a75993c14/pages/index.tsx#L24 for usage example
|
|
84
30
|
*/
|
|
85
|
-
function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
switch (_a.label) {
|
|
93
|
-
case 0: return [4 /*yield*/, fetchStories(nextPage, pageSize, category, currentLocale, include)];
|
|
94
|
-
case 1:
|
|
95
|
-
stories = (_a.sent()).stories;
|
|
96
|
-
return [2 /*return*/, stories];
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}); },
|
|
31
|
+
export function useInfiniteStoriesLoading(initialStories, pagination, category, include) {
|
|
32
|
+
const currentLocale = useCurrentLocale();
|
|
33
|
+
const { canLoadMore, data, isLoading, loadMore, resetData } = useInfiniteLoading({
|
|
34
|
+
fetchingFn: async (nextPage, pageSize) => {
|
|
35
|
+
const { stories } = await fetchStories(nextPage, pageSize, category, currentLocale, include);
|
|
36
|
+
return stories;
|
|
37
|
+
},
|
|
100
38
|
initialData: initialStories,
|
|
101
|
-
pagination
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
if (category
|
|
39
|
+
pagination,
|
|
40
|
+
});
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (category?.id) {
|
|
105
43
|
resetData();
|
|
106
44
|
}
|
|
107
|
-
}, [category
|
|
45
|
+
}, [category?.id, resetData]);
|
|
108
46
|
return {
|
|
109
|
-
canLoadMore
|
|
110
|
-
isLoading
|
|
47
|
+
canLoadMore,
|
|
48
|
+
isLoading,
|
|
111
49
|
loadMoreStories: loadMore,
|
|
112
50
|
stories: data,
|
|
113
51
|
};
|
|
114
52
|
}
|
|
115
|
-
exports.useInfiniteStoriesLoading = useInfiniteStoriesLoading;
|
|
116
53
|
//# sourceMappingURL=useInfiniteStoriesLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useInfiniteStoriesLoading.js","sourceRoot":"","sources":["../../src/infinite-loading/useInfiniteStoriesLoading.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,KAAK,UAAU,YAAY,CACvB,IAAY,EACZ,QAAgB,EAChB,QAAmB,EACnB,MAAqB,EACrB,OAAoC;IAEpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,IAAI;YACJ,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,GAAG,CAAC,MAAM,IAAI;gBACV,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE;aACxC,CAAC;SACL,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACrC,cAAmB,EACnB,UAA2B,EAC3B,QAAmB,EACnB,OAAoC;IAEpC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAI;QAChF,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAClC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,OAAO,CACV,CAAC;YACF,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,WAAW,EAAE,cAAc;QAC3B,UAAU;KACb,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,QAAQ,EAAE,EAAE,EAAE;YACd,SAAS,EAAE,CAAC;SACf;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9B,OAAO;QACH,WAAW;QACX,SAAS;QACT,eAAe,EAAE,QAAQ;QACzB,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC"}
|
package/build/intl/index.js
CHANGED
|
@@ -1,26 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.localeConfig = void 0;
|
|
21
|
-
__exportStar(require("./languages"), exports);
|
|
22
|
-
__exportStar(require("./locale"), exports);
|
|
23
|
-
var localeConfig_1 = require("./localeConfig");
|
|
24
|
-
Object.defineProperty(exports, "localeConfig", { enumerable: true, get: function () { return __importDefault(localeConfig_1).default; } });
|
|
25
|
-
__exportStar(require("./localeObject"), exports);
|
|
1
|
+
export * from './languages';
|
|
2
|
+
export * from './locale';
|
|
3
|
+
export { default as localeConfig } from './localeConfig';
|
|
4
|
+
export * from './localeObject';
|
|
26
5
|
//# sourceMappingURL=index.js.map
|
package/build/intl/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intl/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,gBAAgB,CAAC"}
|
package/build/intl/languages.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getShortestLocaleCode = exports.getCompanyInformation = exports.getLanguageFromStory = exports.getLanguageFromNextLocaleIsoCode = exports.getLanguageByShortRegionCode = exports.getLanguageByNeutralLocaleCode = exports.getLanguageByExactLocaleCode = exports.getUsedLanguages = exports.getDefaultLanguage = exports.getLanguageDisplayName = void 0;
|
|
4
|
-
var locale_1 = require("./locale");
|
|
5
|
-
var localeObject_1 = require("./localeObject");
|
|
1
|
+
import { DUMMY_DEFAULT_LOCALE } from './locale';
|
|
2
|
+
import { LocaleObject } from './localeObject';
|
|
6
3
|
function isOnlyCulture(culture, languages) {
|
|
7
|
-
|
|
8
|
-
var language_code = _a.locale.language_code;
|
|
9
|
-
return language_code === culture.language_code;
|
|
10
|
-
}).length;
|
|
4
|
+
const numberOfLanguages = languages.filter(({ locale: { language_code } }) => language_code === culture.language_code).length;
|
|
11
5
|
return numberOfLanguages === 1;
|
|
12
6
|
}
|
|
13
7
|
/**
|
|
@@ -22,102 +16,78 @@ function isOnlyCulture(culture, languages) {
|
|
|
22
16
|
* - English (Global), English (UK), Spanish (Spain)
|
|
23
17
|
* - -> English (Global), English (UK), Spanish
|
|
24
18
|
*/
|
|
25
|
-
function getLanguageDisplayName(language, languages) {
|
|
26
|
-
|
|
19
|
+
export function getLanguageDisplayName(language, languages) {
|
|
20
|
+
const { locale } = language;
|
|
27
21
|
if (isOnlyCulture(locale, languages)) {
|
|
28
|
-
|
|
22
|
+
const cultureNameIndex = locale.native_name.indexOf('(');
|
|
29
23
|
if (cultureNameIndex !== -1) {
|
|
30
24
|
return locale.native_name.slice(0, cultureNameIndex - 1);
|
|
31
25
|
}
|
|
32
26
|
}
|
|
33
27
|
return locale.native_name;
|
|
34
28
|
}
|
|
35
|
-
exports.getLanguageDisplayName = getLanguageDisplayName;
|
|
36
29
|
/**
|
|
37
30
|
* @returns Language set as default in the Newsroom Settings.
|
|
38
31
|
*/
|
|
39
|
-
function getDefaultLanguage(languages) {
|
|
40
|
-
return languages.find(
|
|
41
|
-
var is_default = _a.is_default;
|
|
42
|
-
return is_default;
|
|
43
|
-
}) || languages[0];
|
|
32
|
+
export function getDefaultLanguage(languages) {
|
|
33
|
+
return languages.find(({ is_default }) => is_default) || languages[0];
|
|
44
34
|
}
|
|
45
|
-
exports.getDefaultLanguage = getDefaultLanguage;
|
|
46
35
|
/**
|
|
47
36
|
* @returns Only languages having at least one published story
|
|
48
37
|
*/
|
|
49
|
-
function getUsedLanguages(languages) {
|
|
50
|
-
return languages.filter(
|
|
38
|
+
export function getUsedLanguages(languages) {
|
|
39
|
+
return languages.filter((language) => language.public_stories_count > 0);
|
|
51
40
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return languages.find(function (_a) {
|
|
56
|
-
var code = _a.code;
|
|
57
|
-
return code === localeCode;
|
|
58
|
-
});
|
|
41
|
+
export function getLanguageByExactLocaleCode(languages, locale) {
|
|
42
|
+
const localeCode = locale.toUnderscoreCode();
|
|
43
|
+
return languages.find(({ code }) => code === localeCode);
|
|
59
44
|
}
|
|
60
|
-
exports.getLanguageByExactLocaleCode = getLanguageByExactLocaleCode;
|
|
61
45
|
// See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L123
|
|
62
|
-
function getLanguageByNeutralLocaleCode(languages, locale) {
|
|
63
|
-
|
|
46
|
+
export function getLanguageByNeutralLocaleCode(languages, locale) {
|
|
47
|
+
const neutralLanguageCode = locale.toNeutralLanguageCode();
|
|
64
48
|
// Prefer default language
|
|
65
|
-
|
|
49
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
66
50
|
// TODO: This doesn't align with other methods logic
|
|
67
51
|
if (defaultLanguage.code === locale.toUnderscoreCode()) {
|
|
68
52
|
return defaultLanguage;
|
|
69
53
|
}
|
|
70
54
|
// Try to look in used cultures first (giving priority to used ones)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
var code = _a.code;
|
|
74
|
-
return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode;
|
|
75
|
-
});
|
|
55
|
+
const usedLanguages = getUsedLanguages(languages);
|
|
56
|
+
const usedLanguage = usedLanguages.find(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
76
57
|
if (usedLanguage) {
|
|
77
58
|
return usedLanguage;
|
|
78
59
|
}
|
|
79
60
|
// Search in all languages
|
|
80
|
-
return languages.find(
|
|
81
|
-
var code = _a.code;
|
|
82
|
-
return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode;
|
|
83
|
-
});
|
|
61
|
+
return languages.find(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode);
|
|
84
62
|
}
|
|
85
|
-
exports.getLanguageByNeutralLocaleCode = getLanguageByNeutralLocaleCode;
|
|
86
63
|
// See https://github.com/prezly/prezly/blob/master/lib/model/CulturePeer.php#L159
|
|
87
|
-
function getLanguageByShortRegionCode(languages, locale) {
|
|
88
|
-
|
|
64
|
+
export function getLanguageByShortRegionCode(languages, locale) {
|
|
65
|
+
const shortRegionCode = locale.toRegionCode();
|
|
89
66
|
// Prefer default language
|
|
90
|
-
|
|
91
|
-
if (
|
|
67
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
68
|
+
if (LocaleObject.fromAnyCode(defaultLanguage.code).toRegionCode() === shortRegionCode) {
|
|
92
69
|
return defaultLanguage;
|
|
93
70
|
}
|
|
94
71
|
// Try to look in used cultures first (giving priority to used ones)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
var code = _a.code;
|
|
98
|
-
return localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode;
|
|
99
|
-
});
|
|
72
|
+
const usedLanguages = getUsedLanguages(languages);
|
|
73
|
+
const usedLanguage = usedLanguages.find(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
100
74
|
if (usedLanguage) {
|
|
101
75
|
return usedLanguage;
|
|
102
76
|
}
|
|
103
77
|
// Search in all languages
|
|
104
|
-
return languages.find(
|
|
105
|
-
var code = _a.code;
|
|
106
|
-
return localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode;
|
|
107
|
-
});
|
|
78
|
+
return languages.find(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
108
79
|
}
|
|
109
|
-
exports.getLanguageByShortRegionCode = getLanguageByShortRegionCode;
|
|
110
80
|
/**
|
|
111
81
|
* Retrieve a culture with fallback to legacy codes support.
|
|
112
82
|
* Pulled from https://github.com/prezly/prezly/blob/de9900d9890a33502780494aa3fb85c9a732b3c3/lib/model/CulturePeer.php#L91-L114
|
|
113
83
|
*/
|
|
114
|
-
function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
|
|
115
|
-
|
|
116
|
-
if (!nextLocaleIsoCode || nextLocaleIsoCode ===
|
|
84
|
+
export function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
|
|
85
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
86
|
+
if (!nextLocaleIsoCode || nextLocaleIsoCode === DUMMY_DEFAULT_LOCALE) {
|
|
117
87
|
return defaultLanguage;
|
|
118
88
|
}
|
|
119
|
-
|
|
120
|
-
|
|
89
|
+
const locale = LocaleObject.fromAnyCode(nextLocaleIsoCode);
|
|
90
|
+
let targetLanguage;
|
|
121
91
|
if (nextLocaleIsoCode.length >= 2 && nextLocaleIsoCode.length <= 4) {
|
|
122
92
|
// The order of methods here is reversed from `getShortestLocaleCode`, so that the logic "unwraps" the possible variants with no collisions
|
|
123
93
|
targetLanguage =
|
|
@@ -130,23 +100,17 @@ function getLanguageFromNextLocaleIsoCode(languages, nextLocaleIsoCode) {
|
|
|
130
100
|
}
|
|
131
101
|
return targetLanguage;
|
|
132
102
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return languages.find(function (_a) {
|
|
137
|
-
var code = _a.code;
|
|
138
|
-
return code === storyLocaleCode;
|
|
139
|
-
});
|
|
103
|
+
export function getLanguageFromStory(languages, story) {
|
|
104
|
+
const { code: storyLocaleCode } = story.culture;
|
|
105
|
+
return languages.find(({ code }) => code === storyLocaleCode);
|
|
140
106
|
}
|
|
141
|
-
exports.getLanguageFromStory = getLanguageFromStory;
|
|
142
107
|
/**
|
|
143
108
|
* Extracts company information for the selected locale
|
|
144
109
|
*/
|
|
145
|
-
function getCompanyInformation(languages, locale) {
|
|
146
|
-
|
|
110
|
+
export function getCompanyInformation(languages, locale) {
|
|
111
|
+
const currentLanguage = getLanguageByExactLocaleCode(languages, locale) || getDefaultLanguage(languages);
|
|
147
112
|
return currentLanguage.company_information;
|
|
148
113
|
}
|
|
149
|
-
exports.getCompanyInformation = getCompanyInformation;
|
|
150
114
|
/**
|
|
151
115
|
* Get shortest locale code possible from full locale code
|
|
152
116
|
* First: try shorting to neutral language code (there should be no locales with the same language code)
|
|
@@ -155,36 +119,27 @@ exports.getCompanyInformation = getCompanyInformation;
|
|
|
155
119
|
*
|
|
156
120
|
* @param locale A LocaleObject constructed from FULL locale code (taken straight from the selected language)
|
|
157
121
|
*/
|
|
158
|
-
function getShortestLocaleCode(languages, locale) {
|
|
159
|
-
|
|
160
|
-
|
|
122
|
+
export function getShortestLocaleCode(languages, locale) {
|
|
123
|
+
const localeCode = locale.toUnderscoreCode();
|
|
124
|
+
const defaultLanguage = getDefaultLanguage(languages);
|
|
161
125
|
// If it's a default locale, return false (no locale needed in URL)
|
|
162
126
|
if (localeCode === defaultLanguage.code) {
|
|
163
127
|
return false;
|
|
164
128
|
}
|
|
165
129
|
// Try shorting to neutral language code
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode ||
|
|
170
|
-
code === neutralLanguageCode;
|
|
171
|
-
});
|
|
130
|
+
const neutralLanguageCode = locale.toNeutralLanguageCode();
|
|
131
|
+
const matchingLanguagesByNeutralCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === neutralLanguageCode ||
|
|
132
|
+
code === neutralLanguageCode);
|
|
172
133
|
if (matchingLanguagesByNeutralCode.length === 1) {
|
|
173
134
|
return neutralLanguageCode;
|
|
174
135
|
}
|
|
175
136
|
// Try shorting to region code
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
var code = _a.code;
|
|
179
|
-
return localeObject_1.LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode;
|
|
180
|
-
});
|
|
137
|
+
const shortRegionCode = locale.toRegionCode();
|
|
138
|
+
const matchingLanguagesByRegionCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toRegionCode() === shortRegionCode);
|
|
181
139
|
// Prevent collision with neutral language codes
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
return localeObject_1.LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode ||
|
|
186
|
-
code === lowerCasedShortRegionCode;
|
|
187
|
-
});
|
|
140
|
+
const lowerCasedShortRegionCode = shortRegionCode.toLowerCase();
|
|
141
|
+
const mathchingNeutralLanguagesByRegionCode = languages.filter(({ code }) => LocaleObject.fromAnyCode(code).toNeutralLanguageCode() === lowerCasedShortRegionCode ||
|
|
142
|
+
code === lowerCasedShortRegionCode);
|
|
188
143
|
if (matchingLanguagesByRegionCode.length === 1 &&
|
|
189
144
|
// If there are 2 or more matching neutral languages, it means that there are no languages that can be shortened to neutral code
|
|
190
145
|
mathchingNeutralLanguagesByRegionCode.length !== 1 &&
|
|
@@ -194,5 +149,4 @@ function getShortestLocaleCode(languages, locale) {
|
|
|
194
149
|
}
|
|
195
150
|
return localeCode;
|
|
196
151
|
}
|
|
197
|
-
exports.getShortestLocaleCode = getShortestLocaleCode;
|
|
198
152
|
//# sourceMappingURL=languages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/intl/languages.ts"],"names":[],"mappings":"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"}
|