@prezly/theme-kit-nextjs 2.0.1-2 → 2.1.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/README.md +15 -15
- package/build/adapter-nextjs/api-handlers/fetchGalleries.js +23 -27
- package/build/adapter-nextjs/api-handlers/fetchGalleries.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/fetchStories.js +25 -37
- package/build/adapter-nextjs/api-handlers/fetchStories.js.map +1 -1
- package/build/adapter-nextjs/api-handlers/index.js +8 -2
- package/build/adapter-nextjs/api-handlers/index.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomServerSideProps.js +15 -16
- package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/getNewsroomStaticProps.js +15 -15
- package/build/adapter-nextjs/getNewsroomStaticProps.js.map +1 -1
- package/build/adapter-nextjs/index.js +23 -6
- package/build/adapter-nextjs/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/category.js +100 -118
- package/build/adapter-nextjs/page-props/category.js.map +1 -1
- package/build/adapter-nextjs/page-props/gallery.js +68 -87
- package/build/adapter-nextjs/page-props/gallery.js.map +1 -1
- package/build/adapter-nextjs/page-props/galleryAlbum.js +53 -64
- package/build/adapter-nextjs/page-props/galleryAlbum.js.map +1 -1
- package/build/adapter-nextjs/page-props/home.js +69 -83
- package/build/adapter-nextjs/page-props/home.js.map +1 -1
- package/build/adapter-nextjs/page-props/index.js +42 -8
- package/build/adapter-nextjs/page-props/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/lib/types.js +3 -1
- package/build/adapter-nextjs/page-props/search.js +31 -25
- package/build/adapter-nextjs/page-props/search.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js +50 -29
- package/build/adapter-nextjs/page-props/sitemap/SitemapBuilder.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js +19 -13
- package/build/adapter-nextjs/page-props/sitemap/createPaths.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js +35 -33
- package/build/adapter-nextjs/page-props/sitemap/getServerSideProps.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/index.js +25 -4
- package/build/adapter-nextjs/page-props/sitemap/index.js.map +1 -1
- package/build/adapter-nextjs/page-props/sitemap/types.js +3 -1
- package/build/adapter-nextjs/page-props/story.js +64 -77
- package/build/adapter-nextjs/page-props/story.js.map +1 -1
- package/build/adapter-nextjs/page-props/storyPreview.js +26 -27
- package/build/adapter-nextjs/page-props/storyPreview.js.map +1 -1
- package/build/adapter-nextjs/processRequest.js +25 -34
- package/build/adapter-nextjs/processRequest.js.map +1 -1
- package/build/adapter-nextjs/processStaticRequest.js +16 -19
- package/build/adapter-nextjs/processStaticRequest.js.map +1 -1
- package/build/components-nextjs/PageSeo/PageSeo.js +78 -84
- package/build/components-nextjs/PageSeo/PageSeo.js.map +1 -1
- package/build/components-nextjs/PageSeo/index.js +21 -2
- package/build/components-nextjs/PageSeo/index.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js +10 -5
- package/build/components-nextjs/PageSeo/lib/getAbsoluteUrl.js.map +1 -1
- package/build/components-nextjs/PageSeo/lib/types.js +3 -1
- package/build/components-nextjs/StorySeo/StorySeo.js +49 -69
- package/build/components-nextjs/StorySeo/StorySeo.js.map +1 -1
- package/build/components-nextjs/StorySeo/index.js +6 -1
- package/build/components-nextjs/StorySeo/index.js.map +1 -1
- package/build/components-nextjs/document.d.ts +2 -4
- package/build/components-nextjs/document.js +48 -34
- package/build/components-nextjs/document.js.map +1 -1
- package/build/components-nextjs/index.js +10 -3
- package/build/components-nextjs/index.js.map +1 -1
- package/build/data-fetching/api/PrezlyApi.js +191 -207
- package/build/data-fetching/api/PrezlyApi.js.map +1 -1
- package/build/data-fetching/api/getPrezlyApi.js +21 -21
- package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
- package/build/data-fetching/api/index.js +18 -1
- package/build/data-fetching/api/index.js.map +1 -1
- package/build/data-fetching/api/queries.js +47 -76
- package/build/data-fetching/api/queries.js.map +1 -1
- package/build/data-fetching/index.js +20 -3
- package/build/data-fetching/index.js.map +1 -1
- package/build/data-fetching/lib/getAlgoliaSettings.js +22 -22
- package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
- package/build/data-fetching/lib/getEnvVariables.js +38 -35
- package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
- package/build/data-fetching/lib/index.js +12 -4
- package/build/data-fetching/lib/index.js.map +1 -1
- package/build/data-fetching/lib/isSdkError.js +8 -3
- package/build/data-fetching/lib/isSdkError.js.map +1 -1
- package/build/data-fetching/lib/isUuid.js +8 -3
- package/build/data-fetching/lib/isUuid.js.map +1 -1
- package/build/data-fetching/types.js +3 -1
- package/build/index.js +26 -9
- package/build/index.js.map +1 -1
- package/build/infinite-loading/index.js +25 -4
- package/build/infinite-loading/index.js.map +1 -1
- package/build/infinite-loading/types.js +3 -1
- package/build/infinite-loading/useInfiniteGalleriesLoading.js +37 -42
- package/build/infinite-loading/useInfiniteGalleriesLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteLoading.js +43 -50
- package/build/infinite-loading/useInfiniteLoading.js.map +1 -1
- package/build/infinite-loading/useInfiniteStoriesLoading.js +50 -56
- package/build/infinite-loading/useInfiniteStoriesLoading.js.map +1 -1
- package/build/intl/index.d.ts +1 -1
- package/build/intl/index.js +26 -4
- package/build/intl/index.js.map +1 -1
- package/build/intl/languages.js +122 -146
- package/build/intl/languages.js.map +1 -1
- package/build/intl/locale.d.ts +1 -0
- package/build/intl/locale.js +108 -52
- package/build/intl/locale.js.map +1 -1
- package/build/intl/localeConfig.d.ts +2 -3
- package/build/intl/localeConfig.js +14 -20
- package/build/intl/localeConfig.js.map +1 -1
- package/build/intl/localeList.d.ts +2 -4
- package/build/intl/localeList.js +109 -1
- package/build/intl/localeList.js.map +1 -1
- package/build/intl/localeObject.js +82 -80
- package/build/intl/localeObject.js.map +1 -1
- package/build/newsroom-context/context.js +25 -35
- package/build/newsroom-context/context.js.map +1 -1
- package/build/newsroom-context/hooks/index.js +28 -11
- package/build/newsroom-context/hooks/index.js.map +1 -1
- package/build/newsroom-context/hooks/useAlgoliaSettings.js +10 -5
- package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
- package/build/newsroom-context/hooks/useCategories.js +10 -5
- package/build/newsroom-context/hooks/useCategories.js.map +1 -1
- package/build/newsroom-context/hooks/useCompanyInformation.js +10 -5
- package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentCategory.js +10 -5
- package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentLocale.js +10 -5
- package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
- package/build/newsroom-context/hooks/useCurrentStory.js +10 -5
- package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +21 -17
- package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
- package/build/newsroom-context/hooks/useGetTranslationUrl.js +56 -52
- package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
- package/build/newsroom-context/hooks/useLanguages.js +10 -5
- package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroom.js +10 -5
- package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
- package/build/newsroom-context/hooks/useNewsroomContext.js +16 -11
- package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
- package/build/newsroom-context/index.d.ts +1 -2
- package/build/newsroom-context/index.js +22 -2
- package/build/newsroom-context/index.js.map +1 -1
- package/build/sentry/client.js +9 -4
- package/build/sentry/client.js.map +1 -1
- package/build/sentry/common.js +29 -26
- package/build/sentry/common.js.map +1 -1
- package/build/sentry/index.js +8 -2
- package/build/sentry/index.js.map +1 -1
- package/build/sentry/server.js +9 -4
- package/build/sentry/server.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/types.js +3 -1
- package/build/utils/boilerplate.js +22 -7
- package/build/utils/boilerplate.js.map +1 -1
- package/build/utils/constants.js +7 -3
- package/build/utils/constants.js.map +1 -1
- package/build/utils/getAssetsUrl.js +9 -4
- package/build/utils/getAssetsUrl.js.map +1 -1
- package/build/utils/getDataRequestLink.js +12 -6
- package/build/utils/getDataRequestLink.js.map +1 -1
- package/build/utils/getLocalizedCategoryData.js +33 -33
- package/build/utils/getLocalizedCategoryData.js.map +1 -1
- package/build/utils/getNewsroomLogoUrl.js +21 -15
- package/build/utils/getNewsroomLogoUrl.js.map +1 -1
- package/build/utils/getPrivacyPortalUrl.js +13 -11
- package/build/utils/getPrivacyPortalUrl.js.map +1 -1
- package/build/utils/getStoryPublicationDate.js +14 -9
- package/build/utils/getStoryPublicationDate.js.map +1 -1
- package/build/utils/getUploadcareGroupUrl.js +10 -5
- package/build/utils/getUploadcareGroupUrl.js.map +1 -1
- package/build/utils/index.js +27 -10
- package/build/utils/index.js.map +1 -1
- package/build/utils/isEmbargoStory.js +8 -3
- package/build/utils/isEmbargoStory.js.map +1 -1
- package/package.json +13 -28
- package/src/@types/global.d.ts +7 -0
- package/src/__mocks__/languages.ts +416 -0
- package/src/__mocks__/story.ts +359 -0
- package/src/adapter-nextjs/api-handlers/fetchGalleries.ts +24 -0
- package/src/adapter-nextjs/api-handlers/fetchStories.ts +26 -0
- package/src/adapter-nextjs/api-handlers/index.ts +2 -0
- package/src/adapter-nextjs/getNewsroomServerSideProps.ts +29 -0
- package/src/adapter-nextjs/getNewsroomStaticProps.ts +29 -0
- package/src/adapter-nextjs/index.ts +6 -0
- package/src/adapter-nextjs/page-props/category.ts +157 -0
- package/src/adapter-nextjs/page-props/gallery.ts +114 -0
- package/src/adapter-nextjs/page-props/galleryAlbum.ts +89 -0
- package/src/adapter-nextjs/page-props/home.ts +113 -0
- package/src/adapter-nextjs/page-props/index.ts +26 -0
- package/src/adapter-nextjs/page-props/lib/types.ts +8 -0
- package/src/adapter-nextjs/page-props/search.ts +53 -0
- package/src/adapter-nextjs/page-props/sitemap/SitemapBuilder.ts +56 -0
- package/src/adapter-nextjs/page-props/sitemap/createPaths.ts +21 -0
- package/src/adapter-nextjs/page-props/sitemap/getServerSideProps.ts +43 -0
- package/src/adapter-nextjs/page-props/sitemap/index.ts +5 -0
- package/src/adapter-nextjs/page-props/sitemap/types.ts +5 -0
- package/src/adapter-nextjs/page-props/story.ts +94 -0
- package/src/adapter-nextjs/page-props/storyPreview.ts +33 -0
- package/src/adapter-nextjs/processRequest.ts +49 -0
- package/src/adapter-nextjs/processStaticRequest.ts +32 -0
- package/src/components-nextjs/PageSeo/PageSeo.tsx +131 -0
- package/src/components-nextjs/PageSeo/index.ts +2 -0
- package/src/components-nextjs/PageSeo/lib/getAbsoluteUrl.ts +7 -0
- package/src/components-nextjs/PageSeo/lib/types.ts +4 -0
- package/src/components-nextjs/StorySeo/StorySeo.tsx +82 -0
- package/src/components-nextjs/StorySeo/index.ts +1 -0
- package/src/components-nextjs/document.tsx +38 -0
- package/src/components-nextjs/index.ts +3 -0
- package/src/data-fetching/api/PrezlyApi.ts +304 -0
- package/src/data-fetching/api/getPrezlyApi.ts +24 -0
- package/src/data-fetching/api/index.ts +1 -0
- package/src/data-fetching/api/queries.ts +51 -0
- package/src/data-fetching/index.ts +3 -0
- package/src/data-fetching/lib/getAlgoliaSettings.ts +29 -0
- package/src/data-fetching/lib/getEnvVariables.ts +46 -0
- package/src/data-fetching/lib/index.ts +4 -0
- package/src/data-fetching/lib/isSdkError.ts +5 -0
- package/src/data-fetching/lib/isUuid.ts +5 -0
- package/src/data-fetching/types.ts +14 -0
- package/src/index.ts +9 -0
- package/src/infinite-loading/index.ts +4 -0
- package/src/infinite-loading/types.ts +5 -0
- package/src/infinite-loading/useInfiniteGalleriesLoading.ts +53 -0
- package/src/infinite-loading/useInfiniteLoading.ts +66 -0
- package/src/infinite-loading/useInfiniteStoriesLoading.ts +81 -0
- package/src/intl/index.ts +4 -0
- package/src/intl/languages.test.ts +232 -0
- package/src/intl/languages.ts +233 -0
- package/src/intl/locale.test.ts +95 -0
- package/src/intl/locale.ts +140 -0
- package/src/intl/localeConfig.js +23 -0
- package/src/intl/localeList.js +110 -0
- package/src/intl/localeObject.test.ts +81 -0
- package/src/intl/localeObject.ts +99 -0
- package/src/newsroom-context/context.tsx +115 -0
- package/src/newsroom-context/hooks/index.ts +11 -0
- package/src/newsroom-context/hooks/useAlgoliaSettings.ts +7 -0
- package/src/newsroom-context/hooks/useCategories.ts +7 -0
- package/src/newsroom-context/hooks/useCompanyInformation.ts +7 -0
- package/src/newsroom-context/hooks/useCurrentCategory.ts +7 -0
- package/src/newsroom-context/hooks/useCurrentLocale.ts +7 -0
- package/src/newsroom-context/hooks/useCurrentStory.ts +7 -0
- package/src/newsroom-context/hooks/useGetLinkLocaleSlug.ts +37 -0
- package/src/newsroom-context/hooks/useGetTranslationUrl.ts +97 -0
- package/src/newsroom-context/hooks/useLanguages.ts +7 -0
- package/src/newsroom-context/hooks/useNewsroom.ts +7 -0
- package/src/newsroom-context/hooks/useNewsroomContext.ts +15 -0
- package/src/newsroom-context/index.ts +2 -0
- package/src/sentry/client.ts +7 -0
- package/src/sentry/common.ts +27 -0
- package/src/sentry/index.ts +2 -0
- package/src/sentry/server.ts +7 -0
- package/src/types.ts +51 -0
- package/src/utils/boilerplate.ts +27 -0
- package/src/utils/constants.ts +3 -0
- package/src/utils/getAssetsUrl.test.ts +9 -0
- package/src/utils/getAssetsUrl.ts +9 -0
- package/src/utils/getDataRequestLink.ts +14 -0
- package/src/utils/getLocalizedCategoryData.ts +47 -0
- package/src/utils/getNewsroomLogoUrl.ts +22 -0
- package/src/utils/getPrivacyPortalUrl.ts +25 -0
- package/src/utils/getStoryPublicationDate.tsx +15 -0
- package/src/utils/getUploadcareGroupUrl.ts +13 -0
- package/src/utils/index.ts +10 -0
- package/src/utils/isEmbargoStory.ts +10 -0
- package/build/@types/global.d.js +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Newsroom } from '@prezly/sdk';
|
|
2
|
+
import { UploadcareImage } from '@prezly/uploadcare';
|
|
3
|
+
|
|
4
|
+
export function getNewsroomLogoUrl(newsroom: Newsroom): string {
|
|
5
|
+
if (newsroom.newsroom_logo) {
|
|
6
|
+
const image = UploadcareImage.createFromPrezlyStoragePayload(newsroom.newsroom_logo);
|
|
7
|
+
return image.cdnUrl;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return '';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function getNewsroomFaviconUrl(newsroom: Newsroom, previewSize = 400): string {
|
|
14
|
+
const imageObject = newsroom.icon || newsroom.square_logo;
|
|
15
|
+
|
|
16
|
+
if (imageObject) {
|
|
17
|
+
const image = UploadcareImage.createFromPrezlyStoragePayload(imageObject);
|
|
18
|
+
return image.preview(previewSize, previewSize).cdnUrl;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Newsroom } from '@prezly/sdk';
|
|
2
|
+
|
|
3
|
+
import type { LocaleObject } from '../intl';
|
|
4
|
+
|
|
5
|
+
type PrivacyPortalUrlOptions = {
|
|
6
|
+
email?: string;
|
|
7
|
+
action?: 'data-request' | 'subscribe' | 'unsubscribe';
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function getPrivacyPortalUrl(
|
|
11
|
+
newsroom: Newsroom,
|
|
12
|
+
locale: LocaleObject,
|
|
13
|
+
options?: PrivacyPortalUrlOptions,
|
|
14
|
+
) {
|
|
15
|
+
const { email, action = 'subscribe' } = options || {};
|
|
16
|
+
|
|
17
|
+
const url = new URL(
|
|
18
|
+
`/${locale.toUrlSlug()}/newsroom/${newsroom.uuid}/${action}`,
|
|
19
|
+
'https://privacy.prezly.com',
|
|
20
|
+
);
|
|
21
|
+
if (email) {
|
|
22
|
+
url.searchParams.append('email', email);
|
|
23
|
+
}
|
|
24
|
+
return url.toString();
|
|
25
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Story } from '@prezly/sdk';
|
|
2
|
+
|
|
3
|
+
import type { AlgoliaStory } from '../types';
|
|
4
|
+
|
|
5
|
+
export function getStoryPublicationDate(story: Story | AlgoliaStory): Date | null {
|
|
6
|
+
const { published_at } = story;
|
|
7
|
+
|
|
8
|
+
if (!published_at) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return typeof published_at === 'string'
|
|
13
|
+
? new Date(published_at)
|
|
14
|
+
: new Date(published_at * 1000);
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ASSETS_URL } from './constants';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This method constructs a URL to download all images in the Gallery as a single archive.
|
|
5
|
+
*
|
|
6
|
+
* @param uuid Gallery UUID
|
|
7
|
+
* @param title Filename for the saved archive. Usually it is the Gallery title.
|
|
8
|
+
* @returns URL to an archive containing all of the images in the Gallery.
|
|
9
|
+
*/
|
|
10
|
+
export function getUploadcareGroupUrl(uuid: string, title: string) {
|
|
11
|
+
// UploadCare doesn't like slashes in filenames even in encoded form.
|
|
12
|
+
return `${ASSETS_URL}/${uuid}/archive/zip/${encodeURIComponent(title.replace(/\//g, '_'))}.zip`;
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './boilerplate';
|
|
2
|
+
export * from './constants';
|
|
3
|
+
export * from './getAssetsUrl';
|
|
4
|
+
export * from './getDataRequestLink';
|
|
5
|
+
export * from './getLocalizedCategoryData';
|
|
6
|
+
export * from './getNewsroomLogoUrl';
|
|
7
|
+
export * from './getPrivacyPortalUrl';
|
|
8
|
+
export * from './getStoryPublicationDate';
|
|
9
|
+
export * from './getUploadcareGroupUrl';
|
|
10
|
+
export * from './isEmbargoStory';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Story } from '@prezly/sdk';
|
|
2
|
+
|
|
3
|
+
export type EmbargoStory = Omit<Story, 'is_embargo' | 'published_at'> & {
|
|
4
|
+
is_embargo: true;
|
|
5
|
+
published_at: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export function isEmbargoStory(story: Story): story is EmbargoStory {
|
|
9
|
+
return story.is_embargo && Boolean(story.published_at);
|
|
10
|
+
}
|
package/build/@types/global.d.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|