@payloadcms/next 3.55.0-internal.f8c92b5 → 3.56.0-internal.299316b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/refresh.js +8 -8
- package/dist/auth/refresh.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +41 -19
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/Nav/index.client.js +48 -28
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +2 -1
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/getRouteWithoutAdmin.d.ts +5 -0
- package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -0
- package/dist/utilities/getRouteWithoutAdmin.js +7 -0
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -0
- package/dist/utilities/getVisibleEntities.d.ts +5 -0
- package/dist/utilities/getVisibleEntities.d.ts.map +1 -0
- package/dist/utilities/getVisibleEntities.js +26 -0
- package/dist/utilities/getVisibleEntities.js.map +1 -0
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -0
- package/dist/utilities/handleAuthRedirect.js.map +1 -0
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +2 -7
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/isCustomAdminView.d.ts.map +1 -0
- package/dist/utilities/{initPage/isCustomAdminView.js → isCustomAdminView.js} +1 -1
- package/dist/utilities/isCustomAdminView.js.map +1 -0
- package/dist/utilities/isPublicAdminRoute.d.ts +7 -0
- package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -0
- package/dist/utilities/{initPage/shared.js → isPublicAdminRoute.js} +2 -13
- package/dist/utilities/isPublicAdminRoute.js.map +1 -0
- package/dist/views/CollectionFolders/buildView.d.ts.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +1 -1
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +16 -11
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
- package/dist/views/Document/handleServerFunction.js +2 -1
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/List/handleGroupBy.d.ts +4 -2
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.js +3 -1
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js +2 -1
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +17 -4
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/transformColumnsToSelect.d.ts +3 -0
- package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -0
- package/dist/views/List/transformColumnsToSelect.js +7 -0
- package/dist/views/List/transformColumnsToSelect.js.map +1 -0
- package/dist/views/Logout/LogoutClient.js +31 -29
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/NotFound/index.d.ts +0 -8
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js +40 -18
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/Root/SyncClientConfig.d.ts +11 -0
- package/dist/views/Root/SyncClientConfig.d.ts.map +1 -0
- package/dist/views/Root/SyncClientConfig.js +38 -0
- package/dist/views/Root/SyncClientConfig.js.map +1 -0
- package/dist/views/Root/attachViewActions.d.ts +4 -5
- package/dist/views/Root/attachViewActions.d.ts.map +1 -1
- package/dist/views/Root/attachViewActions.js +5 -7
- package/dist/views/Root/attachViewActions.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts +33 -16
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +122 -103
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.d.ts +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +173 -78
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts +0 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +28 -38
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +2 -4
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +0 -1
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +28 -12
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +3 -5
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +59 -37
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +27 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +31 -21
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +33 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +7 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +5 -5
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +30 -21
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +6 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +15 -6
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -16
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +12 -8
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +4 -6
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts +1 -0
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +23 -14
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +53 -27
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/package.json +9 -9
- package/dist/utilities/initPage/handleAdminPage.d.ts +0 -18
- package/dist/utilities/initPage/handleAdminPage.d.ts.map +0 -1
- package/dist/utilities/initPage/handleAdminPage.js +0 -57
- package/dist/utilities/initPage/handleAdminPage.js.map +0 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +0 -1
- package/dist/utilities/initPage/handleAuthRedirect.js.map +0 -1
- package/dist/utilities/initPage/index.d.ts +0 -4
- package/dist/utilities/initPage/index.d.ts.map +0 -1
- package/dist/utilities/initPage/index.js +0 -127
- package/dist/utilities/initPage/index.js.map +0 -1
- package/dist/utilities/initPage/isCustomAdminView.d.ts.map +0 -1
- package/dist/utilities/initPage/isCustomAdminView.js.map +0 -1
- package/dist/utilities/initPage/shared.d.ts +0 -16
- package/dist/utilities/initPage/shared.d.ts.map +0 -1
- package/dist/utilities/initPage/shared.js.map +0 -1
- package/dist/utilities/initPage/types.d.ts +0 -44
- package/dist/utilities/initPage/types.d.ts.map +0 -1
- package/dist/utilities/initPage/types.js +0 -2
- package/dist/utilities/initPage/types.js.map +0 -1
- /package/dist/utilities/{initPage/handleAuthRedirect.d.ts → handleAuthRedirect.d.ts} +0 -0
- /package/dist/utilities/{initPage/handleAuthRedirect.js → handleAuthRedirect.js} +0 -0
- /package/dist/utilities/{initPage/isCustomAdminView.d.ts → isCustomAdminView.d.ts} +0 -0
package/dist/views/Root/index.js
CHANGED
|
@@ -2,14 +2,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
3
|
import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
|
|
4
4
|
import { notFound, redirect } from 'next/navigation.js';
|
|
5
|
-
import { parseDocumentID } from 'payload';
|
|
6
5
|
import { formatAdminURL } from 'payload/shared';
|
|
6
|
+
import * as qs from 'qs-esm';
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { DefaultTemplate } from '../../templates/Default/index.js';
|
|
9
9
|
import { MinimalTemplate } from '../../templates/Minimal/index.js';
|
|
10
|
-
import {
|
|
10
|
+
import { getPreferences } from '../../utilities/getPreferences.js';
|
|
11
|
+
import { getVisibleEntities } from '../../utilities/getVisibleEntities.js';
|
|
12
|
+
import { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js';
|
|
13
|
+
import { initReq } from '../../utilities/initReq.js';
|
|
14
|
+
import { isCustomAdminView } from '../../utilities/isCustomAdminView.js';
|
|
15
|
+
import { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js';
|
|
11
16
|
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
12
17
|
import { getRouteData } from './getRouteData.js';
|
|
18
|
+
import { SyncClientConfig } from './SyncClientConfig.js';
|
|
13
19
|
export const RootPage = async ({
|
|
14
20
|
config: configPromise,
|
|
15
21
|
importMap,
|
|
@@ -34,104 +40,170 @@ export const RootPage = async ({
|
|
|
34
40
|
path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null
|
|
35
41
|
});
|
|
36
42
|
const segments = Array.isArray(params.segments) ? params.segments : [];
|
|
43
|
+
const isCollectionRoute = segments[0] === 'collections';
|
|
44
|
+
const isGlobalRoute = segments[0] === 'globals';
|
|
45
|
+
let collectionConfig = undefined;
|
|
46
|
+
let globalConfig = undefined;
|
|
37
47
|
const searchParams = await searchParamsPromise;
|
|
38
48
|
// Redirect `${adminRoute}/collections` to `${adminRoute}`
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
if (isCollectionRoute) {
|
|
50
|
+
if (segments.length === 1) {
|
|
51
|
+
const {
|
|
52
|
+
viewKey
|
|
53
|
+
} = getCustomViewByRoute({
|
|
54
|
+
config,
|
|
55
|
+
currentRoute: '/collections'
|
|
56
|
+
});
|
|
57
|
+
// Only redirect if there's NO custom view configured for /collections
|
|
58
|
+
if (!viewKey) {
|
|
59
|
+
redirect(adminRoute);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (segments[1]) {
|
|
63
|
+
collectionConfig = config.collections.find(({
|
|
64
|
+
slug
|
|
65
|
+
}) => slug === segments[1]);
|
|
49
66
|
}
|
|
50
67
|
}
|
|
51
68
|
// Redirect `${adminRoute}/globals` to `${adminRoute}`
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
69
|
+
if (isGlobalRoute) {
|
|
70
|
+
if (segments.length === 1) {
|
|
71
|
+
const {
|
|
72
|
+
viewKey
|
|
73
|
+
} = getCustomViewByRoute({
|
|
74
|
+
config,
|
|
75
|
+
currentRoute: '/globals'
|
|
76
|
+
});
|
|
77
|
+
// Only redirect if there's NO custom view configured for /globals
|
|
78
|
+
if (!viewKey) {
|
|
79
|
+
redirect(adminRoute);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (segments[1]) {
|
|
83
|
+
globalConfig = config.globals.find(({
|
|
84
|
+
slug
|
|
85
|
+
}) => slug === segments[1]);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (isCollectionRoute && !collectionConfig || isGlobalRoute && !globalConfig) {
|
|
89
|
+
return notFound();
|
|
90
|
+
}
|
|
91
|
+
const queryString = `${qs.stringify(searchParams ?? {}, {
|
|
92
|
+
addQueryPrefix: true
|
|
93
|
+
})}`;
|
|
94
|
+
const {
|
|
95
|
+
cookies,
|
|
96
|
+
locale,
|
|
97
|
+
permissions,
|
|
98
|
+
req,
|
|
99
|
+
req: {
|
|
100
|
+
payload
|
|
101
|
+
}
|
|
102
|
+
} = await initReq({
|
|
103
|
+
configPromise: config,
|
|
104
|
+
importMap,
|
|
105
|
+
key: 'initPage',
|
|
106
|
+
overrides: {
|
|
107
|
+
fallbackLocale: false,
|
|
108
|
+
req: {
|
|
109
|
+
query: qs.parse(queryString, {
|
|
110
|
+
depth: 10,
|
|
111
|
+
ignoreQueryPrefix: true
|
|
112
|
+
})
|
|
113
|
+
},
|
|
114
|
+
urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
if (!permissions.canAccessAdmin && !isPublicAdminRoute({
|
|
118
|
+
adminRoute,
|
|
119
|
+
config: payload.config,
|
|
120
|
+
route: currentRoute
|
|
121
|
+
}) && !isCustomAdminView({
|
|
122
|
+
adminRoute,
|
|
123
|
+
config: payload.config,
|
|
124
|
+
route: currentRoute
|
|
125
|
+
})) {
|
|
126
|
+
redirect(handleAuthRedirect({
|
|
127
|
+
config: payload.config,
|
|
128
|
+
route: currentRoute,
|
|
129
|
+
searchParams,
|
|
130
|
+
user: req.user
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
let collectionPreferences = undefined;
|
|
134
|
+
if (collectionConfig && segments.length === 2) {
|
|
135
|
+
if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
|
|
136
|
+
await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then(res => {
|
|
137
|
+
collectionPreferences = res.value;
|
|
138
|
+
});
|
|
62
139
|
}
|
|
63
140
|
}
|
|
64
141
|
const {
|
|
65
142
|
browseByFolderSlugs,
|
|
66
143
|
DefaultView,
|
|
67
144
|
documentSubViewType,
|
|
68
|
-
|
|
69
|
-
initPageOptions,
|
|
70
|
-
serverProps,
|
|
145
|
+
routeParams,
|
|
71
146
|
templateClassName,
|
|
72
147
|
templateType,
|
|
148
|
+
viewActions,
|
|
73
149
|
viewType
|
|
74
150
|
} = getRouteData({
|
|
75
151
|
adminRoute,
|
|
76
|
-
|
|
152
|
+
collectionConfig,
|
|
153
|
+
collectionPreferences,
|
|
77
154
|
currentRoute,
|
|
78
|
-
|
|
155
|
+
globalConfig,
|
|
156
|
+
payload,
|
|
79
157
|
searchParams,
|
|
80
158
|
segments
|
|
81
159
|
});
|
|
82
|
-
|
|
83
|
-
const dbHasUser =
|
|
160
|
+
req.routeParams = routeParams;
|
|
161
|
+
const dbHasUser = req.user || (await req.payload.db.findOne({
|
|
84
162
|
collection: userSlug,
|
|
85
|
-
req
|
|
163
|
+
req
|
|
86
164
|
})?.then(doc => !!doc));
|
|
87
165
|
/**
|
|
88
166
|
* This function is responsible for handling the case where the view is not found.
|
|
89
167
|
* The current route did not match any default views or custom route views.
|
|
90
168
|
*/
|
|
91
169
|
if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
|
|
92
|
-
if (
|
|
170
|
+
if (req?.user) {
|
|
93
171
|
notFound();
|
|
94
172
|
}
|
|
95
173
|
if (dbHasUser) {
|
|
96
174
|
redirect(adminRoute);
|
|
97
175
|
}
|
|
98
176
|
}
|
|
99
|
-
|
|
100
|
-
|
|
177
|
+
const createFirstUserRoute = formatAdminURL({
|
|
178
|
+
adminRoute,
|
|
179
|
+
path: _createFirstUserRoute
|
|
180
|
+
});
|
|
181
|
+
const usersCollection = config.collections.find(({
|
|
182
|
+
slug
|
|
183
|
+
}) => slug === userSlug);
|
|
184
|
+
const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
|
|
185
|
+
if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
|
|
186
|
+
redirect(adminRoute);
|
|
101
187
|
}
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const collectionConfig = config.collections.find(({
|
|
108
|
-
slug
|
|
109
|
-
}) => slug === userSlug);
|
|
110
|
-
const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy;
|
|
111
|
-
if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
|
|
112
|
-
redirect(adminRoute);
|
|
113
|
-
}
|
|
114
|
-
if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
|
|
115
|
-
redirect(createFirstUserRoute);
|
|
116
|
-
}
|
|
117
|
-
if (dbHasUser && currentRoute === createFirstUserRoute) {
|
|
118
|
-
redirect(adminRoute);
|
|
119
|
-
}
|
|
188
|
+
if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
|
|
189
|
+
redirect(createFirstUserRoute);
|
|
190
|
+
}
|
|
191
|
+
if (dbHasUser && currentRoute === createFirstUserRoute) {
|
|
192
|
+
redirect(adminRoute);
|
|
120
193
|
}
|
|
121
194
|
if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
|
|
122
195
|
redirect(adminRoute);
|
|
123
196
|
}
|
|
124
197
|
const clientConfig = getClientConfig({
|
|
125
198
|
config,
|
|
126
|
-
i18n:
|
|
127
|
-
importMap
|
|
199
|
+
i18n: req.i18n,
|
|
200
|
+
importMap,
|
|
201
|
+
user: viewType === 'createFirstUser' ? true : req.user
|
|
202
|
+
});
|
|
203
|
+
const visibleEntities = getVisibleEntities({
|
|
204
|
+
req
|
|
128
205
|
});
|
|
129
|
-
const
|
|
130
|
-
const folderID = payload.config.folders ? parseDocumentID({
|
|
131
|
-
id: folderIDParam,
|
|
132
|
-
collectionSlug: payload.config.folders.slug,
|
|
133
|
-
payload
|
|
134
|
-
}) : undefined;
|
|
206
|
+
const folderID = routeParams.folderID;
|
|
135
207
|
const RenderedView = RenderServerComponent({
|
|
136
208
|
clientProps: {
|
|
137
209
|
browseByFolderSlugs,
|
|
@@ -143,44 +215,67 @@ export const RootPage = async ({
|
|
|
143
215
|
Fallback: DefaultView.Component,
|
|
144
216
|
importMap,
|
|
145
217
|
serverProps: {
|
|
146
|
-
...serverProps,
|
|
147
218
|
clientConfig,
|
|
148
|
-
|
|
219
|
+
collectionConfig,
|
|
220
|
+
docID: routeParams.id,
|
|
149
221
|
folderID,
|
|
150
|
-
|
|
222
|
+
globalConfig,
|
|
223
|
+
i18n: req.i18n,
|
|
151
224
|
importMap,
|
|
152
|
-
initPageResult
|
|
225
|
+
initPageResult: {
|
|
226
|
+
collectionConfig,
|
|
227
|
+
cookies,
|
|
228
|
+
docID: routeParams.id,
|
|
229
|
+
globalConfig,
|
|
230
|
+
languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
|
|
231
|
+
if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
|
|
232
|
+
acc.push({
|
|
233
|
+
label: languageConfig.translations.general.thisLanguage,
|
|
234
|
+
value: language
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
return acc;
|
|
238
|
+
}, []),
|
|
239
|
+
locale,
|
|
240
|
+
permissions,
|
|
241
|
+
req,
|
|
242
|
+
translations: req.i18n.translations,
|
|
243
|
+
visibleEntities
|
|
244
|
+
},
|
|
153
245
|
params,
|
|
154
|
-
payload:
|
|
155
|
-
searchParams
|
|
246
|
+
payload: req.payload,
|
|
247
|
+
searchParams,
|
|
248
|
+
viewActions
|
|
156
249
|
}
|
|
157
250
|
});
|
|
158
251
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
159
|
-
children: [
|
|
252
|
+
children: [/*#__PURE__*/_jsx(SyncClientConfig, {
|
|
253
|
+
clientConfig: clientConfig
|
|
254
|
+
}), !templateType && /*#__PURE__*/_jsx(React.Fragment, {
|
|
160
255
|
children: RenderedView
|
|
161
256
|
}), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
|
|
162
257
|
className: templateClassName,
|
|
163
258
|
children: RenderedView
|
|
164
259
|
}), templateType === 'default' && /*#__PURE__*/_jsx(DefaultTemplate, {
|
|
165
|
-
collectionSlug:
|
|
166
|
-
docID:
|
|
260
|
+
collectionSlug: collectionConfig?.slug,
|
|
261
|
+
docID: routeParams.id,
|
|
167
262
|
documentSubViewType: documentSubViewType,
|
|
168
|
-
globalSlug:
|
|
169
|
-
i18n:
|
|
170
|
-
locale:
|
|
263
|
+
globalSlug: globalConfig?.slug,
|
|
264
|
+
i18n: req.i18n,
|
|
265
|
+
locale: locale,
|
|
171
266
|
params: params,
|
|
172
|
-
payload:
|
|
173
|
-
permissions:
|
|
174
|
-
req:
|
|
267
|
+
payload: req.payload,
|
|
268
|
+
permissions: permissions,
|
|
269
|
+
req: req,
|
|
175
270
|
searchParams: searchParams,
|
|
176
|
-
user:
|
|
177
|
-
viewActions:
|
|
271
|
+
user: req.user,
|
|
272
|
+
viewActions: viewActions,
|
|
178
273
|
viewType: viewType,
|
|
179
274
|
visibleEntities: {
|
|
180
275
|
// 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
|
|
181
276
|
// which this caused as soon as initPageResult.visibleEntities is passed in
|
|
182
|
-
collections:
|
|
183
|
-
globals:
|
|
277
|
+
collections: visibleEntities?.collections,
|
|
278
|
+
globals: visibleEntities?.globals
|
|
184
279
|
},
|
|
185
280
|
children: RenderedView
|
|
186
281
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","parseDocumentID","formatAdminURL","React","DefaultTemplate","MinimalTemplate","initPage","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","length","viewKey","browseByFolderSlugs","DefaultView","documentSubViewType","folderID","folderIDParam","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","folders","id","collectionSlug","undefined","RenderedView","clientProps","Fallback","docID","_jsxs","Fragment","_jsx","className","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'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport {\n type AdminViewClientProps,\n type AdminViewServerPropsOnly,\n type ImportMap,\n parseDocumentID,\n type SanitizedConfig,\n} from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React 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 { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (segments.length === 1 && segments[0] === 'collections') {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (segments.length === 1 && segments[0] === 'globals') {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n folderID: folderIDParam,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getRouteData({\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 /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (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 payload = initPageResult?.req.payload\n const folderID = payload.config.folders\n ? parseDocumentID({\n id: folderIDParam,\n collectionSlug: payload.config.folders.slug,\n payload,\n })\n : undefined\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n folderID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n {!templateType && <React.Fragment>{RenderedView}</React.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 req={initPageResult?.req}\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 </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","SyncClientConfig","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","_jsxs","Fragment","_jsx","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\nimport { SyncClientConfig } from './SyncClientConfig.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n collectionPreferences = res.value\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n <SyncClientConfig clientConfig={clientConfig} />\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAgHA,CAAA"}
|
|
@@ -2,19 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { getTranslation } from '@payloadcms/translations';
|
|
5
|
-
import { useConfig, useLocale, useStepNav, useTranslation } from '@payloadcms/ui';
|
|
6
|
-
import {
|
|
5
|
+
import { useConfig, useDocumentTitle, useLocale, useStepNav, useTranslation } from '@payloadcms/ui';
|
|
6
|
+
import { formatAdminURL } from 'payload/shared';
|
|
7
7
|
import { useEffect } from 'react';
|
|
8
8
|
export const SetStepNav = t0 => {
|
|
9
|
-
const $ = _c(
|
|
9
|
+
const $ = _c(24);
|
|
10
10
|
const {
|
|
11
11
|
id,
|
|
12
12
|
collectionConfig,
|
|
13
13
|
globalConfig,
|
|
14
14
|
isTrashed,
|
|
15
15
|
versionToCreatedAtFormatted,
|
|
16
|
-
versionToID
|
|
17
|
-
versionToUseAsTitle
|
|
16
|
+
versionToID
|
|
18
17
|
} = t0;
|
|
19
18
|
const {
|
|
20
19
|
config
|
|
@@ -27,8 +26,11 @@ export const SetStepNav = t0 => {
|
|
|
27
26
|
t
|
|
28
27
|
} = useTranslation();
|
|
29
28
|
const locale = useLocale();
|
|
29
|
+
const {
|
|
30
|
+
title
|
|
31
|
+
} = useDocumentTitle();
|
|
30
32
|
let t1;
|
|
31
|
-
if ($[0] !== collectionConfig || $[1] !== config || $[2] !== globalConfig || $[3] !== i18n || $[4] !== id || $[5] !== isTrashed || $[6] !==
|
|
33
|
+
if ($[0] !== collectionConfig || $[1] !== config || $[2] !== globalConfig || $[3] !== i18n || $[4] !== id || $[5] !== isTrashed || $[6] !== setStepNav || $[7] !== t || $[8] !== title || $[9] !== versionToCreatedAtFormatted) {
|
|
32
34
|
t1 = () => {
|
|
33
35
|
const {
|
|
34
36
|
routes: t2
|
|
@@ -38,18 +40,7 @@ export const SetStepNav = t0 => {
|
|
|
38
40
|
} = t2;
|
|
39
41
|
if (collectionConfig) {
|
|
40
42
|
const collectionSlug = collectionConfig.slug;
|
|
41
|
-
const useAsTitle = collectionConfig.admin?.useAsTitle || "id";
|
|
42
43
|
const pluralLabel = collectionConfig.labels?.plural;
|
|
43
|
-
let docLabel = `[${t("general:untitled")}]`;
|
|
44
|
-
const fields = collectionConfig.fields;
|
|
45
|
-
const titleField = fields.find(f => fieldAffectsData(f) && "name" in f && f.name === useAsTitle);
|
|
46
|
-
if (titleField && versionToUseAsTitle) {
|
|
47
|
-
docLabel = "localized" in titleField && titleField.localized ? versionToUseAsTitle?.[locale.code] || docLabel : versionToUseAsTitle;
|
|
48
|
-
} else {
|
|
49
|
-
if (useAsTitle === "id") {
|
|
50
|
-
docLabel = String(id);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
44
|
const docBasePath = isTrashed ? `/collections/${collectionSlug}/trash/${id}` : `/collections/${collectionSlug}/${id}`;
|
|
54
45
|
const nav = [{
|
|
55
46
|
label: getTranslation(pluralLabel, i18n),
|
|
@@ -68,7 +59,7 @@ export const SetStepNav = t0 => {
|
|
|
68
59
|
});
|
|
69
60
|
}
|
|
70
61
|
nav.push({
|
|
71
|
-
label:
|
|
62
|
+
label: title,
|
|
72
63
|
url: formatAdminURL({
|
|
73
64
|
adminRoute,
|
|
74
65
|
path: docBasePath
|
|
@@ -111,33 +102,32 @@ export const SetStepNav = t0 => {
|
|
|
111
102
|
$[3] = i18n;
|
|
112
103
|
$[4] = id;
|
|
113
104
|
$[5] = isTrashed;
|
|
114
|
-
$[6] =
|
|
115
|
-
$[7] =
|
|
116
|
-
$[8] =
|
|
105
|
+
$[6] = setStepNav;
|
|
106
|
+
$[7] = t;
|
|
107
|
+
$[8] = title;
|
|
117
108
|
$[9] = versionToCreatedAtFormatted;
|
|
118
|
-
$[10] =
|
|
119
|
-
$[11] = t1;
|
|
109
|
+
$[10] = t1;
|
|
120
110
|
} else {
|
|
121
|
-
t1 = $[
|
|
111
|
+
t1 = $[10];
|
|
122
112
|
}
|
|
123
113
|
let t2;
|
|
124
|
-
if ($[
|
|
125
|
-
t2 = [config, setStepNav, id, isTrashed, locale, t, i18n, collectionConfig, globalConfig,
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
114
|
+
if ($[11] !== collectionConfig || $[12] !== config || $[13] !== globalConfig || $[14] !== i18n || $[15] !== id || $[16] !== isTrashed || $[17] !== locale || $[18] !== setStepNav || $[19] !== t || $[20] !== title || $[21] !== versionToCreatedAtFormatted || $[22] !== versionToID) {
|
|
115
|
+
t2 = [config, setStepNav, id, isTrashed, locale, t, i18n, collectionConfig, globalConfig, title, versionToCreatedAtFormatted, versionToID];
|
|
116
|
+
$[11] = collectionConfig;
|
|
117
|
+
$[12] = config;
|
|
118
|
+
$[13] = globalConfig;
|
|
119
|
+
$[14] = i18n;
|
|
120
|
+
$[15] = id;
|
|
121
|
+
$[16] = isTrashed;
|
|
122
|
+
$[17] = locale;
|
|
123
|
+
$[18] = setStepNav;
|
|
124
|
+
$[19] = t;
|
|
125
|
+
$[20] = title;
|
|
135
126
|
$[21] = versionToCreatedAtFormatted;
|
|
136
127
|
$[22] = versionToID;
|
|
137
|
-
$[23] =
|
|
138
|
-
$[24] = t2;
|
|
128
|
+
$[23] = t2;
|
|
139
129
|
} else {
|
|
140
|
-
t2 = $[
|
|
130
|
+
t2 = $[23];
|
|
141
131
|
}
|
|
142
132
|
useEffect(t1, t2);
|
|
143
133
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetStepNav.js","names":["c","_c","getTranslation","useConfig","useLocale","useStepNav","useTranslation","
|
|
1
|
+
{"version":3,"file":"SetStepNav.js","names":["c","_c","getTranslation","useConfig","useDocumentTitle","useLocale","useStepNav","useTranslation","formatAdminURL","useEffect","SetStepNav","t0","$","id","collectionConfig","globalConfig","isTrashed","versionToCreatedAtFormatted","versionToID","config","setStepNav","i18n","t","locale","title","t1","routes","t2","admin","adminRoute","collectionSlug","slug","pluralLabel","labels","plural","docBasePath","nav","label","url","path","push","undefined","globalSlug"],"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig, useDocumentTitle, useLocale, useStepNav, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nexport const SetStepNav: React.FC<{\n readonly collectionConfig?: ClientCollectionConfig\n readonly globalConfig?: ClientGlobalConfig\n readonly id?: number | string\n readonly isTrashed?: boolean\n versionToCreatedAtFormatted?: string\n versionToID?: string\n}> = ({\n id,\n collectionConfig,\n globalConfig,\n isTrashed,\n versionToCreatedAtFormatted,\n versionToID,\n}) => {\n const { config } = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n const { title } = useDocumentTitle()\n\n useEffect(() => {\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n const collectionSlug = collectionConfig.slug\n\n const pluralLabel = collectionConfig.labels?.plural\n\n const docBasePath: `/${string}` = isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`\n\n const nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n },\n ]\n\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n }),\n })\n }\n\n nav.push(\n {\n label: title,\n url: formatAdminURL({\n adminRoute,\n path: docBasePath,\n }),\n },\n {\n label: t('version:versions'),\n url: formatAdminURL({\n adminRoute,\n path: `${docBasePath}/versions`,\n }),\n },\n {\n label: versionToCreatedAtFormatted,\n url: undefined,\n },\n )\n\n setStepNav(nav)\n return\n }\n\n if (globalConfig) {\n const globalSlug = globalConfig.slug\n\n setStepNav([\n {\n label: globalConfig.label,\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n }),\n },\n {\n label: t('version:versions'),\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}/versions`,\n }),\n },\n {\n label: versionToCreatedAtFormatted,\n },\n ])\n }\n }, [\n config,\n setStepNav,\n id,\n isTrashed,\n locale,\n t,\n i18n,\n collectionConfig,\n globalConfig,\n title,\n versionToCreatedAtFormatted,\n versionToID,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAE/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAGzE,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAE/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAGzE,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+PjE,CAAA"}
|
|
@@ -22,8 +22,7 @@ export const DefaultVersionView = ({
|
|
|
22
22
|
versionToCreatedAtFormatted,
|
|
23
23
|
VersionToCreatedAtLabel,
|
|
24
24
|
versionToID,
|
|
25
|
-
versionToStatus
|
|
26
|
-
versionToUseAsTitle
|
|
25
|
+
versionToStatus
|
|
27
26
|
}) => {
|
|
28
27
|
const {
|
|
29
28
|
config,
|
|
@@ -239,8 +238,7 @@ export const DefaultVersionView = ({
|
|
|
239
238
|
id: originalDocID,
|
|
240
239
|
isTrashed: isTrashed,
|
|
241
240
|
versionToCreatedAtFormatted: versionToCreatedAtFormatted,
|
|
242
|
-
versionToID: versionToID
|
|
243
|
-
versionToUseAsTitle: versionToUseAsTitle
|
|
241
|
+
versionToID: versionToID
|
|
244
242
|
}), /*#__PURE__*/_jsx(Gutter, {
|
|
245
243
|
className: `${baseClass}__diff-wrap`,
|
|
246
244
|
children: /*#__PURE__*/_jsx(SelectedLocalesContext, {
|