@payloadcms/next 3.18.0-canary.df484f6 → 3.19.0-canary.5e4a1d4

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 (66) hide show
  1. package/dist/elements/Nav/index.d.ts.map +1 -1
  2. package/dist/elements/Nav/index.js +14 -0
  3. package/dist/elements/Nav/index.js.map +1 -1
  4. package/dist/exports/utilities.d.ts +1 -3
  5. package/dist/exports/utilities.d.ts.map +1 -1
  6. package/dist/exports/utilities.js +1 -3
  7. package/dist/exports/utilities.js.map +1 -1
  8. package/dist/prod/styles.css +1 -1
  9. package/dist/routes/graphql/handler.js +1 -1
  10. package/dist/routes/graphql/handler.js.map +1 -1
  11. package/dist/templates/Default/index.d.ts +4 -3
  12. package/dist/templates/Default/index.d.ts.map +1 -1
  13. package/dist/templates/Default/index.js +15 -15
  14. package/dist/templates/Default/index.js.map +1 -1
  15. package/dist/utilities/initPage/handleAdminPage.js +1 -1
  16. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  17. package/dist/views/API/index.client.d.ts.map +1 -1
  18. package/dist/views/API/index.client.js.map +1 -1
  19. package/dist/views/Account/index.js +1 -1
  20. package/dist/views/Account/index.js.map +1 -1
  21. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  22. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  23. package/dist/views/CreateFirstUser/index.js +3 -3
  24. package/dist/views/CreateFirstUser/index.js.map +1 -1
  25. package/dist/views/Document/handleServerFunction.js +4 -2
  26. package/dist/views/Document/handleServerFunction.js.map +1 -1
  27. package/dist/views/Document/index.d.ts +1 -1
  28. package/dist/views/Document/index.d.ts.map +1 -1
  29. package/dist/views/Document/index.js +6 -2
  30. package/dist/views/Document/index.js.map +1 -1
  31. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  32. package/dist/views/Document/renderDocumentSlots.js +7 -0
  33. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  34. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +7 -4
  35. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  36. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  37. package/dist/views/List/handleServerFunction.js +3 -2
  38. package/dist/views/List/handleServerFunction.js.map +1 -1
  39. package/dist/views/List/index.d.ts.map +1 -1
  40. package/dist/views/List/index.js +0 -1
  41. package/dist/views/List/index.js.map +1 -1
  42. package/dist/views/LivePreview/index.client.js.map +1 -1
  43. package/dist/views/Login/LoginForm/index.js +7 -4
  44. package/dist/views/Login/LoginForm/index.js.map +1 -1
  45. package/dist/views/Login/index.js +1 -3
  46. package/dist/views/Login/index.js.map +1 -1
  47. package/dist/views/Root/attachViewActions.d.ts +11 -0
  48. package/dist/views/Root/attachViewActions.d.ts.map +1 -0
  49. package/dist/views/Root/attachViewActions.js +29 -0
  50. package/dist/views/Root/attachViewActions.js.map +1 -0
  51. package/dist/views/Root/getDocumentViewInfo.d.ts +6 -0
  52. package/dist/views/Root/getDocumentViewInfo.d.ts.map +1 -0
  53. package/dist/views/Root/getDocumentViewInfo.js +33 -0
  54. package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
  55. package/dist/views/Root/getViewFromConfig.d.ts +3 -7
  56. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  57. package/dist/views/Root/getViewFromConfig.js +29 -96
  58. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  59. package/dist/views/Root/index.d.ts.map +1 -1
  60. package/dist/views/Root/index.js +8 -3
  61. package/dist/views/Root/index.js.map +1 -1
  62. package/dist/views/Version/Default/index.d.ts.map +1 -1
  63. package/dist/views/Version/Default/index.js.map +1 -1
  64. package/dist/views/Version/Restore/index.js +5 -3
  65. package/dist/views/Version/Restore/index.js.map +1 -1
  66. package/package.json +9 -9
