@payloadcms/next 3.15.1 → 3.15.2-canary.ee31a64

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAO/E,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BA2GA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAO/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAiHA,CAAA"}
@@ -7,6 +7,7 @@ import { getPayload, parseCookies } from 'payload';
7
7
  import React from 'react';
8
8
  import { getNavPrefs } from '../../elements/Nav/getNavPrefs.js';
9
9
  import { getRequestLanguage } from '../../utilities/getRequestLanguage.js';
10
+ import { getRequestLocale } from '../../utilities/getRequestLocale.js';
10
11
  import { getRequestTheme } from '../../utilities/getRequestTheme.js';
11
12
  import { initReq } from '../../utilities/initReq.js';
12
13
  import { checkDependencies } from './checkDependencies.js';
@@ -73,6 +74,10 @@ export const RootLayout = async ({
73
74
  i18n,
74
75
  importMap
75
76
  });
77
+ const locale = await getRequestLocale({
78
+ payload,
79
+ user
80
+ });
76
81
  return /*#__PURE__*/_jsxs("html", {
77
82
  "data-theme": theme,
78
83
  dir: dir,
@@ -90,6 +95,7 @@ export const RootLayout = async ({
90
95
  isNavOpen: navPrefs?.open ?? true,
91
96
  languageCode: languageCode,
92
97
  languageOptions: languageOptions,
98
+ locale: locale?.code,
93
99
  permissions: permissions,
94
100
  serverFunction: serverFunction,
95
101
  switchLanguageServerAction: switchLanguageServerAction,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","getClientConfig","headers","getHeaders","cookies","nextCookies","getPayload","parseCookies","React","getNavPrefs","getRequestLanguage","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","i18n","permissions","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","Array","isArray","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { i18n, permissions, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user })\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n,\n payload,\n permissions,\n user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","getClientConfig","headers","getHeaders","cookies","nextCookies","getPayload","parseCookies","React","getNavPrefs","getRequestLanguage","getRequestLocale","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","i18n","permissions","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","locale","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","code","Array","isArray","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestLocale } from '../../utilities/getRequestLocale.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { i18n, permissions, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user })\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap,\n })\n\n const locale = await getRequestLocale({\n payload,\n user,\n })\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={locale?.code}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n,\n payload,\n permissions,\n user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { Payload, User } from 'payload';
2
+ export declare const getPreference: <T>(key: string, payload: Payload, user: User) => Promise<T>;
3
+ //# sourceMappingURL=getPreference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPreference.d.ts","sourceRoot":"","sources":["../../src/utilities/getPreference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAI5C,eAAO,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,WAAW,OAAO,QAAQ,IAAI,KAAG,OAAO,CAAC,CAAC,CAmChE,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { cache } from 'react';
2
+ export const getPreference = cache(async (key, payload, user) => {
3
+ let result = null;
4
+ try {
5
+ result = await payload.find({
6
+ collection: 'payload-preferences',
7
+ depth: 0,
8
+ limit: 1,
9
+ user,
10
+ where: {
11
+ and: [{
12
+ 'user.relationTo': {
13
+ equals: payload.config.admin.user
14
+ }
15
+ }, {
16
+ 'user.value': {
17
+ equals: user.id
18
+ }
19
+ }, {
20
+ key: {
21
+ equals: key
22
+ }
23
+ }]
24
+ }
25
+ })?.then(res => res.docs?.[0]?.value);
26
+ } catch (_err) {} // eslint-disable-line no-empty
27
+ return result;
28
+ });
29
+ //# sourceMappingURL=getPreference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPreference.js","names":["cache","getPreference","key","payload","user","result","find","collection","depth","limit","where","and","equals","config","admin","id","then","res","docs","value","_err"],"sources":["../../src/utilities/getPreference.ts"],"sourcesContent":["import type { Payload, User } from 'payload'\n\nimport { cache } from 'react'\n\nexport const getPreference = cache(\n async <T>(key: string, payload: Payload, user: User): Promise<T> => {\n let result: T = null\n\n try {\n result = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: key,\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as T)\n } catch (_err) {} // eslint-disable-line no-empty\n\n return result\n },\n)\n"],"mappings":"AAEA,SAASA,KAAK,QAAQ;AAEtB,OAAO,MAAMC,aAAA,GAAgBD,KAAA,CAC3B,OAAUE,GAAA,EAAaC,OAAA,EAAkBC,IAAA;EACvC,IAAIC,MAAA,GAAY;EAEhB,IAAI;IACFA,MAAA,GAAS,MAAMF,OAAA,CACZG,IAAI,CAAC;MACJC,UAAA,EAAY;MACZC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPL,IAAA;MACAM,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACE,mBAAmB;YACjBC,MAAA,EAAQT,OAAA,CAAQU,MAAM,CAACC,KAAK,CAACV;UAC/B;QACF,GACA;UACE,cAAc;YACZQ,MAAA,EAAQR,IAAA,CAAKW;UACf;QACF,GACA;UACEb,GAAA,EAAK;YACHU,MAAA,EAAQV;UACV;QACF;MAEJ;IACF,IACEc,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE,EAAEC,KAAA;EACnC,EAAE,OAAOC,IAAA,EAAM,CAAC,EAAE;EAElB,OAAOf,MAAA;AACT","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { Locale, Payload, User } from 'payload';
2
+ type GetRequestLocalesArgs = {
3
+ localeFromParams?: string;
4
+ payload: Payload;
5
+ user: User;
6
+ };
7
+ export declare function getRequestLocale({ localeFromParams, payload, user, }: GetRequestLocalesArgs): Promise<Locale>;
8
+ export {};
9
+ //# sourceMappingURL=getRequestLocale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRequestLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLocale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAMpD,KAAK,qBAAqB,GAAG;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,wBAAsB,gBAAgB,CAAC,EACrC,gBAAgB,EAChB,OAAO,EACP,IAAI,GACL,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAezC"}
@@ -0,0 +1,13 @@
1
+ import { findLocaleFromCode } from '@payloadcms/ui/shared';
2
+ import { getPreference } from './getPreference.js';
3
+ export async function getRequestLocale({
4
+ localeFromParams,
5
+ payload,
6
+ user
7
+ }) {
8
+ if (payload.config.localization) {
9
+ return findLocaleFromCode(payload.config.localization, localeFromParams || (await getPreference('locale', payload, user))) || findLocaleFromCode(payload.config.localization, payload.config.localization.defaultLocale || 'en');
10
+ }
11
+ return undefined;
12
+ }
13
+ //# sourceMappingURL=getRequestLocale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRequestLocale.js","names":["findLocaleFromCode","getPreference","getRequestLocale","localeFromParams","payload","user","config","localization","defaultLocale","undefined"],"sources":["../../src/utilities/getRequestLocale.ts"],"sourcesContent":["import type { Locale, Payload, User } from 'payload'\n\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\n\nimport { getPreference } from './getPreference.js'\n\ntype GetRequestLocalesArgs = {\n localeFromParams?: string\n payload: Payload\n user: User\n}\n\nexport async function getRequestLocale({\n localeFromParams,\n payload,\n user,\n}: GetRequestLocalesArgs): Promise<Locale> {\n if (payload.config.localization) {\n return (\n findLocaleFromCode(\n payload.config.localization,\n localeFromParams || (await getPreference<Locale['code']>('locale', payload, user)),\n ) ||\n findLocaleFromCode(\n payload.config.localization,\n payload.config.localization.defaultLocale || 'en',\n )\n )\n }\n\n return undefined\n}\n"],"mappings":"AAEA,SAASA,kBAAkB,QAAQ;AAEnC,SAASC,aAAa,QAAQ;AAQ9B,OAAO,eAAeC,iBAAiB;EACrCC,gBAAgB;EAChBC,OAAO;EACPC;AAAI,CACkB;EACtB,IAAID,OAAA,CAAQE,MAAM,CAACC,YAAY,EAAE;IAC/B,OACEP,kBAAA,CACEI,OAAA,CAAQE,MAAM,CAACC,YAAY,EAC3BJ,gBAAA,KAAqB,MAAMF,aAAA,CAA8B,UAAUG,OAAA,EAASC,IAAA,OAE9EL,kBAAA,CACEI,OAAA,CAAQE,MAAM,CAACC,YAAY,EAC3BH,OAAA,CAAQE,MAAM,CAACC,YAAY,CAACC,aAAa,IAAI;EAGnD;EAEA,OAAOC,SAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,SAAS,CAAA;AAQtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQtC,eAAO,MAAM,QAAQ,+DAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CAsJ/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAA;AAO9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAStC,eAAO,MAAM,QAAQ,+DAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA8G/B,CAAA"}
@@ -1,8 +1,8 @@
1
- import { findLocaleFromCode } from '@payloadcms/ui/shared';
2
1
  import { headers as getHeaders } from 'next/headers.js';
3
2
  import { notFound } from 'next/navigation.js';
4
3
  import { createLocalReq, getPayload, isEntityHidden, parseCookies } from 'payload';
5
4
  import * as qs from 'qs-esm';
5
+ import { getRequestLocale } from '../getRequestLocale.js';
6
6
  import { initReq } from '../initReq.js';
7
7
  import { getRouteInfo } from './handleAdminPage.js';
8
8
  import { handleAuthRedirect } from './handleAuthRedirect.js';
@@ -25,7 +25,6 @@ export const initPage = async ({
25
25
  const {
26
26
  collections,
27
27
  globals,
28
- localization,
29
28
  routes: {
30
29
  admin: adminRoute
31
30
  }
@@ -63,42 +62,12 @@ export const initPage = async ({
63
62
  return acc;
64
63
  }, []);
65
64
  req.user = user;
66
- const localeParam = searchParams?.locale;
67
- let locale;
68
- if (localization) {
69
- const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en';
70
- let localeCode = localeParam;
71
- if (!localeCode) {
72
- try {
73
- localeCode = await payload.find({
74
- collection: 'payload-preferences',
75
- depth: 0,
76
- limit: 1,
77
- user,
78
- where: {
79
- and: [{
80
- 'user.relationTo': {
81
- equals: payload.config.admin.user
82
- }
83
- }, {
84
- 'user.value': {
85
- equals: user.id
86
- }
87
- }, {
88
- key: {
89
- equals: 'locale'
90
- }
91
- }]
92
- }
93
- })?.then(res => res.docs?.[0]?.value);
94
- } catch (_err) {} // eslint-disable-line no-empty
95
- }
96
- locale = findLocaleFromCode(localization, localeCode);
97
- if (!locale) {
98
- locale = findLocaleFromCode(localization, defaultLocaleCode);
99
- }
100
- req.locale = locale.code;
101
- }
65
+ const locale = await getRequestLocale({
66
+ localeFromParams: req.query.locale,
67
+ payload,
68
+ user
69
+ });
70
+ req.locale = locale?.code;
102
71
  const visibleEntities = {
103
72
  collections: collections.map(({
104
73
  slug,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["findLocaleFromCode","headers","getHeaders","notFound","createLocalReq","getPayload","isEntityHidden","parseCookies","qs","initReq","getRouteInfo","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","initPage","config","configPromise","importMap","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","localization","routes","admin","adminRoute","cookies","i18n","permissions","user","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","_err","code","visibleEntities","map","slug","hidden","filter","Boolean","redirectTo","canAccessAdmin","collectionConfig","collectionSlug","docID","globalConfig","globalSlug","defaultIDType","db"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, VisibleEntities } from 'payload'\n\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound } from 'next/navigation.js'\nimport { createLocalReq, getPayload, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { initReq } from '../initReq.js'\nimport { getRouteInfo } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\nimport { isCustomAdminView } from './isCustomAdminView.js'\nimport { isPublicAdminRoute } from './shared.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = await getHeaders()\n const payload = await getPayload({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const cookies = parseCookies(headers)\n\n const { i18n, permissions, user } = await initReq(payload.config)\n\n // Ideally, we should not need to recreate the req, because\n // we can get it from the above initReq.\n\n // We just need to -overwrite- the url and query of the req\n // we get above. Clone the req? We'll look into that eventually.\n const req = await createLocalReq(\n {\n fallbackLocale: false,\n req: {\n headers,\n host: headers.get('host'),\n i18n: i18n as I18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n },\n },\n payload,\n )\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (_err) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) {\n locale = findLocaleFromCode(localization, defaultLocaleCode)\n }\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n let redirectTo = null\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route })\n ) {\n redirectTo = handleAuthRedirect({\n config: payload.config,\n route,\n searchParams,\n user,\n })\n }\n\n const { collectionConfig, collectionSlug, docID, globalConfig, globalSlug } = getRouteInfo({\n adminRoute,\n config: payload.config,\n defaultIDType: payload.db.defaultIDType,\n payload,\n route,\n })\n\n if ((collectionSlug && !collectionConfig) || (globalSlug && !globalConfig)) {\n return notFound()\n }\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n redirectTo,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["headers","getHeaders","notFound","createLocalReq","getPayload","isEntityHidden","parseCookies","qs","getRequestLocale","initReq","getRouteInfo","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","initPage","config","configPromise","importMap","route","searchParams","payload","queryString","stringify","addQueryPrefix","collections","globals","routes","admin","adminRoute","cookies","i18n","permissions","user","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","locale","localeFromParams","code","visibleEntities","map","slug","hidden","filter","Boolean","redirectTo","canAccessAdmin","collectionConfig","collectionSlug","docID","globalConfig","globalSlug","defaultIDType","db"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { InitPageResult, VisibleEntities } from 'payload'\n\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound } from 'next/navigation.js'\nimport { createLocalReq, getPayload, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getRequestLocale } from '../getRequestLocale.js'\nimport { initReq } from '../initReq.js'\nimport { getRouteInfo } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\nimport { isCustomAdminView } from './isCustomAdminView.js'\nimport { isPublicAdminRoute } from './shared.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = await getHeaders()\n const payload = await getPayload({ config: configPromise, importMap })\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\n const {\n collections,\n globals,\n routes: { admin: adminRoute },\n } = payload.config\n\n const cookies = parseCookies(headers)\n\n const { i18n, permissions, user } = await initReq(payload.config)\n\n // Ideally, we should not need to recreate the req, because\n // we can get it from the above initReq.\n\n // We just need to -overwrite- the url and query of the req\n // we get above. Clone the req? We'll look into that eventually.\n const req = await createLocalReq(\n {\n fallbackLocale: false,\n req: {\n headers,\n host: headers.get('host'),\n i18n: i18n as I18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n },\n },\n payload,\n )\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n req.user = user\n\n const locale = await getRequestLocale({\n localeFromParams: req.query.locale as string,\n payload,\n user,\n })\n\n req.locale = locale?.code\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n let redirectTo = null\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route })\n ) {\n redirectTo = handleAuthRedirect({\n config: payload.config,\n route,\n searchParams,\n user,\n })\n }\n\n const { collectionConfig, collectionSlug, docID, globalConfig, globalSlug } = getRouteInfo({\n adminRoute,\n config: payload.config,\n defaultIDType: payload.db.defaultIDType,\n payload,\n route,\n })\n\n if ((collectionSlug && !collectionConfig) || (globalSlug && !globalConfig)) {\n return notFound()\n }\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n redirectTo,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"AAGA,SAASA,OAAA,IAAWC,UAAU,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,EAAEC,UAAU,EAAEC,cAAc,EAAEC,YAAY,QAAQ;AACzE,YAAYC,EAAA,MAAQ;AAIpB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,OAAO,QAAQ;AACxB,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,KAAK;EACLC;AAAY,CACP;EACL,MAAMnB,OAAA,GAAU,MAAMC,UAAA;EACtB,MAAMmB,OAAA,GAAU,MAAMhB,UAAA,CAAW;IAAEW,MAAA,EAAQC,aAAA;IAAeC;EAAU;EACpE,MAAMI,WAAA,GAAc,GAAGd,EAAA,CAAGe,SAAS,CAACH,YAAA,IAAgB,CAAC,GAAG;IAAEI,cAAA,EAAgB;EAAK,IAAI;EAEnF,MAAM;IACJC,WAAW;IACXC,OAAO;IACPC,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGR,OAAA,CAAQL,MAAM;EAElB,MAAMc,OAAA,GAAUvB,YAAA,CAAaN,OAAA;EAE7B,MAAM;IAAE8B,IAAI;IAAEC,WAAW;IAAEC;EAAI,CAAE,GAAG,MAAMvB,OAAA,CAAQW,OAAA,CAAQL,MAAM;EAEhE;EACA;EAEA;EACA;EACA,MAAMkB,GAAA,GAAM,MAAM9B,cAAA,CAChB;IACE+B,cAAA,EAAgB;IAChBD,GAAA,EAAK;MACHjC,OAAA;MACAmC,IAAA,EAAMnC,OAAA,CAAQoC,GAAG,CAAC;MAClBN,IAAA,EAAMA,IAAA;MACNO,KAAA,EAAO9B,EAAA,CAAG+B,KAAK,CAACjB,WAAA,EAAa;QAC3BkB,KAAA,EAAO;QACPC,iBAAA,EAAmB;MACrB;MACAC,GAAA,EAAK,GAAGrB,OAAA,CAAQL,MAAM,CAAC2B,SAAS,GAAGxB,KAAA,GAAQC,YAAA,GAAeE,WAAA,GAAc;IAC1E;EACF,GACAD,OAAA;EAGF,MAAMuB,eAAA,GAAkBC,MAAA,CAAOC,OAAO,CAACzB,OAAA,CAAQL,MAAM,CAACe,IAAI,CAACgB,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACzF,CAACC,GAAA,EAAK,CAACC,QAAA,EAAUC,cAAA,CAAe;IAC9B,IAAIN,MAAA,CAAOO,IAAI,CAAC/B,OAAA,CAAQL,MAAM,CAACe,IAAI,CAACgB,kBAAkB,EAAEM,QAAQ,CAACH,QAAA,GAAW;MAC1ED,GAAA,CAAIK,IAAI,CAAC;QACPC,KAAA,EAAOJ,cAAA,CAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;QACvDC,KAAA,EAAOT;MACT;IACF;IAEA,OAAOD,GAAA;EACT,GACA,EAAE;EAGJf,GAAA,CAAID,IAAI,GAAGA,IAAA;EAEX,MAAM2B,MAAA,GAAS,MAAMnD,gBAAA,CAAiB;IACpCoD,gBAAA,EAAkB3B,GAAA,CAAII,KAAK,CAACsB,MAAM;IAClCvC,OAAA;IACAY;EACF;EAEAC,GAAA,CAAI0B,MAAM,GAAGA,MAAA,EAAQE,IAAA;EAErB,MAAMC,eAAA,GAAmC;IACvCtC,WAAA,EAAaA,WAAA,CACVuC,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAErC,KAAA,EAAO;QAAEsC;MAAM;IAAE,CAAE,KAAM,CAAC5D,cAAA,CAAe;MAAE4D,MAAA;MAAQjC;IAAK,KAAKgC,IAAA,GAAO,MACjFE,MAAM,CAACC,OAAA;IACV1C,OAAA,EAASA,OAAA,CACNsC,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAErC,KAAA,EAAO;QAAEsC;MAAM;IAAE,CAAE,KAAM,CAAC5D,cAAA,CAAe;MAAE4D,MAAA;MAAQjC;IAAK,KAAKgC,IAAA,GAAO,MACjFE,MAAM,CAACC,OAAA;EACZ;EAEA,IAAIC,UAAA,GAAa;EAEjB,IACE,CAACrC,WAAA,CAAYsC,cAAc,IAC3B,CAACxD,kBAAA,CAAmB;IAAEe,UAAA;IAAYb,MAAA,EAAQK,OAAA,CAAQL,MAAM;IAAEG;EAAM,MAChE,CAACN,iBAAA,CAAkB;IAAEgB,UAAA;IAAYb,MAAA,EAAQK,OAAA,CAAQL,MAAM;IAAEG;EAAM,IAC/D;IACAkD,UAAA,GAAazD,kBAAA,CAAmB;MAC9BI,MAAA,EAAQK,OAAA,CAAQL,MAAM;MACtBG,KAAA;MACAC,YAAA;MACAa;IACF;EACF;EAEA,MAAM;IAAEsC,gBAAgB;IAAEC,cAAc;IAAEC,KAAK;IAAEC,YAAY;IAAEC;EAAU,CAAE,GAAGhE,YAAA,CAAa;IACzFkB,UAAA;IACAb,MAAA,EAAQK,OAAA,CAAQL,MAAM;IACtB4D,aAAA,EAAevD,OAAA,CAAQwD,EAAE,CAACD,aAAa;IACvCvD,OAAA;IACAF;EACF;EAEA,IAAIqD,cAAC,IAAkB,CAACD,gBAAA,IAAsBI,UAAA,IAAc,CAACD,YAAA,EAAe;IAC1E,OAAOvE,QAAA;EACT;EAEA,OAAO;IACLoE,gBAAA;IACAzC,OAAA;IACA2C,KAAA;IACAC,YAAA;IACA9B,eAAA;IACAgB,MAAA;IACA5B,WAAA;IACAqC,UAAA;IACAnC,GAAA;IACAsB,YAAA,EAAczB,IAAA,CAAKyB,YAAY;IAC/BO;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAkIA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAmIA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","serverProps","templateClassName","templateType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","_jsxs","_jsx","className","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, serverProps, templateClassName, templateType } =\n getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","serverProps","templateClassName","templateType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","_jsxs","_jsx","className","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, serverProps, templateClassName, templateType } =\n getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.15.1",
3
+ "version": "3.15.2-canary.ee31a64",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -79,9 +79,9 @@
79
79
  "sass": "1.77.4",
80
80
  "sonner": "^1.7.0",
81
81
  "uuid": "10.0.0",
82
- "@payloadcms/graphql": "3.15.1",
83
- "@payloadcms/translations": "3.15.1",
84
- "@payloadcms/ui": "3.15.1"
82
+ "@payloadcms/graphql": "3.15.2-canary.ee31a64",
83
+ "@payloadcms/ui": "3.15.2-canary.ee31a64",
84
+ "@payloadcms/translations": "3.15.2-canary.ee31a64"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@babel/cli": "7.25.9",
@@ -99,13 +99,13 @@
99
99
  "esbuild-sass-plugin": "3.3.1",
100
100
  "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
101
101
  "swc-plugin-transform-remove-imports": "2.0.0",
102
- "payload": "3.15.1",
103
- "@payloadcms/eslint-config": "3.9.0"
102
+ "@payloadcms/eslint-config": "3.9.0",
103
+ "payload": "3.15.2-canary.ee31a64"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "graphql": "^16.8.1",
107
107
  "next": "^15.0.0",
108
- "payload": "3.15.1"
108
+ "payload": "3.15.2-canary.ee31a64"
109
109
  },
110
110
  "engines": {
111
111
  "node": "^18.20.2 || >=20.9.0"
@@ -1,12 +0,0 @@
1
- import type { Payload } from 'payload';
2
- type GetRequestLocalesArgs = {
3
- data?: Record<string, any>;
4
- localization: Exclude<Payload['config']['localization'], false>;
5
- searchParams?: URLSearchParams;
6
- };
7
- export declare function getRequestLocales({ data, localization, searchParams }: GetRequestLocalesArgs): {
8
- fallbackLocale: string;
9
- locale: string;
10
- };
11
- export {};
12
- //# sourceMappingURL=getRequestLocales.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRequestLocales.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestLocales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAItC,KAAK,qBAAqB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;IAC/D,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B,CAAA;AACD,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,qBAAqB,GAAG;IAC9F,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACf,CAgCA"}
@@ -1,35 +0,0 @@
1
- import { sanitizeFallbackLocale } from 'payload';
2
- export function getRequestLocales({
3
- data,
4
- localization,
5
- searchParams
6
- }) {
7
- let locale = searchParams.get('locale');
8
- let fallbackLocale = searchParams.get('fallback-locale') || searchParams.get('fallbackLocale');
9
- if (data) {
10
- if (data?.locale) {
11
- locale = data.locale;
12
- }
13
- if (data?.['fallback-locale']) {
14
- fallbackLocale = data['fallback-locale'];
15
- }
16
- if (data?.['fallbackLocale']) {
17
- fallbackLocale = data['fallbackLocale'];
18
- }
19
- }
20
- fallbackLocale = sanitizeFallbackLocale({
21
- fallbackLocale,
22
- locale,
23
- localization
24
- });
25
- if (locale === '*') {
26
- locale = 'all';
27
- } else if (!localization.localeCodes.includes(locale)) {
28
- locale = localization.defaultLocale;
29
- }
30
- return {
31
- fallbackLocale,
32
- locale
33
- };
34
- }
35
- //# sourceMappingURL=getRequestLocales.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRequestLocales.js","names":["sanitizeFallbackLocale","getRequestLocales","data","localization","searchParams","locale","get","fallbackLocale","localeCodes","includes","defaultLocale"],"sources":["../../src/utilities/getRequestLocales.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\nimport { sanitizeFallbackLocale } from 'payload'\n\ntype GetRequestLocalesArgs = {\n data?: Record<string, any>\n localization: Exclude<Payload['config']['localization'], false>\n searchParams?: URLSearchParams\n}\nexport function getRequestLocales({ data, localization, searchParams }: GetRequestLocalesArgs): {\n fallbackLocale: string\n locale: string\n} {\n let locale = searchParams.get('locale')\n let fallbackLocale = searchParams.get('fallback-locale') || searchParams.get('fallbackLocale')\n\n if (data) {\n if (data?.locale) {\n locale = data.locale\n }\n if (data?.['fallback-locale']) {\n fallbackLocale = data['fallback-locale']\n }\n if (data?.['fallbackLocale']) {\n fallbackLocale = data['fallbackLocale']\n }\n }\n\n fallbackLocale = sanitizeFallbackLocale({\n fallbackLocale,\n locale,\n localization,\n })\n\n if (locale === '*') {\n locale = 'all'\n } else if (!localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"mappings":"AAEA,SAASA,sBAAsB,QAAQ;AAOvC,OAAO,SAASC,kBAAkB;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAY,CAAyB;EAI3F,IAAIC,MAAA,GAASD,YAAA,CAAaE,GAAG,CAAC;EAC9B,IAAIC,cAAA,GAAiBH,YAAA,CAAaE,GAAG,CAAC,sBAAsBF,YAAA,CAAaE,GAAG,CAAC;EAE7E,IAAIJ,IAAA,EAAM;IACR,IAAIA,IAAA,EAAMG,MAAA,EAAQ;MAChBA,MAAA,GAASH,IAAA,CAAKG,MAAM;IACtB;IACA,IAAIH,IAAA,GAAO,kBAAkB,EAAE;MAC7BK,cAAA,GAAiBL,IAAI,CAAC,kBAAkB;IAC1C;IACA,IAAIA,IAAA,GAAO,iBAAiB,EAAE;MAC5BK,cAAA,GAAiBL,IAAI,CAAC,iBAAiB;IACzC;EACF;EAEAK,cAAA,GAAiBP,sBAAA,CAAuB;IACtCO,cAAA;IACAF,MAAA;IACAF;EACF;EAEA,IAAIE,MAAA,KAAW,KAAK;IAClBA,MAAA,GAAS;EACX,OAAO,IAAI,CAACF,YAAA,CAAaK,WAAW,CAACC,QAAQ,CAACJ,MAAA,GAAS;IACrDA,MAAA,GAASF,YAAA,CAAaO,aAAa;EACrC;EAEA,OAAO;IACLH,cAAA;IACAF;EACF;AACF","ignoreList":[]}