@payloadcms/next 3.0.0-beta.83 → 3.0.0-beta.85

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.
Files changed (45) hide show
  1. package/dist/prod/styles.css +1 -1
  2. package/dist/utilities/meta.js +4 -1
  3. package/dist/utilities/meta.js.map +1 -1
  4. package/dist/views/API/meta.d.ts.map +1 -1
  5. package/dist/views/API/meta.js +10 -6
  6. package/dist/views/API/meta.js.map +1 -1
  7. package/dist/views/Document/getCustomViewByRoute.d.ts +4 -1
  8. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  9. package/dist/views/Document/getCustomViewByRoute.js +16 -6
  10. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  11. package/dist/views/Document/getMetaBySegment.d.ts +2 -1
  12. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  13. package/dist/views/Document/getMetaBySegment.js +73 -28
  14. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  15. package/dist/views/Document/getViewsFromConfig.d.ts +9 -3
  16. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  17. package/dist/views/Document/getViewsFromConfig.js +91 -47
  18. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  19. package/dist/views/Edit/meta.d.ts.map +1 -1
  20. package/dist/views/Edit/meta.js +30 -19
  21. package/dist/views/Edit/meta.js.map +1 -1
  22. package/dist/views/LivePreview/meta.d.ts.map +1 -1
  23. package/dist/views/LivePreview/meta.js +2 -1
  24. package/dist/views/LivePreview/meta.js.map +1 -1
  25. package/dist/views/Root/generateCustomViewMetadata.d.ts +11 -0
  26. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  27. package/dist/views/Root/generateCustomViewMetadata.js +23 -0
  28. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  29. package/dist/views/Root/getCustomViewByRoute.d.ts +6 -2
  30. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  31. package/dist/views/Root/getCustomViewByRoute.js +20 -5
  32. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  33. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  34. package/dist/views/Root/getViewFromConfig.js +7 -7
  35. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  36. package/dist/views/Root/meta.d.ts.map +1 -1
  37. package/dist/views/Root/meta.js +19 -2
  38. package/dist/views/Root/meta.js.map +1 -1
  39. package/dist/views/Version/meta.d.ts.map +1 -1
  40. package/dist/views/Version/meta.js +24 -19
  41. package/dist/views/Version/meta.js.map +1 -1
  42. package/dist/views/Versions/meta.d.ts.map +1 -1
  43. package/dist/views/Versions/meta.js +24 -19
  44. package/dist/views/Versions/meta.js.map +1 -1
  45. package/package.json +6 -6