@@ -10,7 +10,9 @@ import { LogoutInactivity, LogoutView } from '../Logout/index.js';
10
10
  import { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js';
11
11
  import { UnauthorizedView } from '../Unauthorized/index.js';
12
12
  import { Verify, verifyBaseClass } from '../Verify/index.js';
13
+ import { attachViewActions, getViewActions } from './attachViewActions.js';
13
14
  import { getCustomViewByRoute } from './getCustomViewByRoute.js';
15
+ import { getDocumentViewInfo } from './getDocumentViewInfo.js';
14
16
  import { isPathMatchingRoute } from './isPathMatchingRoute.js';
15
17
  const baseClasses = {
16
18
  account: 'account',
@@ -28,15 +30,6 @@ const oneSegmentViews = {
28
30
  logout: LogoutView,
29
31
  unauthorized: UnauthorizedView
30
32
  };
31
- function getViewActions({
32
- editConfig,
33
- viewKey
34
- }) {
35
- if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {
36
- return editConfig[viewKey].actions;
37
- }
38
- return undefined;
39
- }
40
33
  export const getViewFromConfig = ({
41
34
  adminRoute,
42
35
  config,
@@ -48,6 +41,8 @@ export const getViewFromConfig = ({
48
41
  let ViewToRender = null;
49
42
  let templateClassName;
50
43
  let templateType;
44
+ let documentSubViewType;
45
+ let viewType;
51
46
  const initPageOptions = {
52
47
  config,
53
48
  importMap,
@@ -83,6 +78,7 @@ export const getViewFromConfig = ({
83
78
  };
84
79
  templateClassName = 'dashboard';
85
80
  templateType = 'default';
81
+ viewType = 'dashboard';
86
82
  }
87
83
  break;
88
84
  }
@@ -121,6 +117,7 @@ export const getViewFromConfig = ({
121
117
  templateType = 'minimal';
122
118
  if (viewKey === 'account') {
123
119
  templateType = 'default';
120
+ viewType = 'account';
124
121
  }
125
122
  }
126
123
  break;
@@ -134,6 +131,7 @@ export const getViewFromConfig = ({
134
131
  };
135
132
  templateClassName = baseClasses[segmentTwo];
136
133
  templateType = 'minimal';
134
+ viewType = 'reset';
137
135
  }
138
136
  if (isCollection && matchedCollection) {
139
137
  // --> /collections/:collectionSlug
@@ -142,7 +140,7 @@ export const getViewFromConfig = ({
142
140
  };
143
141
  templateClassName = `${segmentTwo}-list`;
144
142
  templateType = 'default';
145
- serverProps.viewType = 'list';
143
+ viewType = 'list';
146
144
  serverProps.viewActions = serverProps.viewActions.concat(matchedCollection.admin.components?.views?.list?.actions);
147
145
  } else if (isGlobal && matchedGlobal) {
148
146
  // --> /globals/:globalSlug
@@ -151,6 +149,7 @@ export const getViewFromConfig = ({
151
149
  };
152
150
  templateClassName = 'global-edit';
153
151
  templateType = 'default';
152
+ viewType = 'document';
154
153
  // add default view actions
155
154
  serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
156
155
  editConfig: matchedGlobal.admin?.components?.views?.edit,
@@ -167,6 +166,7 @@ export const getViewFromConfig = ({
167
166
  };
168
167
  templateClassName = 'verify';
169
168
  templateType = 'minimal';
169
+ viewType = 'verify';
170
170
  } else if (isCollection && matchedCollection) {
171
171
  // Custom Views
172
172
  // --> /collections/:collectionSlug/:id
@@ -179,52 +179,14 @@ export const getViewFromConfig = ({
179
179
  };
180
180
  templateClassName = `collection-default-edit`;
181
181
  templateType = 'default';
182
- serverProps.viewType = 'edit';
183
- // Adds view actions to the current collection view
184
- if (matchedCollection.admin?.components?.views?.edit) {
185
- if ('root' in matchedCollection.admin.components.views.edit) {
186
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
187
- editConfig: matchedCollection.admin?.components?.views?.edit,
188
- viewKey: 'root'
189
- }));
190
- } else {
191
- if (segmentFive) {
192
- if (segmentFour === 'versions') {
193
- // add version view actions
194
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
195
- editConfig: matchedCollection.admin?.components?.views?.edit,
196
- viewKey: 'version'
197
- }));
198
- }
199
- } else if (segmentFour) {
200
- if (segmentFour === 'versions') {
201
- // add versions view actions
202
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
203
- editConfig: matchedCollection.admin?.components?.views.edit,
204
- viewKey: 'versions'
205
- }));
206
- } else if (segmentFour === 'preview') {
207
- // add livePreview view actions
208
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
209
- editConfig: matchedCollection.admin?.components?.views.edit,
210
- viewKey: 'livePreview'
211
- }));
212
- } else if (segmentFour === 'api') {
213
- // add api view actions
214
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
215
- editConfig: matchedCollection.admin?.components?.views.edit,
216
- viewKey: 'api'
217
- }));
218
- }
219
- } else if (segmentThree) {
220
- // add default view actions
221
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
222
- editConfig: matchedCollection.admin?.components?.views.edit,
223
- viewKey: 'default'
224
- }));
225
- }
226
- }
227
- }
182
+ const viewInfo = getDocumentViewInfo([segmentFour, segmentFive]);
183
+ viewType = viewInfo.viewType;
184
+ documentSubViewType = viewInfo.documentSubViewType;
185
+ attachViewActions({
186
+ collectionOrGlobal: matchedCollection,
187
+ serverProps,
188
+ viewKeyArg: documentSubViewType
189
+ });
228
190
  } else if (isGlobal && matchedGlobal) {
229
191
  // Custom Views
230
192
  // --> /globals/:globalSlug/versions
@@ -236,45 +198,14 @@ export const getViewFromConfig = ({
236
198
  };
237
199
  templateClassName = `global-edit`;
238
200
  templateType = 'default';
239
- // Adds view actions to the current global view
240
- if (matchedGlobal.admin?.components?.views?.edit) {
241
- if ('root' in matchedGlobal.admin.components.views.edit) {
242
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
243
- editConfig: matchedGlobal.admin.components?.views?.edit,
244
- viewKey: 'root'
245
- }));
246
- } else {
247
- if (segmentFour) {
248
- if (segmentThree === 'versions') {
249
- // add version view actions
250
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
251
- editConfig: matchedGlobal.admin?.components?.views?.edit,
252
- viewKey: 'version'
253
- }));
254
- }
255
- } else if (segmentThree) {
256
- if (segmentThree === 'versions') {
257
- // add versions view actions
258
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
259
- editConfig: matchedGlobal.admin?.components?.views?.edit,
260
- viewKey: 'versions'
261
- }));
262
- } else if (segmentThree === 'preview') {
263
- // add livePreview view actions
264
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
265
- editConfig: matchedGlobal.admin?.components?.views?.edit,
266
- viewKey: 'livePreview'
267
- }));
268
- } else if (segmentThree === 'api') {
269
- // add api view actions
270
- serverProps.viewActions = serverProps.viewActions.concat(getViewActions({
271
- editConfig: matchedGlobal.admin?.components?.views?.edit,
272
- viewKey: 'api'
273
- }));
274
- }
275
- }
276
- }
277
- }
201
+ const viewInfo = getDocumentViewInfo([segmentThree, segmentFour]);
202
+ viewType = viewInfo.viewType;
203
+ documentSubViewType = viewInfo.documentSubViewType;
204
+ attachViewActions({
205
+ collectionOrGlobal: matchedGlobal,
206
+ serverProps,
207
+ viewKeyArg: documentSubViewType
208
+ });
278
209
  }
