@payloadcms/next 3.56.0-canary.2 → 3.56.0-canary.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/layouts/Root/index.js +1 -1
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +1 -0
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Document/getIsLocked.d.ts.map +1 -1
- package/dist/views/Document/getIsLocked.js +18 -3
- package/dist/views/Document/getIsLocked.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +4 -5
- package/dist/views/Root/index.js.map +1 -1
- package/package.json +7 -7
- package/dist/views/Root/SyncClientConfig.d.ts +0 -11
- package/dist/views/Root/SyncClientConfig.d.ts.map +0 -1
- package/dist/views/Root/SyncClientConfig.js +0 -38
- package/dist/views/Root/SyncClientConfig.js.map +0 -1
|
@@ -100,7 +100,7 @@ export const RootLayout = async ({
|
|
|
100
100
|
languageCode: languageCode,
|
|
101
101
|
languageOptions: languageOptions,
|
|
102
102
|
locale: req.locale,
|
|
103
|
-
permissions: permissions,
|
|
103
|
+
permissions: req.user ? permissions : null,
|
|
104
104
|
serverFunction: serverFunction,
|
|
105
105
|
switchLanguageServerAction: switchLanguageServerAction,
|
|
106
106
|
theme: theme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["rtlLanguages","ProgressBar","RootProvider","getClientConfig","cookies","nextCookies","React","getNavPrefs","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","htmlProps","importMap","serverFunction","headers","languageCode","permissions","req","payload","key","theme","dir","includes","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","user","localization","filterAvailableLocales","locales","map","toString","rest","localeCodes","code","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","locale","Array","isArray","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, LanguageOptions, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { ProgressBar, RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { cookies as nextCookies } from 'next/headers.js'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.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 htmlProps = {},\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly htmlProps?: React.HtmlHTMLAttributes<HTMLHtmlElement>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const {\n cookies,\n headers,\n languageCode,\n permissions,\n req,\n req: {\n payload: { config },\n },\n } = await initReq({ configPromise, importMap, key: 'RootLayout' })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions: LanguageOptions = Object.entries(\n config.i18n.supportedLanguages || {},\n ).reduce((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 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(req)\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: req.user,\n })\n\n if (\n clientConfig.localization &&\n config.localization &&\n typeof config.localization.filterAvailableLocales === 'function'\n ) {\n clientConfig.localization.locales = (\n await config.localization.filterAvailableLocales({\n locales: config.localization.locales,\n req,\n })\n ).map(({ toString, ...rest }) => rest)\n clientConfig.localization.localeCodes = config.localization.locales.map(({ code }) => code)\n }\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n {...htmlProps}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={req.i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={req.locale}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={req.i18n.translations}\n user={req.user}\n >\n <ProgressBar />\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={req.payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n: req.i18n,\n payload: req.payload,\n permissions,\n user: req.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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
|
|
1
|
+
{"version":3,"file":"index.js","names":["rtlLanguages","ProgressBar","RootProvider","getClientConfig","cookies","nextCookies","React","getNavPrefs","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","htmlProps","importMap","serverFunction","headers","languageCode","permissions","req","payload","key","theme","dir","includes","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","user","localization","filterAvailableLocales","locales","map","toString","rest","localeCodes","code","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","locale","Array","isArray","components","providers","length","serverProps","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, LanguageOptions, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { ProgressBar, RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { cookies as nextCookies } from 'next/headers.js'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.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 htmlProps = {},\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly htmlProps?: React.HtmlHTMLAttributes<HTMLHtmlElement>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const {\n cookies,\n headers,\n languageCode,\n permissions,\n req,\n req: {\n payload: { config },\n },\n } = await initReq({ configPromise, importMap, key: 'RootLayout' })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions: LanguageOptions = Object.entries(\n config.i18n.supportedLanguages || {},\n ).reduce((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 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(req)\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: req.user,\n })\n\n if (\n clientConfig.localization &&\n config.localization &&\n typeof config.localization.filterAvailableLocales === 'function'\n ) {\n clientConfig.localization.locales = (\n await config.localization.filterAvailableLocales({\n locales: config.localization.locales,\n req,\n })\n ).map(({ toString, ...rest }) => rest)\n clientConfig.localization.localeCodes = config.localization.locales.map(({ code }) => code)\n }\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n {...htmlProps}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={req.i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={req.locale}\n permissions={req.user ? permissions : null}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={req.i18n.translations}\n user={req.user}\n >\n <ProgressBar />\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={req.payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n: req.i18n,\n payload: req.payload,\n permissions,\n user: req.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,wBAAsB,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,wBAAsB,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,8BA8EjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","CreateFirstUserClient","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","baseFields","Object","fromEntries","fields","filter","f","name","map","create","read","update","docPermissionsForForm","delete","readVersions","state","formState","docPermissions","code","operation","renderAllFields","schemaPath","skipValidation","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n SanitizedDocumentPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport async function CreateFirstUserView({ initPageResult }: AdminViewServerProps) {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n const baseFields: SanitizedFieldsPermissions = Object.fromEntries(\n collectionConfig.fields\n .filter((f): f is { name: string } & typeof f => 'name' in f && typeof f.name === 'string')\n .map((f) => [f.name, { create: true, read: true, update: true }]),\n )\n\n // In create-first-user we should always allow all fields\n const docPermissionsForForm: SanitizedDocumentPermissions = {\n create: true,\n delete: true,\n fields: baseFields,\n read: true,\n readVersions: true,\n update: true,\n }\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions: docPermissionsForForm,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipValidation: true,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissionsForForm}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAMA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AAGtC,OAAO,eAAeC,oBAAoB;EAAEC;AAAc,CAAwB;EAChF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,WAAW;QACXC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE;MAC1B;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,MAAMS,gBAAA,GAAmBL,WAAA,GAAcI,QAAA,CAAS,EAAEH,MAAA;EAClD,MAAM;IAAEK,IAAA,EAAMC;EAAW,CAAE,GAAGF,gBAAA;EAC9B,MAAMG,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMhB,eAAA,CAAgB;IACjCiB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCd,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBD,GAAA;IACAK,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA;EACA,MAAMS,cAAA,GAAiB,MAAMpB,iBAAA,CAAkB;IAC7CkB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCZ,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBI,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA,MAAMU,UAAA,GAAyCC,MAAA,CAAOC,WAAW,CAC/DV,gBAAA,CAAiBW,MAAM,CACpBC,MAAM,CAAEC,CAAA,IAAwC,UAAUA,CAAA,IAAK,OAAOA,CAAA,CAAEC,IAAI,KAAK,UACjFC,GAAG,CAAEF,CAAA,IAAM,CAACA,CAAA,CAAEC,IAAI,EAAE;IAAEE,MAAA,EAAQ;IAAMC,IAAA,EAAM;IAAMC,MAAA,EAAQ;EAAK,EAAE;EAGpE;EACA,MAAMC,qBAAA,GAAsD;IAC1DH,MAAA,EAAQ;IACRI,MAAA,EAAQ;IACRT,MAAA,EAAQH,UAAA;IACRS,IAAA,EAAM;IACNI,YAAA,EAAc;IACdH,MAAA,EAAQ;EACV;EAEA;EACA,MAAM;IAAEI,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAMtC,cAAA,CAAe;IAChDoB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCF,IAAA;IACAoB,cAAA,EAAgBL,qBAAA;IAChBZ,cAAA;IACAf,MAAA,EAAQA,MAAA,EAAQiC,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBlC,GAAA;IACAmC,UAAA,EAAY5B,gBAAA,CAAiBM,IAAI;IACjCuB,cAAA,EAAgB;EAClB;EAEA,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","CreateFirstUserClient","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","baseFields","Object","fromEntries","fields","filter","f","name","map","create","read","update","docPermissionsForForm","delete","readVersions","state","formState","docPermissions","code","operation","renderAllFields","schemaPath","skipClientConfigAuth","skipValidation","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n SanitizedDocumentPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport async function CreateFirstUserView({ initPageResult }: AdminViewServerProps) {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n const baseFields: SanitizedFieldsPermissions = Object.fromEntries(\n collectionConfig.fields\n .filter((f): f is { name: string } & typeof f => 'name' in f && typeof f.name === 'string')\n .map((f) => [f.name, { create: true, read: true, update: true }]),\n )\n\n // In create-first-user we should always allow all fields\n const docPermissionsForForm: SanitizedDocumentPermissions = {\n create: true,\n delete: true,\n fields: baseFields,\n read: true,\n readVersions: true,\n update: true,\n }\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions: docPermissionsForForm,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipClientConfigAuth: true,\n skipValidation: true,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissionsForForm}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAMA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AAGtC,OAAO,eAAeC,oBAAoB;EAAEC;AAAc,CAAwB;EAChF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,WAAW;QACXC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE;MAC1B;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,MAAMS,gBAAA,GAAmBL,WAAA,GAAcI,QAAA,CAAS,EAAEH,MAAA;EAClD,MAAM;IAAEK,IAAA,EAAMC;EAAW,CAAE,GAAGF,gBAAA;EAC9B,MAAMG,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMhB,eAAA,CAAgB;IACjCiB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCd,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBD,GAAA;IACAK,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA;EACA,MAAMS,cAAA,GAAiB,MAAMpB,iBAAA,CAAkB;IAC7CkB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCZ,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBI,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA,MAAMU,UAAA,GAAyCC,MAAA,CAAOC,WAAW,CAC/DV,gBAAA,CAAiBW,MAAM,CACpBC,MAAM,CAAEC,CAAA,IAAwC,UAAUA,CAAA,IAAK,OAAOA,CAAA,CAAEC,IAAI,KAAK,UACjFC,GAAG,CAAEF,CAAA,IAAM,CAACA,CAAA,CAAEC,IAAI,EAAE;IAAEE,MAAA,EAAQ;IAAMC,IAAA,EAAM;IAAMC,MAAA,EAAQ;EAAK,EAAE;EAGpE;EACA,MAAMC,qBAAA,GAAsD;IAC1DH,MAAA,EAAQ;IACRI,MAAA,EAAQ;IACRT,MAAA,EAAQH,UAAA;IACRS,IAAA,EAAM;IACNI,YAAA,EAAc;IACdH,MAAA,EAAQ;EACV;EAEA;EACA,MAAM;IAAEI,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAMtC,cAAA,CAAe;IAChDoB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCF,IAAA;IACAoB,cAAA,EAAgBL,qBAAA;IAChBZ,cAAA;IACAf,MAAA,EAAQA,MAAA,EAAQiC,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBlC,GAAA;IACAmC,UAAA,EAAY5B,gBAAA,CAAiBM,IAAI;IACjCuB,oBAAA,EAAsB;IACtBC,cAAA,EAAgB;EAClB;EAEA,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;gBAAIxC,GAAA,CAAIyC,CAAC,CAAC;qBACXD,IAAA,CAAC;gBAAGxC,GAAA,CAAIyC,CAAC,CAAC;qBACVD,IAAA,CAAC5C,qBAAA;MACCmC,cAAA,EAAgBL,qBAAA;MAChBZ,cAAA,EAAgBA,cAAA;MAChB4B,YAAA,EAAcZ,SAAA;MACdpB,iBAAA,EAAmBA,iBAAA;MACnBJ,QAAA,EAAUA;;;AAIlB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,WAAW,4DAMrB,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,WAAW,4DAMrB,IAAI,KAAG,MAgFT,CAAA"}
|
|
@@ -14,10 +14,21 @@ export const getIsLocked = async ({
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
const where = {};
|
|
17
|
+
const lockDurationDefault = 300 // Default 5 minutes in seconds
|
|
18
|
+
;
|
|
19
|
+
const lockDuration = typeof entityConfig.lockDocuments === 'object' ? entityConfig.lockDocuments.duration : lockDurationDefault;
|
|
20
|
+
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
21
|
+
const now = new Date().getTime();
|
|
17
22
|
if (globalConfig) {
|
|
18
|
-
where.
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
where.and = [{
|
|
24
|
+
globalSlug: {
|
|
25
|
+
equals: globalConfig.slug
|
|
26
|
+
}
|
|
27
|
+
}, {
|
|
28
|
+
updatedAt: {
|
|
29
|
+
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
30
|
+
}
|
|
31
|
+
}];
|
|
21
32
|
} else {
|
|
22
33
|
where.and = [{
|
|
23
34
|
'document.value': {
|
|
@@ -27,6 +38,10 @@ export const getIsLocked = async ({
|
|
|
27
38
|
'document.relationTo': {
|
|
28
39
|
equals: collectionConfig.slug
|
|
29
40
|
}
|
|
41
|
+
}, {
|
|
42
|
+
updatedAt: {
|
|
43
|
+
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
44
|
+
}
|
|
30
45
|
}];
|
|
31
46
|
}
|
|
32
47
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsLocked.js","names":["sanitizeID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","isLocked","where","globalSlug","equals","slug","
|
|
1
|
+
{"version":3,"file":"getIsLocked.js","names":["sanitizeID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","isLocked","where","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","and","globalSlug","equals","slug","updatedAt","greater_than","docs","payload","find","collection","depth","overrideAccess","length","newEditor","user","value","lastUpdateTime","currentEditor"],"sources":["../../../src/views/Document/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n Where,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: TypedUser\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof entityConfig.lockDocuments === 'object'\n ? entityConfig.lockDocuments.duration\n : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const now = new Date().getTime()\n\n if (globalConfig) {\n where.and = [\n {\n globalSlug: {\n equals: globalConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n } else {\n where.and = [\n {\n 'document.value': {\n equals: sanitizeID(id),\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const newEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (newEditor?.id !== req.user.id) {\n return {\n currentEditor: newEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"mappings":"AAQA,SAASA,UAAU,QAAQ;AAgB3B,OAAO,MAAMC,WAAA,GAAc,MAAAA,CAAO;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,YAAY;EACZC,SAAS;EACTC;AAAG,CACE;EACL,MAAMC,YAAA,GAAeJ,gBAAA,IAAoBC,YAAA;EAEzC,MAAMI,uBAAA,GACJD,YAAA,EAAcE,aAAA,KAAkBC,SAAA,GAAYH,YAAA,EAAcE,aAAA,GAAgB;EAE5E,IAAI,CAACD,uBAAA,IAA2B,CAACH,SAAA,EAAW;IAC1C,OAAO;MACLM,QAAA,EAAU;IACZ;EACF;EAEA,MAAMC,KAAA,GAAe,CAAC;EAEtB,MAAMC,mBAAA,GAAsB,IAAI;EAAA;EAChC,MAAMC,YAAA,GACJ,OAAOP,YAAA,CAAaE,aAAa,KAAK,WAClCF,YAAA,CAAaE,aAAa,CAACM,QAAQ,GACnCF,mBAAA;EACN,MAAMG,0BAAA,GAA6BF,YAAA,GAAe;EAElD,MAAMG,GAAA,GAAM,IAAIC,IAAA,GAAOC,OAAO;EAE9B,IAAIf,YAAA,EAAc;IAChBQ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACEC,UAAA,EAAY;QACVC,MAAA,EAAQlB,YAAA,CAAamB;MACvB;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH,OAAO;IACLJ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACE,kBAAkB;QAChBE,MAAA,EAAQtB,UAAA,CAAWE,EAAA;MACrB;IACF,GACA;MACE,uBAAuB;QACrBoB,MAAA,EAAQnB,gBAAA,CAAiBoB;MAC3B;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH;EAEA,MAAM;IAAEU;EAAI,CAAE,GAAG,MAAMpB,GAAA,CAAIqB,OAAO,CAACC,IAAI,CAAC;IACtCC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,cAAA,EAAgB;IAChBzB,GAAA;IACAM;EACF;EAEA,IAAIc,IAAA,CAAKM,MAAM,GAAG,GAAG;IACnB,MAAMC,SAAA,GAAYP,IAAI,CAAC,EAAE,CAACQ,IAAI,EAAEC,KAAA;IAChC,MAAMC,cAAA,GAAiB,IAAIlB,IAAA,CAAKQ,IAAI,CAAC,EAAE,CAACF,SAAS,EAAEL,OAAO;IAE1D,IAAIc,SAAA,EAAW/B,EAAA,KAAOI,GAAA,CAAI4B,IAAI,CAAChC,EAAE,EAAE;MACjC,OAAO;QACLmC,aAAA,EAAeJ,SAAA;QACftB,QAAA,EAAU;QACVyB;MACF;IACF;EACF;EAEA,OAAO;IACLzB,QAAA,EAAU;EACZ;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,EAIV,SAAS,EAET,eAAe,EAEhB,MAAM,SAAS,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,EAIV,SAAS,EAET,eAAe,EAEhB,MAAM,SAAS,CAAA;AAQhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,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,+BA2RA,CAAA"}
|
package/dist/views/Root/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PageConfigProvider } from '@payloadcms/ui';
|
|
2
3
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
4
|
import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
|
|
4
5
|
import { notFound, redirect } from 'next/navigation.js';
|
|
@@ -15,7 +16,6 @@ import { isCustomAdminView } from '../../utilities/isCustomAdminView.js';
|
|
|
15
16
|
import { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js';
|
|
16
17
|
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
17
18
|
import { getRouteData } from './getRouteData.js';
|
|
18
|
-
import { SyncClientConfig } from './SyncClientConfig.js';
|
|
19
19
|
export const RootPage = async ({
|
|
20
20
|
config: configPromise,
|
|
21
21
|
importMap,
|
|
@@ -250,10 +250,9 @@ export const RootPage = async ({
|
|
|
250
250
|
viewActions
|
|
251
251
|
}
|
|
252
252
|
});
|
|
253
|
-
return /*#__PURE__*/_jsxs(
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}), !templateType && /*#__PURE__*/_jsx(React.Fragment, {
|
|
253
|
+
return /*#__PURE__*/_jsxs(PageConfigProvider, {
|
|
254
|
+
config: clientConfig,
|
|
255
|
+
children: [!templateType && /*#__PURE__*/_jsx(React.Fragment, {
|
|
257
256
|
children: RenderedView
|
|
258
257
|
}), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
|
|
259
258
|
className: templateClassName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","SyncClientConfig","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","_jsxs","Fragment","_jsx","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\nimport { SyncClientConfig } from './SyncClientConfig.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('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.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 if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.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 locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n <SyncClientConfig clientConfig={clientConfig} />\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\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: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["PageConfigProvider","RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","_jsxs","_jsx","Fragment","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { PageConfigProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.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('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.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 if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.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 locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\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: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":";AAYA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,YAAY,QAAQ;AAS7B,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMN,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,eAAA,EAAiBC;MAAqB,CAAE;MAClDC,IAAA,EAAMC;IAAQ,CACf;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGb,MAAA;EAEJ,MAAMG,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMU,YAAA,GAAe5B,cAAA,CAAe;IAClC2B,UAAA;IACAE,IAAA,EAAMC,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAI,IAAIf,MAAA,CAAOe,QAAQ,CAACC,IAAI,CAAC,MAAM,GAAG;EAC3E;EAEA,MAAMD,QAAA,GAAWF,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAIf,MAAA,CAAOe,QAAQ,GAAG,EAAE;EACtE,MAAME,iBAAA,GAAoBF,QAAQ,CAAC,EAAE,KAAK;EAC1C,MAAMG,aAAA,GAAgBH,QAAQ,CAAC,EAAE,KAAK;EACtC,IAAII,gBAAA,GAA8CC,SAAA;EAClD,IAAIC,YAAA,GAAsCD,SAAA;EAE1C,MAAMlB,YAAA,GAAe,MAAMC,mBAAA;EAE3B;EACA,IAAIc,iBAAA,EAAmB;IACrB,IAAIF,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAG7B,oBAAA,CAAqB;QACvCG,MAAA;QACAc,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZzC,QAAA,CAAS4B,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfI,gBAAA,GAAmBtB,MAAA,CAAO2B,WAAW,CAACC,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IAC/E;EACF;EAEA;EACA,IAAIG,aAAA,EAAe;IACjB,IAAIH,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAG7B,oBAAA,CAAqB;QACvCG,MAAA;QACAc,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZzC,QAAA,CAAS4B,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfM,YAAA,GAAexB,MAAA,CAAO8B,OAAO,CAACF,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,IAAIE,iBAAC,IAAqB,CAACE,gBAAA,IAAsBD,aAAA,IAAiB,CAACG,YAAA,EAAe;IAChF,OAAOxC,QAAA;EACT;EAEA,MAAM+C,WAAA,GAAc,GAAG5C,EAAA,CAAG6C,SAAS,CAAC3B,YAAA,IAAgB,CAAC,GAAG;IAAE4B,cAAA,EAAgB;EAAK,IAAI;EACnF,MAAM;IACJC,OAAO;IACPC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC;IAAO;EAAE,CACjB,GAAG,MAAM5C,OAAA,CAAQ;IAChBO,aAAA,EAAeD,MAAA;IACfE,SAAA;IACAqC,GAAA,EAAK;IACLC,SAAA,EAAW;MACTC,cAAA,EAAgB;MAChBJ,GAAA,EAAK;QACHK,KAAA,EAAOvD,EAAA,CAAGwD,KAAK,CAACZ,WAAA,EAAa;UAC3Ba,KAAA,EAAO;UACPC,iBAAA,EAAmB;QACrB;MACF;MACAC,SAAA,EAAW,GAAGhC,YAAA,GAAeT,YAAA,GAAe0B,WAAA,GAAc;IAC5D;EACF;EAEA,IACE,CAACK,WAAA,CAAYW,cAAc,IAC3B,CAACnD,kBAAA,CAAmB;IAAEiB,UAAA;IAAYb,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;IAAEgD,KAAA,EAAOlC;EAAa,MAC9E,CAACnB,iBAAA,CAAkB;IAAEkB,UAAA;IAAYb,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;IAAEgD,KAAA,EAAOlC;EAAa,IAC7E;IACA7B,QAAA,CACEQ,kBAAA,CAAmB;MACjBO,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;MACtBgD,KAAA,EAAOlC,YAAA;MACPT,YAAA;MACAM,IAAA,EAAM0B,GAAA,CAAI1B;IACZ;EAEJ;EAEA,IAAIsC,qBAAA,GAA+C1B,SAAA;EAEnD,IAAID,gBAAA,IAAoBJ,QAAA,CAASO,MAAM,KAAK,GAAG;IAC7C,IAAIzB,MAAA,CAAOkD,OAAO,IAAI5B,gBAAA,CAAiB4B,OAAO,IAAIhC,QAAQ,CAAC,EAAE,KAAKlB,MAAA,CAAOkD,OAAO,CAACrB,IAAI,EAAE;MACrF,MAAMtC,cAAA,CACJ,cAAc+B,gBAAA,CAAiBO,IAAI,EAAE,EACrCQ,GAAA,CAAIC,OAAO,EACXD,GAAA,CAAI1B,IAAI,CAACwC,EAAE,EACXnD,MAAA,CAAOO,KAAK,CAACI,IAAI,EACjByC,IAAI,CAAEC,GAAA;QACN,IAAIA,GAAA,IAAOA,GAAA,CAAIC,KAAK,EAAE;UACpBL,qBAAA,GAAwBI,GAAA,CAAIC,KAAK;QACnC;MACF;IACF;EACF;EAEA,MAAM;IACJC,mBAAmB;IACnBC,WAAW;IACXC,mBAAmB;IACnBC,WAAW;IACXC,iBAAiB;IACjBC,YAAY;IACZC,WAAW;IACXC;EAAQ,CACT,GAAGhE,YAAA,CAAa;IACfe,UAAA;IACAS,gBAAA;IACA2B,qBAAA;IACAnC,YAAA;IACAU,YAAA;IACAc,OAAA;IACAjC,YAAA;IACAa;EACF;EAEAmB,GAAA,CAAIqB,WAAW,GAAGA,WAAA;EAElB,MAAMK,SAAA,GACJ1B,GAAA,CAAI1B,IAAI,KACP,MAAM0B,GAAA,CAAIC,OAAO,CAAC0B,EAAE,CAClBC,OAAO,CAAC;IACPC,UAAA,EAAYtD,QAAA;IACZyB;EACF,IACEe,IAAA,CAAMe,GAAA,IAAQ,CAAC,CAACA,GAAA;EAEtB;;;;EAIA,IAAI,CAACX,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,EAAkB;IAC7D,IAAIhC,GAAA,EAAK1B,IAAA,EAAM;MACb3B,QAAA;IACF;IAEA,IAAI+E,SAAA,EAAW;MACb9E,QAAA,CAAS4B,UAAA;IACX;EACF;EAEA,MAAMyD,oBAAA,GAAuBpF,cAAA,CAAe;IAAE2B,UAAA;IAAYE,IAAA,EAAML;EAAsB;EAEtF,MAAM6D,eAAA,GAAkBvE,MAAA,CAAO2B,WAAW,CAACC,IAAI,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKA,IAAA,KAASjB,QAAA;EACvE,MAAM4D,oBAAA,GAAuBD,eAAA,EAAiBE,IAAA,EAAMD,oBAAA;EAEpD,IAAIA,oBAAA,IAAwB1D,YAAA,KAAiBwD,oBAAA,EAAsB;IACjErF,QAAA,CAAS4B,UAAA;EACX;EAEA,IAAI,CAACkD,SAAA,IAAajD,YAAA,KAAiBwD,oBAAA,IAAwB,CAACE,oBAAA,EAAsB;IAChFvF,QAAA,CAASqF,oBAAA;EACX;EAEA,IAAIP,SAAA,IAAajD,YAAA,KAAiBwD,oBAAA,EAAsB;IACtDrF,QAAA,CAAS4B,UAAA;EACX;EAEA,IAAI,CAAC2C,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,IAAoB,CAACN,SAAA,EAAW;IAC3E9E,QAAA,CAAS4B,UAAA;EACX;EAEA,MAAM6D,YAAA,GAAe3F,eAAA,CAAgB;IACnCiB,MAAA;IACA2E,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;IACdzE,SAAA;IACAS,IAAA,EAAMmD,QAAA,KAAa,oBAAoB,OAAOzB,GAAA,CAAI1B;EACpD;EAEA,MAAMiE,eAAA,GAAkBpF,kBAAA,CAAmB;IAAE6C;EAAI;EAEjD,MAAMwC,QAAA,GAAWnB,WAAA,CAAYmB,QAAQ;EAErC,MAAMC,YAAA,GAAehG,qBAAA,CAAsB;IACzCiG,WAAA,EAAa;MACXxB,mBAAA;MACAmB,YAAA;MACAjB,mBAAA;MACAK;IACF;IACAM,SAAA,EAAWZ,WAAA,CAAYa,gBAAgB;IACvCW,QAAA,EAAUxB,WAAA,CAAYY,SAAS;IAC/BlE,SAAA;IACA+E,WAAA,EAAa;MACXP,YAAA;MACApD,gBAAA;MACA4D,KAAA,EAAOxB,WAAA,CAAYP,EAAE;MACrB0B,QAAA;MACArD,YAAA;MACAmD,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;MACdzE,SAAA;MACAiF,cAAA,EAAgB;QACd7D,gBAAA;QACAY,OAAA;QACAgD,KAAA,EAAOxB,WAAA,CAAYP,EAAE;QACrB3B,YAAA;QACA4D,eAAA,EAAiBC,MAAA,CAAOC,OAAO,CAACjD,GAAA,CAAIC,OAAO,CAACtC,MAAM,CAAC2E,IAAI,CAACY,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACtF,CAACC,GAAA,EAAK,CAACC,QAAA,EAAUC,cAAA,CAAe;UAC9B,IAAIN,MAAA,CAAOO,IAAI,CAACvD,GAAA,CAAIC,OAAO,CAACtC,MAAM,CAAC2E,IAAI,CAACY,kBAAkB,EAAEM,QAAQ,CAACH,QAAA,GAAW;YAC9ED,GAAA,CAAIK,IAAI,CAAC;cACPC,KAAA,EAAOJ,cAAA,CAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;cACvD5C,KAAA,EAAOoC;YACT;UACF;UAEA,OAAOD,GAAA;QACT,GACA,EAAE;QAEJtD,MAAA;QACAC,WAAA;QACAC,GAAA;QACA2D,YAAA,EAAc3D,GAAA,CAAIsC,IAAI,CAACqB,YAAY;QACnCpB;MACF;MACAzE,MAAA;MACAmC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBjC,YAAA;MACAwD;IACF;EACF;EAEA,oBACEsC,KAAA,CAACtH,kBAAA;IAAmBmB,MAAA,EAAQ0E,YAAA;eACzB,CAACd,YAAA,iBAAgBwC,IAAA,CAAChH,KAAA,CAAMiH,QAAQ;gBAAEvB;QAClClB,YAAA,KAAiB,0BAChBwC,IAAA,CAAC9G,eAAA;MAAgBgH,SAAA,EAAW3C,iBAAA;gBAAoBmB;QAEjDlB,YAAA,KAAiB,0BAChBwC,IAAA,CAAC/G,eAAA;MACCkH,cAAA,EAAgBjF,gBAAA,EAAkBO,IAAA;MAClCqD,KAAA,EAAOxB,WAAA,CAAYP,EAAE;MACrBM,mBAAA,EAAqBA,mBAAA;MACrB+C,UAAA,EAAYhF,YAAA,EAAcK,IAAA;MAC1B8C,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;MACdxC,MAAA,EAAQA,MAAA;MACRhC,MAAA,EAAQA,MAAA;MACRmC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBF,WAAA,EAAaA,WAAA;MACbC,GAAA,EAAKA,GAAA;MACLhC,YAAA,EAAcA,YAAA;MACdM,IAAA,EAAM0B,GAAA,CAAI1B,IAAI;MACdkD,WAAA,EAAaA,WAAA;MACbC,QAAA,EAAUA,QAAA;MACVc,eAAA,EAAiB;QACf;QACA;QACAjD,WAAA,EAAaiD,eAAA,EAAiBjD,WAAA;QAC9BG,OAAA,EAAS8C,eAAA,EAAiB9C;MAC5B;gBAECgD;;;AAKX","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.56.0-canary.
|
|
3
|
+
"version": "3.56.0-canary.4",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -87,9 +87,9 @@
|
|
|
87
87
|
"qs-esm": "7.0.2",
|
|
88
88
|
"sass": "1.77.4",
|
|
89
89
|
"uuid": "10.0.0",
|
|
90
|
-
"@payloadcms/translations": "3.56.0-canary.
|
|
91
|
-
"@payloadcms/ui": "3.56.0-canary.
|
|
92
|
-
"@payloadcms/graphql": "3.56.0-canary.
|
|
90
|
+
"@payloadcms/translations": "3.56.0-canary.4",
|
|
91
|
+
"@payloadcms/ui": "3.56.0-canary.4",
|
|
92
|
+
"@payloadcms/graphql": "3.56.0-canary.4"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@babel/cli": "7.27.2",
|
|
@@ -106,13 +106,13 @@
|
|
|
106
106
|
"esbuild": "0.25.5",
|
|
107
107
|
"esbuild-sass-plugin": "3.3.1",
|
|
108
108
|
"swc-plugin-transform-remove-imports": "4.0.4",
|
|
109
|
-
"
|
|
110
|
-
"
|
|
109
|
+
"payload": "3.56.0-canary.4",
|
|
110
|
+
"@payloadcms/eslint-config": "3.28.0"
|
|
111
111
|
},
|
|
112
112
|
"peerDependencies": {
|
|
113
113
|
"graphql": "^16.8.1",
|
|
114
114
|
"next": "^15.2.3",
|
|
115
|
-
"payload": "3.56.0-canary.
|
|
115
|
+
"payload": "3.56.0-canary.4"
|
|
116
116
|
},
|
|
117
117
|
"engines": {
|
|
118
118
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ClientConfig } from 'payload';
|
|
2
|
-
/**
|
|
3
|
-
* This component is required in order for the _page_ to be able to refresh the client config,
|
|
4
|
-
* which may have been cached on the _layout_ level, where the ConfigProvider is managed.
|
|
5
|
-
* Since the layout does not re-render on page navigation / authentication, we need to manually
|
|
6
|
-
* update the config, as the user may have been authenticated in the process, which affects the client config.
|
|
7
|
-
*/
|
|
8
|
-
export declare const SyncClientConfig: ({ clientConfig }: {
|
|
9
|
-
clientConfig: ClientConfig;
|
|
10
|
-
}) => any;
|
|
11
|
-
//# sourceMappingURL=SyncClientConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyncClientConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/SyncClientConfig.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,qBAAsB;IAAE,YAAY,EAAE,YAAY,CAAA;CAAE,QAQhF,CAAA"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { useConfig } from '@payloadcms/ui';
|
|
5
|
-
import { useEffect } from 'react';
|
|
6
|
-
/**
|
|
7
|
-
* This component is required in order for the _page_ to be able to refresh the client config,
|
|
8
|
-
* which may have been cached on the _layout_ level, where the ConfigProvider is managed.
|
|
9
|
-
* Since the layout does not re-render on page navigation / authentication, we need to manually
|
|
10
|
-
* update the config, as the user may have been authenticated in the process, which affects the client config.
|
|
11
|
-
*/
|
|
12
|
-
export const SyncClientConfig = t0 => {
|
|
13
|
-
const $ = _c(4);
|
|
14
|
-
const {
|
|
15
|
-
clientConfig
|
|
16
|
-
} = t0;
|
|
17
|
-
const {
|
|
18
|
-
setConfig
|
|
19
|
-
} = useConfig();
|
|
20
|
-
let t1;
|
|
21
|
-
let t2;
|
|
22
|
-
if ($[0] !== clientConfig || $[1] !== setConfig) {
|
|
23
|
-
t1 = () => {
|
|
24
|
-
setConfig(clientConfig);
|
|
25
|
-
};
|
|
26
|
-
t2 = [clientConfig, setConfig];
|
|
27
|
-
$[0] = clientConfig;
|
|
28
|
-
$[1] = setConfig;
|
|
29
|
-
$[2] = t1;
|
|
30
|
-
$[3] = t2;
|
|
31
|
-
} else {
|
|
32
|
-
t1 = $[2];
|
|
33
|
-
t2 = $[3];
|
|
34
|
-
}
|
|
35
|
-
useEffect(t1, t2);
|
|
36
|
-
return null;
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=SyncClientConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SyncClientConfig.js","names":["c","_c","useConfig","useEffect","SyncClientConfig","t0","$","clientConfig","setConfig","t1","t2"],"sources":["../../../src/views/Root/SyncClientConfig.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport { useConfig } from '@payloadcms/ui'\nimport { useEffect } from 'react'\n\n/**\n * This component is required in order for the _page_ to be able to refresh the client config,\n * which may have been cached on the _layout_ level, where the ConfigProvider is managed.\n * Since the layout does not re-render on page navigation / authentication, we need to manually\n * update the config, as the user may have been authenticated in the process, which affects the client config.\n */\nexport const SyncClientConfig = ({ clientConfig }: { clientConfig: ClientConfig }) => {\n const { setConfig } = useConfig()\n\n useEffect(() => {\n setConfig(clientConfig)\n }, [clientConfig, setConfig])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAE1B;;;;;;AAMA,OAAO,MAAMC,gBAAA,GAAmBC,EAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAAC;IAAAM;EAAA,IAAAF,EAAgD;EAC/E;IAAAG;EAAA,IAAsBN,SAAA;EAAA,IAAAO,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAE,SAAA;IAEZC,EAAA,GAAAA,CAAA;MACRD,SAAA,CAAUD,YAAA;IAAA;IACTG,EAAA,IAACH,YAAA,EAAcC,SAAA;IAAUF,CAAA,MAAAC,YAAA;IAAAD,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAD,EAAA,GAAAH,CAAA;IAAAI,EAAA,GAAAJ,CAAA;EAAA;EAF5BH,SAAA,CAAUM,EAEV,EAAGC,EAAyB;EAAA;AAAA,CAG9B","ignoreList":[]}
|