@payloadcms/next 3.70.0 → 3.71.0-internal-debug.80dab4c
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/login.js +52 -58
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.js +39 -44
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.js +45 -47
- package/dist/auth/refresh.js.map +1 -1
- package/dist/cjs/withPayload.cjs +61 -23
- package/dist/cjs/withPayload.cjs.map +2 -2
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
- package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +9 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +48 -28
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.scss +64 -0
- package/dist/elements/FormHeader/index.js +30 -16
- package/dist/elements/FormHeader/index.js.map +1 -1
- package/dist/elements/FormHeader/index.scss +8 -0
- package/dist/elements/Logo/index.js +19 -34
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +23 -44
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +28 -54
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.scss +27 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
- package/dist/elements/Nav/getNavPrefs.js +27 -22
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.client.js +97 -118
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +148 -127
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/Nav/index.scss +173 -0
- package/dist/esbuildEntry.d.ts +5 -0
- package/dist/esbuildEntry.d.ts.map +1 -0
- package/dist/esbuildEntry.js +6 -0
- package/dist/esbuildEntry.js.map +1 -0
- package/dist/exports/auth.js +1 -0
- package/dist/exports/auth.js.map +1 -1
- package/dist/exports/client.js +1 -1
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js +1 -0
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/rsc.js +1 -0
- package/dist/exports/rsc.js.map +1 -1
- package/dist/exports/templates.js +1 -0
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js +7 -12
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js +1 -0
- package/dist/exports/views.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/NestProviders.js +21 -20
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/checkDependencies.js +49 -41
- package/dist/layouts/Root/checkDependencies.js.map +1 -1
- package/dist/layouts/Root/index.js +128 -103
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +5 -1
- package/dist/routes/graphql/handler.js +114 -122
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js +1 -0
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.js +28 -27
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/index.js +23 -22
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js +103 -79
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +59 -54
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +12 -20
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +20 -44
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.scss +58 -0
- package/dist/templates/Default/index.js +147 -116
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Default/index.scss +79 -0
- package/dist/templates/Minimal/index.js +26 -17
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/templates/Minimal/index.scss +30 -0
- package/dist/utilities/getExistingAuthToken.js +3 -2
- package/dist/utilities/getExistingAuthToken.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.js +12 -13
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.js +5 -5
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getPreferences.js +27 -22
- package/dist/utilities/getPreferences.js.map +1 -1
- package/dist/utilities/getRequestLocale.js +13 -14
- package/dist/utilities/getRequestLocale.js.map +1 -1
- package/dist/utilities/getRequestTheme.js +19 -19
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/getRouteWithoutAdmin.js +3 -5
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +22 -36
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleServerFunctions.js +34 -41
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/initReq.js +78 -96
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/isCustomAdminView.js +22 -26
- package/dist/utilities/isCustomAdminView.js.map +1 -1
- package/dist/utilities/isPublicAdminRoute.js +26 -20
- package/dist/utilities/isPublicAdminRoute.js.map +1 -1
- package/dist/utilities/meta.js +68 -63
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/selectiveCache.js +25 -26
- package/dist/utilities/selectiveCache.js.map +1 -1
- package/dist/utilities/setPayloadAuthCookie.js +19 -22
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
- package/dist/utilities/slugify.js +24 -33
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/timestamp.js +7 -6
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +17 -39
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +171 -126
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.scss +129 -0
- package/dist/views/API/index.client.js +290 -197
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +7 -2
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/index.scss +119 -0
- package/dist/views/API/metadata.js +18 -23
- package/dist/views/API/metadata.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +78 -102
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +18 -47
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +60 -25
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/Settings/index.scss +48 -0
- package/dist/views/Account/ToggleTheme/index.js +38 -55
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js +16 -32
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Account/index.js +147 -158
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/metadata.js +8 -12
- package/dist/views/Account/metadata.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +138 -157
- package/dist/views/BrowseByFolder/buildView.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +16 -16
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/BrowseByFolder/metadata.js +13 -15
- package/dist/views/BrowseByFolder/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +122 -142
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/dist/views/CollectionFolders/index.js +16 -16
- package/dist/views/CollectionFolders/index.js.map +1 -1
- package/dist/views/CollectionFolders/metadata.js +18 -21
- package/dist/views/CollectionFolders/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
- package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
- package/dist/views/CollectionTrash/index.js +17 -17
- package/dist/views/CollectionTrash/index.js.map +1 -1
- package/dist/views/CollectionTrash/metadata.js +18 -21
- package/dist/views/CollectionTrash/metadata.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +117 -103
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +87 -81
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.scss +21 -0
- package/dist/views/CreateFirstUser/metadata.js +8 -12
- package/dist/views/CreateFirstUser/metadata.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +72 -75
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +40 -47
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +64 -65
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +59 -45
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +46 -42
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/metadata.js +10 -14
- package/dist/views/Dashboard/metadata.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
- package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js +27 -30
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocPreferences.js +40 -41
- package/dist/views/Document/getDocPreferences.js.map +1 -1
- package/dist/views/Document/getDocumentData.js +44 -55
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +77 -80
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getDocumentView.js +313 -283
- package/dist/views/Document/getDocumentView.js.map +1 -1
- package/dist/views/Document/getIsLocked.js +66 -66
- package/dist/views/Document/getIsLocked.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +130 -136
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getVersions.js +205 -195
- package/dist/views/Document/getVersions.js.map +1 -1
- package/dist/views/Document/handleServerFunction.js +103 -128
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.js +316 -355
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/metadata.js +2 -1
- package/dist/views/Document/metadata.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +121 -132
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/index.js +10 -6
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/metadata.js +36 -46
- package/dist/views/Edit/metadata.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +79 -62
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/metadata.js +8 -12
- package/dist/views/ForgotPassword/metadata.js.map +1 -1
- package/dist/views/List/createSerializableValue.js +12 -11
- package/dist/views/List/createSerializableValue.js.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
- package/dist/views/List/extractRelationshipDisplayValue.js +15 -14
- package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.js +16 -15
- package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
- package/dist/views/List/handleGroupBy.js +133 -150
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/handleServerFunction.js +98 -121
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.js +305 -323
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/metadata.js +17 -20
- package/dist/views/List/metadata.js.map +1 -1
- package/dist/views/List/renderListViewSlots.js +82 -75
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.js +43 -45
- package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
- package/dist/views/List/transformColumnsToSelect.js +9 -8
- package/dist/views/List/transformColumnsToSelect.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +57 -89
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +107 -160
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.scss +10 -0
- package/dist/views/Login/index.js +82 -85
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/index.scss +10 -0
- package/dist/views/Login/metadata.js +8 -12
- package/dist/views/Login/metadata.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +84 -120
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +29 -29
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/index.scss +25 -0
- package/dist/views/Logout/metadata.js +7 -11
- package/dist/views/Logout/metadata.js.map +1 -1
- package/dist/views/NotFound/index.client.js +71 -82
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +72 -73
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/index.scss +57 -0
- package/dist/views/NotFound/metadata.js +7 -9
- package/dist/views/NotFound/metadata.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.js +93 -73
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/index.scss +11 -0
- package/dist/views/ResetPassword/metadata.js +8 -12
- package/dist/views/ResetPassword/metadata.js.map +1 -1
- package/dist/views/Root/attachViewActions.js +18 -23
- package/dist/views/Root/attachViewActions.js.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.js +19 -21
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js +12 -14
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js +31 -42
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getDocumentViewInfo.js +24 -23
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
- package/dist/views/Root/getRouteData.js +333 -325
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.js +248 -270
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +21 -26
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/metadata.js +176 -181
- package/dist/views/Root/metadata.js.map +1 -1
- package/dist/views/Unauthorized/index.js +54 -46
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/index.scss +14 -0
- package/dist/views/Unauthorized/metadata.js +8 -12
- package/dist/views/Unauthorized/metadata.js.map +1 -1
- package/dist/views/Verify/index.client.js +25 -43
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Verify/index.js +69 -64
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/index.scss +16 -0
- package/dist/views/Verify/metadata.js +8 -12
- package/dist/views/Verify/metadata.js.map +1 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +86 -127
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +380 -236
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +170 -0
- package/dist/views/Version/Default/types.js +2 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -210
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +25 -22
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/Restore/index.js +117 -93
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +84 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
- package/dist/views/Version/SelectComparison/index.js +73 -50
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +9 -0
- package/dist/views/Version/SelectComparison/types.js +2 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +34 -32
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/index.scss +26 -0
- package/dist/views/Version/fetchVersions.js +113 -138
- package/dist/views/Version/fetchVersions.js.map +1 -1
- package/dist/views/Version/index.js +325 -323
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/metadata.js +43 -50
- package/dist/views/Version/metadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +95 -79
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
- package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +10 -8
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +106 -83
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +143 -143
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/index.scss +110 -0
- package/dist/views/Versions/metadata.js +37 -44
- package/dist/views/Versions/metadata.js.map +1 -1
- package/dist/views/Versions/types.js +2 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/withPayload/withPayload.js +198 -143
- package/dist/withPayload/withPayload.js.map +1 -1
- package/dist/withPayload/withPayload.utils.js +92 -95
- package/dist/withPayload/withPayload.utils.js.map +1 -1
- package/dist/withPayload/withPayloadLegacy.js +42 -40
- package/dist/withPayload/withPayloadLegacy.js.map +1 -1
- package/package.json +7 -7
package/dist/views/Root/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { PageConfigProvider } from '@payloadcms/ui';
|
|
3
3
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
4
4
|
import { getVisibleEntities } from '@payloadcms/ui/shared';
|
|
@@ -16,285 +16,263 @@ import { isCustomAdminView } from '../../utilities/isCustomAdminView.js';
|
|
|
16
16
|
import { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js';
|
|
17
17
|
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
18
18
|
import { getRouteData } from './getRouteData.js';
|
|
19
|
-
export const RootPage = async ({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
export const RootPage = async ({ config: configPromise, importMap, params: paramsPromise, searchParams: searchParamsPromise })=>{
|
|
20
|
+
const config = await configPromise;
|
|
21
|
+
const { admin: { routes: { createFirstUser: _createFirstUserRoute }, user: userSlug }, routes: { admin: adminRoute } } = config;
|
|
22
|
+
const params = await paramsPromise;
|
|
23
|
+
const currentRoute = formatAdminURL({
|
|
24
|
+
adminRoute,
|
|
25
|
+
path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null
|
|
26
|
+
});
|
|
27
|
+
const segments = Array.isArray(params.segments) ? params.segments : [];
|
|
28
|
+
const isCollectionRoute = segments[0] === 'collections';
|
|
29
|
+
const isGlobalRoute = segments[0] === 'globals';
|
|
30
|
+
let collectionConfig = undefined;
|
|
31
|
+
let globalConfig = undefined;
|
|
32
|
+
const searchParams = await searchParamsPromise;
|
|
33
|
+
// Redirect `${adminRoute}/collections` to `${adminRoute}`
|
|
34
|
+
if (isCollectionRoute) {
|
|
35
|
+
if (segments.length === 1) {
|
|
36
|
+
const { viewKey } = getCustomViewByRoute({
|
|
37
|
+
config,
|
|
38
|
+
currentRoute: '/collections'
|
|
39
|
+
});
|
|
40
|
+
// Only redirect if there's NO custom view configured for /collections
|
|
41
|
+
if (!viewKey) {
|
|
42
|
+
redirect(adminRoute);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (segments[1]) {
|
|
46
|
+
collectionConfig = config.collections.find(({ slug })=>slug === segments[1]);
|
|
47
|
+
}
|
|
35
48
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
}
|
|
49
|
+
// Redirect `${adminRoute}/globals` to `${adminRoute}`
|
|
50
|
+
if (isGlobalRoute) {
|
|
51
|
+
if (segments.length === 1) {
|
|
52
|
+
const { viewKey } = getCustomViewByRoute({
|
|
53
|
+
config,
|
|
54
|
+
currentRoute: '/globals'
|
|
55
|
+
});
|
|
56
|
+
// Only redirect if there's NO custom view configured for /globals
|
|
57
|
+
if (!viewKey) {
|
|
58
|
+
redirect(adminRoute);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (segments[1]) {
|
|
62
|
+
globalConfig = config.globals.find(({ slug })=>slug === segments[1]);
|
|
63
|
+
}
|
|
61
64
|
}
|
|
62
|
-
if (
|
|
63
|
-
|
|
64
|
-
slug
|
|
65
|
-
}) => slug === segments[1]);
|
|
65
|
+
if (isCollectionRoute && !collectionConfig || isGlobalRoute && !globalConfig) {
|
|
66
|
+
return notFound();
|
|
66
67
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
const queryString = `${qs.stringify(searchParams ?? {}, {
|
|
69
|
+
addQueryPrefix: true
|
|
70
|
+
})}`;
|
|
71
|
+
const { cookies, locale, permissions, req, req: { payload } } = await initReq({
|
|
72
|
+
configPromise: config,
|
|
73
|
+
importMap,
|
|
74
|
+
key: 'initPage',
|
|
75
|
+
overrides: {
|
|
76
|
+
fallbackLocale: false,
|
|
77
|
+
req: {
|
|
78
|
+
query: qs.parse(queryString, {
|
|
79
|
+
depth: 10,
|
|
80
|
+
ignoreQueryPrefix: true
|
|
81
|
+
})
|
|
82
|
+
},
|
|
83
|
+
// intentionally omit `serverURL` to keep URL relative
|
|
84
|
+
urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
if (!permissions.canAccessAdmin && !isPublicAdminRoute({
|
|
88
|
+
adminRoute,
|
|
89
|
+
config: payload.config,
|
|
90
|
+
route: currentRoute
|
|
91
|
+
}) && !isCustomAdminView({
|
|
92
|
+
adminRoute,
|
|
93
|
+
config: payload.config,
|
|
94
|
+
route: currentRoute
|
|
95
|
+
})) {
|
|
96
|
+
redirect(handleAuthRedirect({
|
|
97
|
+
config: payload.config,
|
|
98
|
+
route: currentRoute,
|
|
99
|
+
searchParams,
|
|
100
|
+
user: req.user
|
|
101
|
+
}));
|
|
81
102
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
slug
|
|
85
|
-
|
|
103
|
+
let collectionPreferences = undefined;
|
|
104
|
+
if (collectionConfig && segments.length === 2) {
|
|
105
|
+
if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
|
|
106
|
+
await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then((res)=>{
|
|
107
|
+
if (res && res.value) {
|
|
108
|
+
collectionPreferences = res.value;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
86
112
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
req
|
|
99
|
-
|
|
100
|
-
|
|
113
|
+
const { browseByFolderSlugs, DefaultView, documentSubViewType, routeParams, templateClassName, templateType, viewActions, viewType } = getRouteData({
|
|
114
|
+
adminRoute,
|
|
115
|
+
collectionConfig,
|
|
116
|
+
collectionPreferences,
|
|
117
|
+
currentRoute,
|
|
118
|
+
globalConfig,
|
|
119
|
+
payload,
|
|
120
|
+
searchParams,
|
|
121
|
+
segments
|
|
122
|
+
});
|
|
123
|
+
req.routeParams = routeParams;
|
|
124
|
+
const dbHasUser = req.user || await req.payload.db.findOne({
|
|
125
|
+
collection: userSlug,
|
|
126
|
+
req
|
|
127
|
+
})?.then((doc)=>!!doc);
|
|
128
|
+
/**
|
|
129
|
+
* This function is responsible for handling the case where the view is not found.
|
|
130
|
+
* The current route did not match any default views or custom route views.
|
|
131
|
+
*/ if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
|
|
132
|
+
if (req?.user) {
|
|
133
|
+
notFound();
|
|
134
|
+
}
|
|
135
|
+
if (dbHasUser) {
|
|
136
|
+
redirect(adminRoute);
|
|
137
|
+
}
|
|
101
138
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
depth: 10,
|
|
111
|
-
ignoreQueryPrefix: true
|
|
112
|
-
})
|
|
113
|
-
},
|
|
114
|
-
// intentionally omit `serverURL` to keep URL relative
|
|
115
|
-
urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`
|
|
139
|
+
const usersCollection = config.collections.find(({ slug })=>slug === userSlug);
|
|
140
|
+
const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy;
|
|
141
|
+
const createFirstUserRoute = formatAdminURL({
|
|
142
|
+
adminRoute,
|
|
143
|
+
path: _createFirstUserRoute
|
|
144
|
+
});
|
|
145
|
+
if (disableLocalStrategy && currentRoute === createFirstUserRoute) {
|
|
146
|
+
redirect(adminRoute);
|
|
116
147
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
adminRoute,
|
|
120
|
-
config: payload.config,
|
|
121
|
-
route: currentRoute
|
|
122
|
-
}) && !isCustomAdminView({
|
|
123
|
-
adminRoute,
|
|
124
|
-
config: payload.config,
|
|
125
|
-
route: currentRoute
|
|
126
|
-
})) {
|
|
127
|
-
redirect(handleAuthRedirect({
|
|
128
|
-
config: payload.config,
|
|
129
|
-
route: currentRoute,
|
|
130
|
-
searchParams,
|
|
131
|
-
user: req.user
|
|
132
|
-
}));
|
|
133
|
-
}
|
|
134
|
-
let collectionPreferences = undefined;
|
|
135
|
-
if (collectionConfig && segments.length === 2) {
|
|
136
|
-
if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {
|
|
137
|
-
await getPreferences(`collection-${collectionConfig.slug}`, req.payload, req.user.id, config.admin.user).then(res => {
|
|
138
|
-
if (res && res.value) {
|
|
139
|
-
collectionPreferences = res.value;
|
|
140
|
-
}
|
|
141
|
-
});
|
|
148
|
+
if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {
|
|
149
|
+
redirect(createFirstUserRoute);
|
|
142
150
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
browseByFolderSlugs,
|
|
146
|
-
DefaultView,
|
|
147
|
-
documentSubViewType,
|
|
148
|
-
routeParams,
|
|
149
|
-
templateClassName,
|
|
150
|
-
templateType,
|
|
151
|
-
viewActions,
|
|
152
|
-
viewType
|
|
153
|
-
} = getRouteData({
|
|
154
|
-
adminRoute,
|
|
155
|
-
collectionConfig,
|
|
156
|
-
collectionPreferences,
|
|
157
|
-
currentRoute,
|
|
158
|
-
globalConfig,
|
|
159
|
-
payload,
|
|
160
|
-
searchParams,
|
|
161
|
-
segments
|
|
162
|
-
});
|
|
163
|
-
req.routeParams = routeParams;
|
|
164
|
-
const dbHasUser = req.user || (await req.payload.db.findOne({
|
|
165
|
-
collection: userSlug,
|
|
166
|
-
req
|
|
167
|
-
})?.then(doc => !!doc));
|
|
168
|
-
/**
|
|
169
|
-
* This function is responsible for handling the case where the view is not found.
|
|
170
|
-
* The current route did not match any default views or custom route views.
|
|
171
|
-
*/
|
|
172
|
-
if (!DefaultView?.Component && !DefaultView?.payloadComponent) {
|
|
173
|
-
if (req?.user) {
|
|
174
|
-
notFound();
|
|
151
|
+
if (dbHasUser && currentRoute === createFirstUserRoute) {
|
|
152
|
+
redirect(adminRoute);
|
|
175
153
|
}
|
|
176
|
-
if (dbHasUser) {
|
|
177
|
-
|
|
154
|
+
if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {
|
|
155
|
+
redirect(adminRoute);
|
|
178
156
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
redirect(adminRoute);
|
|
199
|
-
}
|
|
200
|
-
const clientConfig = getClientConfig({
|
|
201
|
-
config,
|
|
202
|
-
i18n: req.i18n,
|
|
203
|
-
importMap,
|
|
204
|
-
user: viewType === 'createFirstUser' ? true : req.user
|
|
205
|
-
});
|
|
206
|
-
await applyLocaleFiltering({
|
|
207
|
-
clientConfig,
|
|
208
|
-
config,
|
|
209
|
-
req
|
|
210
|
-
});
|
|
211
|
-
// Ensure locale on req is still valid after filtering locales
|
|
212
|
-
if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
|
|
213
|
-
redirect(`${currentRoute}${qs.stringify({
|
|
214
|
-
...searchParams,
|
|
215
|
-
locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
|
|
216
|
-
}, {
|
|
217
|
-
addQueryPrefix: true
|
|
218
|
-
})}`);
|
|
219
|
-
}
|
|
220
|
-
const visibleEntities = getVisibleEntities({
|
|
221
|
-
req
|
|
222
|
-
});
|
|
223
|
-
const folderID = routeParams.folderID;
|
|
224
|
-
const RenderedView = RenderServerComponent({
|
|
225
|
-
clientProps: {
|
|
226
|
-
browseByFolderSlugs,
|
|
227
|
-
clientConfig,
|
|
228
|
-
documentSubViewType,
|
|
229
|
-
viewType
|
|
230
|
-
},
|
|
231
|
-
Component: DefaultView.payloadComponent,
|
|
232
|
-
Fallback: DefaultView.Component,
|
|
233
|
-
importMap,
|
|
234
|
-
serverProps: {
|
|
235
|
-
clientConfig,
|
|
236
|
-
collectionConfig,
|
|
237
|
-
docID: routeParams.id,
|
|
238
|
-
folderID,
|
|
239
|
-
globalConfig,
|
|
240
|
-
i18n: req.i18n,
|
|
241
|
-
importMap,
|
|
242
|
-
initPageResult: {
|
|
243
|
-
collectionConfig,
|
|
244
|
-
cookies,
|
|
245
|
-
docID: routeParams.id,
|
|
246
|
-
globalConfig,
|
|
247
|
-
languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
|
|
248
|
-
if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
|
|
249
|
-
acc.push({
|
|
250
|
-
label: languageConfig.translations.general.thisLanguage,
|
|
251
|
-
value: language
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
return acc;
|
|
255
|
-
}, []),
|
|
256
|
-
locale,
|
|
257
|
-
permissions,
|
|
258
|
-
req,
|
|
259
|
-
translations: req.i18n.translations,
|
|
260
|
-
visibleEntities
|
|
261
|
-
},
|
|
262
|
-
params,
|
|
263
|
-
payload: req.payload,
|
|
264
|
-
searchParams,
|
|
265
|
-
viewActions
|
|
157
|
+
const clientConfig = getClientConfig({
|
|
158
|
+
config,
|
|
159
|
+
i18n: req.i18n,
|
|
160
|
+
importMap,
|
|
161
|
+
user: viewType === 'createFirstUser' ? true : req.user
|
|
162
|
+
});
|
|
163
|
+
await applyLocaleFiltering({
|
|
164
|
+
clientConfig,
|
|
165
|
+
config,
|
|
166
|
+
req
|
|
167
|
+
});
|
|
168
|
+
// Ensure locale on req is still valid after filtering locales
|
|
169
|
+
if (clientConfig.localization && req.locale && !clientConfig.localization.localeCodes.includes(req.locale)) {
|
|
170
|
+
redirect(`${currentRoute}${qs.stringify({
|
|
171
|
+
...searchParams,
|
|
172
|
+
locale: clientConfig.localization.localeCodes.includes(clientConfig.localization.defaultLocale) ? clientConfig.localization.defaultLocale : clientConfig.localization.localeCodes[0]
|
|
173
|
+
}, {
|
|
174
|
+
addQueryPrefix: true
|
|
175
|
+
})}`);
|
|
266
176
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
177
|
+
const visibleEntities = getVisibleEntities({
|
|
178
|
+
req
|
|
179
|
+
});
|
|
180
|
+
const folderID = routeParams.folderID;
|
|
181
|
+
const RenderedView = RenderServerComponent({
|
|
182
|
+
clientProps: {
|
|
183
|
+
browseByFolderSlugs,
|
|
184
|
+
clientConfig,
|
|
185
|
+
documentSubViewType,
|
|
186
|
+
viewType
|
|
187
|
+
},
|
|
188
|
+
Component: DefaultView.payloadComponent,
|
|
189
|
+
Fallback: DefaultView.Component,
|
|
190
|
+
importMap,
|
|
191
|
+
serverProps: {
|
|
192
|
+
clientConfig,
|
|
193
|
+
collectionConfig,
|
|
194
|
+
docID: routeParams.id,
|
|
195
|
+
folderID,
|
|
196
|
+
globalConfig,
|
|
197
|
+
i18n: req.i18n,
|
|
198
|
+
importMap,
|
|
199
|
+
initPageResult: {
|
|
200
|
+
collectionConfig,
|
|
201
|
+
cookies,
|
|
202
|
+
docID: routeParams.id,
|
|
203
|
+
globalConfig,
|
|
204
|
+
languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig])=>{
|
|
205
|
+
if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {
|
|
206
|
+
acc.push({
|
|
207
|
+
label: languageConfig.translations.general.thisLanguage,
|
|
208
|
+
value: language
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
return acc;
|
|
212
|
+
}, []),
|
|
213
|
+
locale,
|
|
214
|
+
permissions,
|
|
215
|
+
req,
|
|
216
|
+
translations: req.i18n.translations,
|
|
217
|
+
visibleEntities
|
|
218
|
+
},
|
|
219
|
+
params,
|
|
220
|
+
payload: req.payload,
|
|
221
|
+
searchParams,
|
|
222
|
+
viewActions
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
return /*#__PURE__*/ _jsxDEV(PageConfigProvider, {
|
|
226
|
+
config: clientConfig,
|
|
227
|
+
children: [
|
|
228
|
+
!templateType && /*#__PURE__*/ _jsxDEV(React.Fragment, {
|
|
229
|
+
children: RenderedView
|
|
230
|
+
}, void 0, false, {
|
|
231
|
+
fileName: "src/views/Root/index.tsx",
|
|
232
|
+
lineNumber: 332,
|
|
233
|
+
columnNumber: 25
|
|
234
|
+
}, this),
|
|
235
|
+
templateType === 'minimal' && /*#__PURE__*/ _jsxDEV(MinimalTemplate, {
|
|
236
|
+
className: templateClassName,
|
|
237
|
+
children: RenderedView
|
|
238
|
+
}, void 0, false, {
|
|
239
|
+
fileName: "src/views/Root/index.tsx",
|
|
240
|
+
lineNumber: 334,
|
|
241
|
+
columnNumber: 9
|
|
242
|
+
}, this),
|
|
243
|
+
templateType === 'default' && /*#__PURE__*/ _jsxDEV(DefaultTemplate, {
|
|
244
|
+
collectionSlug: collectionConfig?.slug,
|
|
245
|
+
docID: routeParams.id,
|
|
246
|
+
documentSubViewType: documentSubViewType,
|
|
247
|
+
globalSlug: globalConfig?.slug,
|
|
248
|
+
i18n: req.i18n,
|
|
249
|
+
locale: locale,
|
|
250
|
+
params: params,
|
|
251
|
+
payload: req.payload,
|
|
252
|
+
permissions: permissions,
|
|
253
|
+
req: req,
|
|
254
|
+
searchParams: searchParams,
|
|
255
|
+
user: req.user,
|
|
256
|
+
viewActions: viewActions,
|
|
257
|
+
viewType: viewType,
|
|
258
|
+
visibleEntities: {
|
|
259
|
+
// 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
|
|
260
|
+
// which this caused as soon as initPageResult.visibleEntities is passed in
|
|
261
|
+
collections: visibleEntities?.collections,
|
|
262
|
+
globals: visibleEntities?.globals
|
|
263
|
+
},
|
|
264
|
+
children: RenderedView
|
|
265
|
+
}, void 0, false, {
|
|
266
|
+
fileName: "src/views/Root/index.tsx",
|
|
267
|
+
lineNumber: 337,
|
|
268
|
+
columnNumber: 9
|
|
269
|
+
}, this)
|
|
270
|
+
]
|
|
271
|
+
}, void 0, true, {
|
|
272
|
+
fileName: "src/views/Root/index.tsx",
|
|
273
|
+
lineNumber: 331,
|
|
274
|
+
columnNumber: 5
|
|
275
|
+
}, this);
|
|
299
276
|
};
|
|
277
|
+
|
|
300
278
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PageConfigProvider","RenderServerComponent","getVisibleEntities","getClientConfig","notFound","redirect","applyLocaleFiltering","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","_jsxs","_jsx","Fragment","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { PageConfigProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getVisibleEntities } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { applyLocaleFiltering, 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 { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\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 // intentionally omit `serverURL` to keep URL relative\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\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 await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { PageConfigProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getVisibleEntities } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { applyLocaleFiltering, 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 { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\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 // intentionally omit `serverURL` to keep URL relative\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\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 await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"names":["PageConfigProvider","RenderServerComponent","getVisibleEntities","getClientConfig","notFound","redirect","applyLocaleFiltering","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","Fragment","className","collectionSlug","globalSlug"],"mappings":"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"}
|