@@ -58,7 +58,7 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, importMap,
58
58
  {
59
59
  // users can override the default routes via `admin.routes` config
60
60
  // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}
61
- let viewToRender;
61
+ let viewKey;
62
62
  if (config.admin.routes) {
63
63
  const matchedRoute = Object.entries(config.admin.routes).find(([, route])=>{
64
64
  return isPathMatchingRoute({
@@ -71,10 +71,10 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, importMap,
71
71
  });
72
72
  });
73
73
  if (matchedRoute) {
74
- viewToRender = matchedRoute[0];
74
+ viewKey = matchedRoute[0];
75
75
  }
76
76
  }
77
- if (oneSegmentViews[viewToRender]) {
77
+ if (oneSegmentViews[viewKey]) {
78
78
  // --> /account
79
79
  // --> /create-first-user
80
80
  // --> /forgot
@@ -83,11 +83,11 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, importMap,
83
83
  // --> /logout-inactivity
84
84
  // --> /unauthorized
85
85
  ViewToRender = {
86
- Component: oneSegmentViews[viewToRender]
86
+ Component: oneSegmentViews[viewKey]
87
87
  };
88
- templateClassName = baseClasses[viewToRender];
88
+ templateClassName = baseClasses[viewKey];
89
89
  templateType = 'minimal';
90
- if (viewToRender === 'account') {
90
+ if (viewKey === 'account') {
91
91
  initPageOptions.redirectUnauthenticatedUser = true;
92
92
  templateType = 'default';
93
93
  }
@@ -163,7 +163,7 @@ export const getViewFromConfig = ({ adminRoute, config, currentRoute, importMap,
163
163
  ViewToRender = getCustomViewByRoute({
164
164
  config,
165
165
  currentRoute
166
- });
166
+ })?.view;
167
167
  }
168
168
  return {
169
169
  DefaultView: ViewToRender,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Root/getViewFromConfig.tsx"],"sourcesContent":["import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { ForgotPasswordView, forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { LoginView, loginBaseClass } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewToRender: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewToRender = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewToRender]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewToRender],\n }\n templateClassName = baseClasses[viewToRender]\n templateType = 'minimal'\n\n if (viewToRender === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = {\n Component: ListView,\n }\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = {\n Component: DocumentView,\n }\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = {\n Component: DocumentView,\n }\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n ViewToRender = {\n Component: DocumentView,\n }\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","ForgotPasswordView","forgotPasswordBaseClass","ListView","LoginView","loginBaseClass","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","Component","redirectUnauthenticatedUser","viewToRender","admin","routes","matchedRoute","Object","entries","find","exact","path","DefaultView"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { ForgotPasswordView, forgotPasswordBaseClass } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { LoginView, loginBaseClass } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","ForgotPasswordView","forgotPasswordBaseClass","ListView","LoginView","loginBaseClass","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","Component","redirectUnauthenticatedUser","viewKey","admin","routes","matchedRoute","Object","entries","find","exact","path","view","DefaultView"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Root/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAwB9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,oBAAoB,sCAA6C,IAAI,sBAqGjF,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Root/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA0B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,oBAAoB,sCAA6C,IAAI,sBAqHjF,CAAA"}
@@ -10,6 +10,8 @@ import { generateNotFoundMeta } from '../NotFound/meta.js';
10
10
  import { generateResetPasswordMetadata } from '../ResetPassword/index.js';
11
11
  import { generateUnauthorizedMetadata } from '../Unauthorized/index.js';
12
12
  import { generateVerifyMetadata } from '../Verify/index.js';
13
+ import { generateCustomViewMetadata } from './generateCustomViewMetadata.js';
14
+ import { getCustomViewByRoute } from './getCustomViewByRoute.js';
13
15
  const oneSegmentMeta = {
14
16
  'create-first-user': generateCreateFirstUserMetadata,
15
17
  forgot: generateForgotPasswordMetadata,
@@ -21,6 +23,7 @@ const oneSegmentMeta = {
21
23
  export const generatePageMetadata = async ({ config: configPromise, params })=>{
22
24
  const config = await configPromise;
23
25
  const segments = Array.isArray(params.segments) ? params.segments : [];
26
+ const currentRoute = `/${segments.join('/')}`;
24
27
  const [segmentOne, segmentTwo] = segments;
25
28
  const isGlobal = segmentOne === 'globals';
26
29
  const isCollection = segmentOne === 'collections';
@@ -129,10 +132,24 @@ export const generatePageMetadata = async ({ config: configPromise, params })=>{
129
132
  }
130
133
  }
131
134
  if (!meta) {
132
- meta = await generateNotFoundMeta({
135
+ const { viewConfig, viewKey } = getCustomViewByRoute({
133
136
  config,
134
- i18n
137
+ currentRoute
135
138
  });
139
+ if (viewKey) {
140
+ // Custom Views
141
+ // --> /:path
142
+ meta = await generateCustomViewMetadata({
143
+ config,
144
+ i18n,
145
+ viewConfig
146
+ });
147
+ } else {
148
+ meta = await generateNotFoundMeta({
149
+ config,
150
+ i18n
151
+ });
152
+ }
136
153
  }
137
154
  return meta;
138
155
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: {\n [key: string]: string | string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}\n\nexport const generatePageMetadata = async ({ config: configPromise, params }: Args) => {\n const config = await configPromise\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n\n return meta\n}\n"],"names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","segments","Array","isArray","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: {\n [key: string]: string | string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}\n\nexport const generatePageMetadata = async ({ config: configPromise, params }: Args) => {\n const config = await configPromise\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n }\n\n return meta\n}\n"],"names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global","viewConfig","viewKey"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Version/meta.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAI/E,eAAO,MAAM,gBAAgB,EAAE,wBAyC9B,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Version/meta.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAI/E,eAAO,MAAM,gBAAgB,EAAE,wBAgD9B,CAAA"}
@@ -3,9 +3,9 @@ import { formatDate } from '@payloadcms/ui/shared';
3
3
  import { meta } from '../../utilities/meta.js';
4
4
  export const generateMetadata = async ({ collectionConfig, config, globalConfig, i18n })=>{
5
5
  const { t } = i18n;
6
- let title = '';
7
- let description = '';
8
- const keywords = '';
6
+ let metaToUse = {
7
+ ...config.admin.meta || {}
8
+ };
9
9
  const doc = {} // TODO: figure this out
10
10
  ;
11
11
  const formattedCreatedAt = doc?.createdAt ? formatDate({
@@ -17,27 +17,32 @@ export const generateMetadata = async ({ collectionConfig, config, globalConfig,
17
17
  const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id';
18
18
  const entityLabel = getTranslation(collectionConfig.labels.singular, i18n);
19
19
  const titleFromData = doc?.[useAsTitle];
20
- title = `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`;
21
- description = t('version:viewingVersion', {
22
- documentTitle: doc[useAsTitle],
23
- entityLabel
24
- });
20
+ metaToUse = {
21
+ ...config.admin.meta || {},
22
+ description: t('version:viewingVersion', {
23
+ documentTitle: doc[useAsTitle],
24
+ entityLabel
25
+ }),
26
+ title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,
27
+ ...collectionConfig?.admin?.meta || {},
28
+ ...collectionConfig?.admin?.components?.views?.edit?.version?.meta || {}
29
+ };
25
30
  }
26
31
  if (globalConfig) {
27
32
  const entityLabel = getTranslation(globalConfig.label, i18n);
28
- title = `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${entityLabel}`;
29
- description = t('version:viewingVersionGlobal', {
30
- entityLabel
31
- });
33
+ metaToUse = {
34
+ ...config.admin.meta || {},
35
+ description: t('version:viewingVersionGlobal', {
36
+ entityLabel
37
+ }),
38
+ title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${entityLabel}`,
39
+ ...globalConfig?.admin?.meta || {},
40
+ ...globalConfig?.admin?.components?.views?.edit?.version?.meta || {}
41
+ };
32
42
  }
33
43
  return meta({
34
- ...config.admin.meta || {},
35
- description,
36
- keywords,
37
- serverURL: config.serverURL,
38
- title,
39
- ...collectionConfig?.admin.meta || {},
40
- ...globalConfig?.admin.meta || {}
44
+ ...metaToUse,
45
+ serverURL: config.serverURL
41
46
  });
42
47
  };
43
48
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Version/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatDate } from '@payloadcms/ui/shared'\n\nimport type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<Metadata> => {\n const { t } = i18n\n\n let title: string = ''\n let description: string = ''\n const keywords: string = ''\n\n const doc: any = {} // TODO: figure this out\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: config?.admin?.dateFormat })\n : ''\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const entityLabel = getTranslation(collectionConfig.labels.singular, i18n)\n const titleFromData = doc?.[useAsTitle]\n title = `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`\n description = t('version:viewingVersion', { documentTitle: doc[useAsTitle], entityLabel })\n }\n\n if (globalConfig) {\n const entityLabel = getTranslation(globalConfig.label, i18n)\n title = `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${entityLabel}`\n description = t('version:viewingVersionGlobal', { entityLabel })\n }\n\n return meta({\n ...(config.admin.meta || {}),\n description,\n keywords,\n serverURL: config.serverURL,\n title,\n ...(collectionConfig?.admin.meta || {}),\n ...(globalConfig?.admin.meta || {}),\n })\n}\n"],"names":["getTranslation","formatDate","meta","generateMetadata","collectionConfig","config","globalConfig","i18n","t","title","description","keywords","doc","formattedCreatedAt","createdAt","date","pattern","admin","dateFormat","useAsTitle","entityLabel","labels","singular","titleFromData","documentTitle","label","serverURL"],"mappings":"AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,UAAU,QAAQ,wBAAuB;AAIlD,SAASC,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,mBAA6C,OAAO,EAC/DC,gBAAgB,EAChBC,MAAM,EACNC,YAAY,EACZC,IAAI,EACL;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGD;IAEd,IAAIE,QAAgB;IACpB,IAAIC,cAAsB;IAC1B,MAAMC,WAAmB;IAEzB,MAAMC,MAAW,CAAC,EAAE,wBAAwB;;IAE5C,MAAMC,qBAAqBD,KAAKE,YAC5Bb,WAAW;QAAEc,MAAMH,IAAIE,SAAS;QAAEP;QAAMS,SAASX,QAAQY,OAAOC;IAAW,KAC3E;IAEJ,IAAId,kBAAkB;QACpB,MAAMe,aAAaf,kBAAkBa,OAAOE,cAAc;QAC1D,MAAMC,cAAcpB,eAAeI,iBAAiBiB,MAAM,CAACC,QAAQ,EAAEf;QACrE,MAAMgB,gBAAgBX,KAAK,CAACO,WAAW;QACvCV,QAAQ,CAAC,EAAED,EAAE,mBAAmB,EAAEK,qBAAqB,CAAC,GAAG,EAAEA,mBAAmB,CAAC,GAAG,GAAG,EAAEU,gBAAgB,CAAC,GAAG,EAAEA,cAAc,CAAC,GAAG,GAAG,GAAG,EAAEH,YAAY,CAAC;QACtJV,cAAcF,EAAE,0BAA0B;YAAEgB,eAAeZ,GAAG,CAACO,WAAW;YAAEC;QAAY;IAC1F;IAEA,IAAId,cAAc;QAChB,MAAMc,cAAcpB,eAAeM,aAAamB,KAAK,EAAElB;QACvDE,QAAQ,CAAC,EAAED,EAAE,mBAAmB,EAAEK,qBAAqB,CAAC,GAAG,EAAEA,mBAAmB,CAAC,GAAG,GAAG,EAAEO,YAAY,CAAC;QACtGV,cAAcF,EAAE,gCAAgC;YAAEY;QAAY;IAChE;IAEA,OAAOlB,KAAK;QACV,GAAIG,OAAOY,KAAK,CAACf,IAAI,IAAI,CAAC,CAAC;QAC3BQ;QACAC;QACAe,WAAWrB,OAAOqB,SAAS;QAC3BjB;QACA,GAAIL,kBAAkBa,MAAMf,QAAQ,CAAC,CAAC;QACtC,GAAII,cAAcW,MAAMf,QAAQ,CAAC,CAAC;IACpC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Version/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { MetaConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatDate } from '@payloadcms/ui/shared'\n\nimport type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<Metadata> => {\n const { t } = i18n\n\n let metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n }\n\n const doc: any = {} // TODO: figure this out\n\n const formattedCreatedAt = doc?.createdAt\n ? formatDate({ date: doc.createdAt, i18n, pattern: config?.admin?.dateFormat })\n : ''\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const entityLabel = getTranslation(collectionConfig.labels.singular, i18n)\n const titleFromData = doc?.[useAsTitle]\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersion', { documentTitle: doc[useAsTitle], entityLabel }),\n title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,\n ...(collectionConfig?.admin?.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.version?.meta || {}),\n }\n }\n\n if (globalConfig) {\n const entityLabel = getTranslation(globalConfig.label, i18n)\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersionGlobal', { entityLabel }),\n title: `${t('version:version')}${formattedCreatedAt ? ` - ${formattedCreatedAt}` : ''}${entityLabel}`,\n ...(globalConfig?.admin?.meta || {}),\n ...(globalConfig?.admin?.components?.views?.edit?.version?.meta || {}),\n }\n }\n\n return meta({\n ...metaToUse,\n serverURL: config.serverURL,\n })\n}\n"],"names":["getTranslation","formatDate","meta","generateMetadata","collectionConfig","config","globalConfig","i18n","t","metaToUse","admin","doc","formattedCreatedAt","createdAt","date","pattern","dateFormat","useAsTitle","entityLabel","labels","singular","titleFromData","description","documentTitle","title","components","views","edit","version","label","serverURL"],"mappings":"AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,UAAU,QAAQ,wBAAuB;AAIlD,SAASC,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,mBAA6C,OAAO,EAC/DC,gBAAgB,EAChBC,MAAM,EACNC,YAAY,EACZC,IAAI,EACL;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGD;IAEd,IAAIE,YAAwB;QAC1B,GAAIJ,OAAOK,KAAK,CAACR,IAAI,IAAI,CAAC,CAAC;IAC7B;IAEA,MAAMS,MAAW,CAAC,EAAE,wBAAwB;;IAE5C,MAAMC,qBAAqBD,KAAKE,YAC5BZ,WAAW;QAAEa,MAAMH,IAAIE,SAAS;QAAEN;QAAMQ,SAASV,QAAQK,OAAOM;IAAW,KAC3E;IAEJ,IAAIZ,kBAAkB;QACpB,MAAMa,aAAab,kBAAkBM,OAAOO,cAAc;QAC1D,MAAMC,cAAclB,eAAeI,iBAAiBe,MAAM,CAACC,QAAQ,EAAEb;QACrE,MAAMc,gBAAgBV,KAAK,CAACM,WAAW;QAEvCR,YAAY;YACV,GAAIJ,OAAOK,KAAK,CAACR,IAAI,IAAI,CAAC,CAAC;YAC3BoB,aAAad,EAAE,0BAA0B;gBAAEe,eAAeZ,GAAG,CAACM,WAAW;gBAAEC;YAAY;YACvFM,OAAO,CAAC,EAAEhB,EAAE,mBAAmB,EAAEI,qBAAqB,CAAC,GAAG,EAAEA,mBAAmB,CAAC,GAAG,GAAG,EAAES,gBAAgB,CAAC,GAAG,EAAEA,cAAc,CAAC,GAAG,GAAG,GAAG,EAAEH,YAAY,CAAC;YACrJ,GAAId,kBAAkBM,OAAOR,QAAQ,CAAC,CAAC;YACvC,GAAIE,kBAAkBM,OAAOe,YAAYC,OAAOC,MAAMC,SAAS1B,QAAQ,CAAC,CAAC;QAC3E;IACF;IAEA,IAAII,cAAc;QAChB,MAAMY,cAAclB,eAAeM,aAAauB,KAAK,EAAEtB;QAEvDE,YAAY;YACV,GAAIJ,OAAOK,KAAK,CAACR,IAAI,IAAI,CAAC,CAAC;YAC3BoB,aAAad,EAAE,gCAAgC;gBAAEU;YAAY;YAC7DM,OAAO,CAAC,EAAEhB,EAAE,mBAAmB,EAAEI,qBAAqB,CAAC,GAAG,EAAEA,mBAAmB,CAAC,GAAG,GAAG,EAAEM,YAAY,CAAC;YACrG,GAAIZ,cAAcI,OAAOR,QAAQ,CAAC,CAAC;YACnC,GAAII,cAAcI,OAAOe,YAAYC,OAAOC,MAAMC,SAAS1B,QAAQ,CAAC,CAAC;QACvE;IACF;IAEA,OAAOA,KAAK;QACV,GAAGO,SAAS;QACZqB,WAAWzB,OAAOyB,SAAS;IAC7B;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAI/E,eAAO,MAAM,gBAAgB,EAAE,wBA4C9B,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/meta.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAI/E,eAAO,MAAM,gBAAgB,EAAE,wBAkD9B,CAAA"}
@@ -3,34 +3,39 @@ import { meta } from '../../utilities/meta.js';
3
3
  export const generateMetadata = async ({ collectionConfig, config, globalConfig, i18n })=>{
4
4
  const { t } = i18n;
5
5
  const entityLabel = collectionConfig ? getTranslation(collectionConfig.labels.singular, i18n) : globalConfig ? getTranslation(globalConfig.label, i18n) : '';
6
- let title = '';
7
- let description = '';
8
- const keywords = '';
6
+ let metaToUse = {
7
+ ...config.admin.meta || {}
8
+ };
9
9
  const data = {} // TODO: figure this out
10
10
  ;
11
11
  if (collectionConfig) {
12
12
  const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id';
13
13
  const titleFromData = data?.[useAsTitle];
14
- title = `${t('version:versions')}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`;
15
- description = t('version:viewingVersions', {
16
- documentTitle: data?.[useAsTitle],
17
- entitySlug: collectionConfig.slug
18
- });
14
+ metaToUse = {
15
+ ...config.admin.meta || {},
16
+ description: t('version:viewingVersions', {
17
+ documentTitle: data?.[useAsTitle],
18
+ entitySlug: collectionConfig.slug
19
+ }),
20
+ title: `${t('version:versions')}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,
21
+ ...collectionConfig?.admin.meta || {},
22
+ ...collectionConfig?.admin?.components?.views?.edit?.versions?.meta || {}
23
+ };
19
24
  }
20
25
  if (globalConfig) {
21
- title = `${t('version:versions')} - ${entityLabel}`;
22
- description = t('version:viewingVersionsGlobal', {
23
- entitySlug: globalConfig.slug
24
- });
26
+ metaToUse = {
27
+ ...config.admin.meta || {},
28
+ description: t('version:viewingVersionsGlobal', {
29
+ entitySlug: globalConfig.slug
30
+ }),
31
+ title: `${t('version:versions')} - ${entityLabel}`,
32
+ ...globalConfig?.admin.meta || {},
33
+ ...globalConfig?.admin?.components?.views?.edit?.versions?.meta || {}
34
+ };
25
35
  }
26
36
  return meta({
27
- ...config.admin.meta || {},
28
- description,
29
- keywords,
30
- serverURL: config.serverURL,
31
- title,
32
- ...collectionConfig?.admin.meta || {},
33
- ...globalConfig?.admin.meta || {}
37
+ ...metaToUse,
38
+ serverURL: config.serverURL
34
39
  });
35
40
  };
36
41
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Versions/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<Metadata> => {\n const { t } = i18n\n\n const entityLabel = collectionConfig\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : globalConfig\n ? getTranslation(globalConfig.label, i18n)\n : ''\n\n let title: string = ''\n let description: string = ''\n const keywords: string = ''\n\n const data: any = {} // TODO: figure this out\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const titleFromData = data?.[useAsTitle]\n title = `${t('version:versions')}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`\n description = t('version:viewingVersions', {\n documentTitle: data?.[useAsTitle],\n entitySlug: collectionConfig.slug,\n })\n }\n\n if (globalConfig) {\n title = `${t('version:versions')} - ${entityLabel}`\n description = t('version:viewingVersionsGlobal', { entitySlug: globalConfig.slug })\n }\n\n return meta({\n ...(config.admin.meta || {}),\n description,\n keywords,\n serverURL: config.serverURL,\n title,\n ...(collectionConfig?.admin.meta || {}),\n ...(globalConfig?.admin.meta || {}),\n })\n}\n"],"names":["getTranslation","meta","generateMetadata","collectionConfig","config","globalConfig","i18n","t","entityLabel","labels","singular","label","title","description","keywords","data","useAsTitle","admin","titleFromData","documentTitle","entitySlug","slug","serverURL"],"mappings":"AAEA,SAASA,cAAc,QAAQ,2BAA0B;AAIzD,SAASC,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,mBAA6C,OAAO,EAC/DC,gBAAgB,EAChBC,MAAM,EACNC,YAAY,EACZC,IAAI,EACL;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGD;IAEd,MAAME,cAAcL,mBAChBH,eAAeG,iBAAiBM,MAAM,CAACC,QAAQ,EAAEJ,QACjDD,eACEL,eAAeK,aAAaM,KAAK,EAAEL,QACnC;IAEN,IAAIM,QAAgB;IACpB,IAAIC,cAAsB;IAC1B,MAAMC,WAAmB;IAEzB,MAAMC,OAAY,CAAC,EAAE,wBAAwB;;IAE7C,IAAIZ,kBAAkB;QACpB,MAAMa,aAAab,kBAAkBc,OAAOD,cAAc;QAC1D,MAAME,gBAAgBH,MAAM,CAACC,WAAW;QACxCJ,QAAQ,CAAC,EAAEL,EAAE,oBAAoB,EAAEW,gBAAgB,CAAC,GAAG,EAAEA,cAAc,CAAC,GAAG,GAAG,GAAG,EAAEV,YAAY,CAAC;QAChGK,cAAcN,EAAE,2BAA2B;YACzCY,eAAeJ,MAAM,CAACC,WAAW;YACjCI,YAAYjB,iBAAiBkB,IAAI;QACnC;IACF;IAEA,IAAIhB,cAAc;QAChBO,QAAQ,CAAC,EAAEL,EAAE,oBAAoB,GAAG,EAAEC,YAAY,CAAC;QACnDK,cAAcN,EAAE,iCAAiC;YAAEa,YAAYf,aAAagB,IAAI;QAAC;IACnF;IAEA,OAAOpB,KAAK;QACV,GAAIG,OAAOa,KAAK,CAAChB,IAAI,IAAI,CAAC,CAAC;QAC3BY;QACAC;QACAQ,WAAWlB,OAAOkB,SAAS;QAC3BV;QACA,GAAIT,kBAAkBc,MAAMhB,QAAQ,CAAC,CAAC;QACtC,GAAII,cAAcY,MAAMhB,QAAQ,CAAC,CAAC;IACpC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Versions/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { MetaConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<Metadata> => {\n const { t } = i18n\n\n const entityLabel = collectionConfig\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : globalConfig\n ? getTranslation(globalConfig.label, i18n)\n : ''\n\n let metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n }\n\n const data: any = {} // TODO: figure this out\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const titleFromData = data?.[useAsTitle]\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersions', {\n documentTitle: data?.[useAsTitle],\n entitySlug: collectionConfig.slug,\n }),\n title: `${t('version:versions')}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,\n ...(collectionConfig?.admin.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.versions?.meta || {}),\n }\n }\n\n if (globalConfig) {\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersionsGlobal', { entitySlug: globalConfig.slug }),\n title: `${t('version:versions')} - ${entityLabel}`,\n ...(globalConfig?.admin.meta || {}),\n ...(globalConfig?.admin?.components?.views?.edit?.versions?.meta || {}),\n }\n }\n\n return meta({\n ...metaToUse,\n serverURL: config.serverURL,\n })\n}\n"],"names":["getTranslation","meta","generateMetadata","collectionConfig","config","globalConfig","i18n","t","entityLabel","labels","singular","label","metaToUse","admin","data","useAsTitle","titleFromData","description","documentTitle","entitySlug","slug","title","components","views","edit","versions","serverURL"],"mappings":"AAGA,SAASA,cAAc,QAAQ,2BAA0B;AAIzD,SAASC,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,mBAA6C,OAAO,EAC/DC,gBAAgB,EAChBC,MAAM,EACNC,YAAY,EACZC,IAAI,EACL;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGD;IAEd,MAAME,cAAcL,mBAChBH,eAAeG,iBAAiBM,MAAM,CAACC,QAAQ,EAAEJ,QACjDD,eACEL,eAAeK,aAAaM,KAAK,EAAEL,QACnC;IAEN,IAAIM,YAAwB;QAC1B,GAAIR,OAAOS,KAAK,CAACZ,IAAI,IAAI,CAAC,CAAC;IAC7B;IAEA,MAAMa,OAAY,CAAC,EAAE,wBAAwB;;IAE7C,IAAIX,kBAAkB;QACpB,MAAMY,aAAaZ,kBAAkBU,OAAOE,cAAc;QAC1D,MAAMC,gBAAgBF,MAAM,CAACC,WAAW;QAExCH,YAAY;YACV,GAAIR,OAAOS,KAAK,CAACZ,IAAI,IAAI,CAAC,CAAC;YAC3BgB,aAAaV,EAAE,2BAA2B;gBACxCW,eAAeJ,MAAM,CAACC,WAAW;gBACjCI,YAAYhB,iBAAiBiB,IAAI;YACnC;YACAC,OAAO,CAAC,EAAEd,EAAE,oBAAoB,EAAES,gBAAgB,CAAC,GAAG,EAAEA,cAAc,CAAC,GAAG,GAAG,GAAG,EAAER,YAAY,CAAC;YAC/F,GAAIL,kBAAkBU,MAAMZ,QAAQ,CAAC,CAAC;YACtC,GAAIE,kBAAkBU,OAAOS,YAAYC,OAAOC,MAAMC,UAAUxB,QAAQ,CAAC,CAAC;QAC5E;IACF;IAEA,IAAII,cAAc;QAChBO,YAAY;YACV,GAAIR,OAAOS,KAAK,CAACZ,IAAI,IAAI,CAAC,CAAC;YAC3BgB,aAAaV,EAAE,iCAAiC;gBAAEY,YAAYd,aAAae,IAAI;YAAC;YAChFC,OAAO,CAAC,EAAEd,EAAE,oBAAoB,GAAG,EAAEC,YAAY,CAAC;YAClD,GAAIH,cAAcQ,MAAMZ,QAAQ,CAAC,CAAC;YAClC,GAAII,cAAcQ,OAAOS,YAAYC,OAAOC,MAAMC,UAAUxB,QAAQ,CAAC,CAAC;QACxE;IACF;IAEA,OAAOA,KAAK;QACV,GAAGW,SAAS;QACZc,WAAWtB,OAAOsB,SAAS;IAC7B;AACF,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.0.0-beta.83",
3
+ "version": "3.0.0-beta.85",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -63,9 +63,9 @@
63
63
  "sonner": "^1.5.0",
64
64
  "uuid": "10.0.0",
65
65
  "ws": "^8.16.0",
66
- "@payloadcms/graphql": "3.0.0-beta.83",
67
- "@payloadcms/ui": "3.0.0-beta.83",
68
- "@payloadcms/translations": "3.0.0-beta.83"
66
+ "@payloadcms/graphql": "3.0.0-beta.85",
67
+ "@payloadcms/translations": "3.0.0-beta.85",
68
+ "@payloadcms/ui": "3.0.0-beta.85"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@next/eslint-plugin-next": "^14.1.0",
@@ -78,12 +78,12 @@
78
78
  "esbuild-sass-plugin": "3.3.1",
79
79
  "swc-plugin-transform-remove-imports": "1.15.0",
80
80
  "@payloadcms/eslint-config": "3.0.0-beta.59",
81
- "payload": "3.0.0-beta.83"
81
+ "payload": "3.0.0-beta.85"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "graphql": "^16.8.1",
85
85
  "next": "^15.0.0-canary.104",
86
- "payload": "3.0.0-beta.83"
86
+ "payload": "3.0.0-beta.85"
87
87
  },
88
88
  "engines": {
89
89
  "node": "^18.20.2 || >=20.9.0"