279
210
  break;
280
211
  }
@@ -287,10 +218,12 @@ export const getViewFromConfig = ({
287
218
  serverProps.viewActions.reverse();
288
219
  return {
289
220
  DefaultView: ViewToRender,
221
+ documentSubViewType,
290
222
  initPageOptions,
291
223
  serverProps,
292
224
  templateClassName,
293
- templateType
225
+ templateType,
226
+ viewType
294
227
  };
295
228
  };
296
229
  //# sourceMappingURL=getViewFromConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewActions","editConfig","viewKey","actions","undefined","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","isGlobal","isCollection","matchedCollection","matchedGlobal","serverProps","viewActions","admin","components","collections","find","slug","collectionConfig","globals","globalConfig","length","Component","routes","matchedRoute","Object","entries","exact","path","viewType","concat","views","list","edit","view","reverse","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type {\n AdminViewComponent,\n AdminViewProps,\n CustomComponent,\n EditConfig,\n ImportMap,\n SanitizedConfig,\n} 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 { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } 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\nfunction getViewActions({\n editConfig,\n viewKey,\n}: {\n editConfig: EditConfig\n viewKey: keyof EditConfig\n}): CustomComponent[] | undefined {\n if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {\n return editConfig[viewKey].actions\n }\n\n return undefined\n}\n\ntype ServerPropsFromView = {\n collectionConfig?: SanitizedConfig['collections'][number]\n globalConfig?: SanitizedConfig['globals'][number]\n viewActions: CustomComponent[]\n viewType?: 'edit' | 'list'\n}\n\ntype GetViewFromConfigArgs = {\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\ntype GetViewFromConfigResult = {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n serverProps: ServerPropsFromView\n templateClassName: string\n templateType: 'default' | 'minimal'\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: GetViewFromConfigArgs): GetViewFromConfigResult => {\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, segmentThree, segmentFour, segmentFive] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n let matchedCollection: SanitizedConfig['collections'][number] = undefined\n let matchedGlobal: SanitizedConfig['globals'][number] = undefined\n\n const serverProps: ServerPropsFromView = {\n viewActions: config?.admin?.components?.actions || [],\n }\n\n if (isCollection) {\n matchedCollection = config.collections.find(({ slug }) => slug === segmentTwo)\n serverProps.collectionConfig = matchedCollection\n }\n\n if (isGlobal) {\n matchedGlobal = config.globals.find(({ slug }) => slug === segmentTwo)\n serverProps.globalConfig = matchedGlobal\n }\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 }\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 templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection && matchedCollection) {\n // --> /collections/:collectionSlug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n serverProps.viewType = 'list'\n serverProps.viewActions = serverProps.viewActions.concat(\n matchedCollection.admin.components?.views?.list?.actions,\n )\n } else if (isGlobal && matchedGlobal) {\n // --> /globals/:globalSlug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\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 && matchedCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n serverProps.viewType = 'edit'\n\n // Adds view actions to the current collection view\n if (matchedCollection.admin?.components?.views?.edit) {\n if ('root' in matchedCollection.admin.components.views.edit) {\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views?.edit,\n viewKey: 'root',\n }),\n )\n } else {\n if (segmentFive) {\n if (segmentFour === 'versions') {\n // add version view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views?.edit,\n viewKey: 'version',\n }),\n )\n }\n } else if (segmentFour) {\n if (segmentFour === 'versions') {\n // add versions view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'versions',\n }),\n )\n } else if (segmentFour === 'preview') {\n // add livePreview view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'livePreview',\n }),\n )\n } else if (segmentFour === 'api') {\n // add api view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'api',\n }),\n )\n }\n } else if (segmentThree) {\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedCollection.admin?.components?.views.edit,\n viewKey: 'default',\n }),\n )\n }\n }\n }\n } else if (isGlobal && matchedGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n // Adds view actions to the current global view\n if (matchedGlobal.admin?.components?.views?.edit) {\n if ('root' in matchedGlobal.admin.components.views.edit) {\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin.components?.views?.edit,\n viewKey: 'root',\n }),\n )\n } else {\n if (segmentFour) {\n if (segmentThree === 'versions') {\n // add version view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'version',\n }),\n )\n }\n } else if (segmentThree) {\n if (segmentThree === 'versions') {\n // add versions view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'versions',\n }),\n )\n } else if (segmentThree === 'preview') {\n // add livePreview view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'livePreview',\n }),\n )\n } else if (segmentThree === 'api') {\n // add api view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'api',\n }),\n )\n }\n }\n }\n }\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n serverProps.viewActions.reverse()\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","attachViewActions","getViewActions","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","initPageOptions","route","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","isGlobal","isCollection","matchedCollection","undefined","matchedGlobal","serverProps","viewActions","admin","components","actions","collections","find","slug","collectionConfig","globals","globalConfig","length","Component","viewKey","routes","matchedRoute","Object","entries","exact","path","concat","views","list","editConfig","edit","viewInfo","collectionOrGlobal","viewKeyArg","view","reverse","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type {\n AdminViewComponent,\n AdminViewProps,\n DocumentSubViewTypes,\n ImportMap,\n SanitizedConfig,\n ServerPropsFromView,\n ViewTypes,\n} 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 { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } 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 { attachViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.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\ntype GetViewFromConfigArgs = {\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\ntype GetViewFromConfigResult = {\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n initPageOptions: Parameters<typeof initPage>[0]\n serverProps: ServerPropsFromView\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewType?: ViewTypes\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: GetViewFromConfigArgs): GetViewFromConfigResult => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n let matchedCollection: SanitizedConfig['collections'][number] = undefined\n let matchedGlobal: SanitizedConfig['globals'][number] = undefined\n\n const serverProps: ServerPropsFromView = {\n viewActions: config?.admin?.components?.actions || [],\n }\n\n if (isCollection) {\n matchedCollection = config.collections.find(({ slug }) => slug === segmentTwo)\n serverProps.collectionConfig = matchedCollection\n }\n\n if (isGlobal) {\n matchedGlobal = config.globals.find(({ slug }) => slug === segmentTwo)\n serverProps.globalConfig = matchedGlobal\n }\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 viewType = 'dashboard'\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 templateType = 'default'\n viewType = 'account'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n }\n\n if (isCollection && matchedCollection) {\n // --> /collections/:collectionSlug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n serverProps.viewActions = serverProps.viewActions.concat(\n matchedCollection.admin.components?.views?.list?.actions,\n )\n } else if (isGlobal && matchedGlobal) {\n // --> /globals/:globalSlug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\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 viewType = 'verify'\n } else if (isCollection && matchedCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedCollection,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n } else if (isGlobal && matchedGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedGlobal,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n serverProps.viewActions.reverse()\n\n return {\n DefaultView: ViewToRender,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAwIA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAgJA,CAAA"}
@@ -36,10 +36,12 @@ export const RootPage = async ({
36
36
  const searchParams = await searchParamsPromise;
37
37
  const {
38
38
  DefaultView,
39
+ documentSubViewType,
39
40
  initPageOptions,
40
41
  serverProps,
41
42
  templateClassName,
42
- templateType
43
+ templateType,
44
+ viewType
43
45
  } = getViewFromConfig({
44
46
  adminRoute,
45
47
  config,
@@ -93,7 +95,9 @@ export const RootPage = async ({
93
95
  });
94
96
  const RenderedView = RenderServerComponent({
95
97
  clientProps: {
96
- clientConfig
98
+ clientConfig,
99
+ documentSubViewType,
100
+ viewType
97
101
  },
98
102
  Component: DefaultView.payloadComponent,
99
103
  Fallback: DefaultView.Component,
@@ -119,6 +123,7 @@ export const RootPage = async ({
119
123
  }), templateType === 'default' && /*#__PURE__*/_jsx(DefaultTemplate, {
120
124
  collectionSlug: initPageResult?.collectionConfig?.slug,
121
125
  docID: initPageResult?.docID,
126
+ documentSubViewType: documentSubViewType,
122
127
  globalSlug: initPageResult?.globalConfig?.slug,
123
128
  i18n: initPageResult?.req.i18n,
124
129
  locale: initPageResult?.locale,
@@ -128,7 +133,7 @@ export const RootPage = async ({
128
133
  searchParams: searchParams,
129
134
  user: initPageResult?.req.user,
130
135
  viewActions: serverProps.viewActions,
131
- viewType: serverProps.viewType,
136
+ viewType: viewType,
132
137
  visibleEntities: {
133
138
  // 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
134
139
  // which this caused as soon as initPageResult.visibleEntities is passed in
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","serverProps","templateClassName","templateType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","viewType","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, serverProps, templateClassName, templateType } =\n getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={serverProps.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: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig, documentSubViewType, viewType },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n 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: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":";AAIA,SAASA,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AACnC,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAElC,SAASC,oBAAoB,QAAQ;AASrC,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,GAAe1B,cAAA,CAAe;IAClCyB,UAAA;IACAE,IAAA,EAAM,GAAGC,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAI,IAAIf,MAAA,CAAOe,QAAQ,CAACC,IAAI,CAAC,MAAM,GAAG;EAC9E;EAEA,MAAMD,QAAA,GAAWF,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAIf,MAAA,CAAOe,QAAQ,GAAG,EAAE;EAEtE,MAAMb,YAAA,GAAe,MAAMC,mBAAA;EAE3B,MAAM;IACJc,WAAW;IACXC,mBAAmB;IACnBC,eAAe;IACfC,WAAW;IACXC,iBAAiB;IACjBC,YAAY;IACZC;EAAQ,CACT,GAAG7B,iBAAA,CAAkB;IACpBgB,UAAA;IACAb,MAAA;IACAc,YAAA;IACAZ,SAAA;IACAG,YAAA;IACAa;EACF;EAEA,MAAMS,cAAA,GAAiB,MAAM/B,QAAA,CAAS0B,eAAA;EAEtC,MAAMM,SAAA,GACJD,cAAA,CAAeE,GAAG,CAAClB,IAAI,KACtB,MAAMgB,cAAA,EAAgBE,GAAA,CAAIC,OAAA,CAAQC,EAAA,CAChCC,OAAA,CAAQ;IACPC,UAAA,EAAYrB,QAAA;IACZiB,GAAA,EAAKF,cAAA,EAAgBE;EACvB,IACEK,IAAA,CAAMC,GAAA,IAAQ,CAAC,CAACA,GAAA;EAEtB,IAAI,CAACf,WAAA,EAAagB,SAAA,IAAa,CAAChB,WAAA,EAAaiB,gBAAA,EAAkB;IAC7D,IAAIV,cAAA,EAAgBE,GAAA,EAAKlB,IAAA,EAAM;MAC7BrB,QAAA;IACF;IAEA,IAAIsC,SAAA,EAAW;MACbrC,QAAA,CAASsB,UAAA;IACX;EACF;EAEA,IAAI,OAAOc,cAAA,EAAgBW,UAAA,KAAe,UAAU;IAClD/C,QAAA,CAASoC,cAAA,CAAeW,UAAU;EACpC;EAEA,IAAIX,cAAA,EAAgB;IAClB,MAAMY,oBAAA,GAAuBnD,cAAA,CAAe;MAAEyB,UAAA;MAAYE,IAAA,EAAML;IAAsB;IAEtF,MAAM8B,gBAAA,GAAmBxC,MAAA,CAAOyC,WAAW,CAACC,IAAI,CAAC,CAAC;MAAEC;IAAI,CAAE,KAAKA,IAAA,KAAS/B,QAAA;IACxE,MAAMgC,oBAAA,GAAuBJ,gBAAA,EAAkBK,IAAA,EAAMD,oBAAA;IAErD,IAAIA,oBAAA,IAAwB9B,YAAA,KAAiByB,oBAAA,EAAsB;MACjEhD,QAAA,CAASsB,UAAA;IACX;IAEA,IAAI,CAACe,SAAA,IAAad,YAAA,KAAiByB,oBAAA,IAAwB,CAACK,oBAAA,EAAsB;MAChFrD,QAAA,CAASgD,oBAAA;IACX;IAEA,IAAIX,SAAA,IAAad,YAAA,KAAiByB,oBAAA,EAAsB;MACtDhD,QAAA,CAASsB,UAAA;IACX;EACF;EAEA,IAAI,CAACO,WAAA,EAAagB,SAAA,IAAa,CAAChB,WAAA,EAAaiB,gBAAA,IAAoB,CAACT,SAAA,EAAW;IAC3ErC,QAAA,CAASsB,UAAA;EACX;EAEA,MAAMiC,YAAA,GAAezD,eAAA,CAAgB;IACnCW,MAAA;IACA+C,IAAA,EAAMpB,cAAA,EAAgBE,GAAA,CAAIkB,IAAA;IAC1B7C;EACF;EAEA,MAAM8C,YAAA,GAAe7D,qBAAA,CAAsB;IACzC8D,WAAA,EAAa;MAAEH,YAAA;MAAczB,mBAAA;MAAqBK;IAAS;IAC3DU,SAAA,EAAWhB,WAAA,CAAYiB,gBAAgB;IACvCa,QAAA,EAAU9B,WAAA,CAAYgB,SAAS;IAC/BlC,SAAA;IACAqB,WAAA,EAAa;MACX,GAAGA,WAAW;MACduB,YAAA;MACAK,KAAA,EAAOxB,cAAA,EAAgBwB,KAAA;MACvBJ,IAAA,EAAMpB,cAAA,EAAgBE,GAAA,CAAIkB,IAAA;MAC1B7C,SAAA;MACAyB,cAAA;MACAxB,MAAA;MACA2B,OAAA,EAASH,cAAA,EAAgBE,GAAA,CAAIC,OAAA;MAC7BzB;IACF;EACF;EAEA,oBACE+C,KAAA,CAAC3D,QAAA;eACE,CAACgC,YAAA,iBAAgB4B,IAAA,CAAC5D,QAAA;gBAAUuD;QAC5BvB,YAAA,KAAiB,0BAChB4B,IAAA,CAAC1D,eAAA;MAAgB2D,SAAA,EAAW9B,iBAAA;gBAAoBwB;QAEjDvB,YAAA,KAAiB,0BAChB4B,IAAA,CAAC3D,eAAA;MACC6D,cAAA,EAAgB5B,cAAA,EAAgBa,gBAAA,EAAkBG,IAAA;MAClDQ,KAAA,EAAOxB,cAAA,EAAgBwB,KAAA;MACvB9B,mBAAA,EAAqBA,mBAAA;MACrBmC,UAAA,EAAY7B,cAAA,EAAgB8B,YAAA,EAAcd,IAAA;MAC1CI,IAAA,EAAMpB,cAAA,EAAgBE,GAAA,CAAIkB,IAAA;MAC1BW,MAAA,EAAQ/B,cAAA,EAAgB+B,MAAA;MACxBvD,MAAA,EAAQA,MAAA;MACR2B,OAAA,EAASH,cAAA,EAAgBE,GAAA,CAAIC,OAAA;MAC7B6B,WAAA,EAAahC,cAAA,EAAgBgC,WAAA;MAC7BtD,YAAA,EAAcA,YAAA;MACdM,IAAA,EAAMgB,cAAA,EAAgBE,GAAA,CAAIlB,IAAA;MAC1BiD,WAAA,EAAarC,WAAA,CAAYqC,WAAW;MACpClC,QAAA,EAAUA,QAAA;MACVmC,eAAA,EAAiB;QACf;QACA;QACApB,WAAA,EAAad,cAAA,EAAgBkC,eAAA,EAAiBpB,WAAA;QAC9CqB,OAAA,EAASnC,cAAA,EAAgBkC,eAAA,EAAiBC;MAC5C;gBAECd;;;AAKX","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAOzE,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA6HjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAOzE,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA2HjE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Gutter","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","t0","$","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","getEntityConfig","i18n","id","collectionSlug","globalSlug","t1","collectionConfig","t2","globalConfig","locales","setLocales","compareValue","setCompareValue","admin","t3","localization","routes","t4","serverURL","dateFormat","api","apiRoute","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","t5","Symbol","for","depth","draft","locale","t6","initialData","initialParams","t7","data","currentComparisonDoc","comparison","version","canUpdate","update","t8","map","_temp","localeValues","draftsEnabled","Boolean","versions","drafts","t9","_jsx","onChange","options","t10","fieldPermissions","fields","createdAt","_jsxs","className","children","t","autosave","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","parentID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig, OptionObject } from 'payload'\n\nimport { Gutter, useConfig, useDocumentInfo, usePayloadAPI, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { diffComponents } from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport './index.scss'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug }) as ClientCollectionConfig,\n )\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }) as ClientGlobalConfig)\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update\n\n const localeValues = locales && locales.map((locale) => locale.value)\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldPermissions={docPermissions?.fields}\n fields={(collectionConfig || globalConfig)?.fields}\n i18n={i18n}\n locales={localeValues}\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Gutter","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","t0","$","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","getEntityConfig","i18n","id","collectionSlug","globalSlug","t1","collectionConfig","t2","globalConfig","locales","setLocales","compareValue","setCompareValue","admin","t3","localization","routes","t4","serverURL","dateFormat","api","apiRoute","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","t5","Symbol","for","depth","draft","locale","t6","initialData","initialParams","t7","data","currentComparisonDoc","comparison","version","canUpdate","update","t8","map","_temp","localeValues","draftsEnabled","Boolean","versions","drafts","t9","_jsx","onChange","options","t10","fieldPermissions","fields","createdAt","_jsxs","className","children","t","autosave","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","parentID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport { Gutter, useConfig, useDocumentInfo, usePayloadAPI, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { diffComponents } from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport './index.scss'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update\n\n const localeValues = locales && locales.map((locale) => locale.value)\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldPermissions={docPermissions?.fields}\n fields={(collectionConfig || globalConfig)?.fields}\n i18n={i18n}\n locales={localeValues}\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -21,15 +21,17 @@ const Restore = ({
21
21
  }) => {
22
22
  const {
23
23
  config: {
24
- collections,
25
24
  routes: {
26
25
  admin: adminRoute,
27
26
  api: apiRoute
28
27
  },
29
28
  serverURL
30
- }
29
+ },
30
+ getEntityConfig
31
31
  } = useConfig();
32
- const collectionConfig = collections.find(collection => collection.slug === collectionSlug);
32
+ const collectionConfig = getEntityConfig({
33
+ collectionSlug
34
+ });
33
35
  const {
34
36
  toggleModal
35
37
  } = useModal();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","Button","Modal","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","collections","routes","admin","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","undefined","type"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n collections,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((collection) => collection.slug === collectionSlug)\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"small\"\n SubMenuPopupContent={() =>\n canRestoreAsDraft && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","Button","Modal","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","routes","admin","adminRoute","api","apiRoute","serverURL","getEntityConfig","collectionConfig","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","slug","undefined","type"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"small\"\n SubMenuPopupContent={() =>\n canRestoreAsDraft && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.18.0-canary.df484f6",
3
+ "version": "3.19.0-canary.5e4a1d4",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -72,16 +72,16 @@
72
72
  "file-type": "19.3.0",
73
73
  "graphql-http": "^1.22.0",
74
74
  "graphql-playground-html": "1.6.30",
75
- "http-status": "1.6.2",
76
- "path-to-regexp": "^6.2.1",
75
+ "http-status": "2.1.0",
76
+ "path-to-regexp": "6.3.0",
77
77
  "qs-esm": "7.0.2",
78
78
  "react-diff-viewer-continued": "3.2.6",
79
79
  "sass": "1.77.4",
80
80
  "sonner": "^1.7.0",
81
81
  "uuid": "10.0.0",
82
- "@payloadcms/graphql": "3.18.0-canary.df484f6",
83
- "@payloadcms/ui": "3.18.0-canary.df484f6",
84
- "@payloadcms/translations": "3.18.0-canary.df484f6"
82
+ "@payloadcms/graphql": "3.19.0-canary.5e4a1d4",
83
+ "@payloadcms/translations": "3.19.0-canary.5e4a1d4",
84
+ "@payloadcms/ui": "3.19.0-canary.5e4a1d4"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@babel/cli": "7.25.9",
@@ -89,7 +89,7 @@
89
89
  "@babel/preset-env": "7.26.0",
90
90
  "@babel/preset-react": "7.25.9",
91
91
  "@babel/preset-typescript": "7.26.0",
92
- "@next/eslint-plugin-next": "15.0.4",
92
+ "@next/eslint-plugin-next": "15.1.5",
93
93
  "@types/busboy": "1.5.4",
94
94
  "@types/react": "19.0.1",
95
95
  "@types/react-dom": "19.0.1",
@@ -100,12 +100,12 @@
100
100
  "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
101
101
  "swc-plugin-transform-remove-imports": "2.0.0",
102
102
  "@payloadcms/eslint-config": "3.9.0",
103
- "payload": "3.18.0-canary.df484f6"
103
+ "payload": "3.19.0-canary.5e4a1d4"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "graphql": "^16.8.1",
107
107
  "next": "^15.0.0",
108
- "payload": "3.18.0-canary.df484f6"
108
+ "payload": "3.19.0-canary.5e4a1d4"
109
109
  },
110
110
  "engines": {
111
111
  "node": "^18.20.2 || >=20.9.0"