@payloadcms/next 3.0.0-canary.518fabe → 3.0.0-canary.51be7be

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/cjs/withPayload.cjs +145 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +70 -68
  4. package/dist/elements/DocumentHeader/Tabs/index.scss +41 -39
  5. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +28 -24
  7. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  8. package/dist/elements/DocumentHeader/index.scss +44 -42
  9. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  10. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  11. package/dist/elements/DocumentLocked/index.js +142 -0
  12. package/dist/elements/DocumentLocked/index.js.map +1 -0
  13. package/dist/elements/DocumentLocked/index.scss +39 -0
  14. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  15. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  16. package/dist/elements/DocumentTakeOver/index.js +98 -0
  17. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  18. package/dist/elements/DocumentTakeOver/index.scss +39 -0
  19. package/dist/elements/FormHeader/index.d.ts +9 -0
  20. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  21. package/dist/elements/FormHeader/index.js +20 -0
  22. package/dist/elements/FormHeader/index.js.map +1 -0
  23. package/dist/elements/FormHeader/index.scss +8 -0
  24. package/dist/elements/LeaveWithoutSaving/index.scss +28 -26
  25. package/dist/elements/Nav/NavWrapper/index.scss +21 -14
  26. package/dist/elements/Nav/index.scss +127 -121
  27. package/dist/exports/utilities.d.ts +1 -0
  28. package/dist/exports/utilities.d.ts.map +1 -1
  29. package/dist/exports/utilities.js +1 -0
  30. package/dist/exports/utilities.js.map +1 -1
  31. package/dist/layouts/Root/index.d.ts.map +1 -1
  32. package/dist/layouts/Root/index.js +55 -23
  33. package/dist/layouts/Root/index.js.map +1 -1
  34. package/dist/prod/styles.css +1 -1
  35. package/dist/routes/graphql/handler.d.ts.map +1 -1
  36. package/dist/routes/graphql/handler.js +23 -11
  37. package/dist/routes/graphql/handler.js.map +1 -1
  38. package/dist/routes/rest/auth/login.js +2 -2
  39. package/dist/routes/rest/auth/login.js.map +1 -1
  40. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  41. package/dist/routes/rest/auth/logout.js +3 -2
  42. package/dist/routes/rest/auth/logout.js.map +1 -1
  43. package/dist/routes/rest/auth/refresh.js +2 -2
  44. package/dist/routes/rest/auth/refresh.js.map +1 -1
  45. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  46. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  47. package/dist/routes/rest/auth/resetPassword.js +2 -2
  48. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  49. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  50. package/dist/routes/rest/collections/delete.js +2 -0
  51. package/dist/routes/rest/collections/delete.js.map +1 -1
  52. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  53. package/dist/routes/rest/collections/deleteByID.js +2 -0
  54. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  55. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  56. package/dist/routes/rest/collections/find.js +3 -0
  57. package/dist/routes/rest/collections/find.js.map +1 -1
  58. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  59. package/dist/routes/rest/collections/findByID.js +2 -0
  60. package/dist/routes/rest/collections/findByID.js.map +1 -1
  61. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  62. package/dist/routes/rest/collections/update.js +4 -0
  63. package/dist/routes/rest/collections/update.js.map +1 -1
  64. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  65. package/dist/routes/rest/collections/updateByID.js +4 -0
  66. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  67. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  68. package/dist/routes/rest/globals/update.js +2 -0
  69. package/dist/routes/rest/globals/update.js.map +1 -1
  70. package/dist/routes/rest/index.d.ts +12 -12
  71. package/dist/routes/rest/index.d.ts.map +1 -1
  72. package/dist/routes/rest/index.js +17 -15
  73. package/dist/routes/rest/index.js.map +1 -1
  74. package/dist/routes/rest/routeError.d.ts +2 -7
  75. package/dist/routes/rest/routeError.d.ts.map +1 -1
  76. package/dist/routes/rest/routeError.js +33 -19
  77. package/dist/routes/rest/routeError.js.map +1 -1
  78. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  79. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  80. package/dist/routes/rest/utilities/sanitizeJoinParams.js +17 -0
  81. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  82. package/dist/scss/app.scss +166 -162
  83. package/dist/scss/colors.scss +256 -254
  84. package/dist/scss/resets.scss +9 -7
  85. package/dist/scss/toastify.scss +42 -40
  86. package/dist/scss/toasts.scss +105 -103
  87. package/dist/scss/type.scss +80 -79
  88. package/dist/templates/Default/Wrapper/index.scss +38 -36
  89. package/dist/templates/Default/index.d.ts.map +1 -1
  90. package/dist/templates/Default/index.js +18 -6
  91. package/dist/templates/Default/index.js.map +1 -1
  92. package/dist/templates/Default/index.scss +62 -50
  93. package/dist/templates/Minimal/index.scss +22 -20
  94. package/dist/utilities/getNextRequestI18n.js +2 -2
  95. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  96. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  97. package/dist/utilities/getRequestTheme.js +3 -0
  98. package/dist/utilities/getRequestTheme.js.map +1 -1
  99. package/dist/utilities/initPage/handleAdminPage.d.ts +12 -11
  100. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  101. package/dist/utilities/initPage/handleAdminPage.js +9 -21
  102. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  103. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  104. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  105. package/dist/utilities/initPage/handleAuthRedirect.js +23 -36
  106. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  107. package/dist/utilities/initPage/index.d.ts +1 -1
  108. package/dist/utilities/initPage/index.d.ts.map +1 -1
  109. package/dist/utilities/initPage/index.js +44 -42
  110. package/dist/utilities/initPage/index.js.map +1 -1
  111. package/dist/utilities/initPage/shared.d.ts +2 -2
  112. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  113. package/dist/utilities/initPage/shared.js +18 -13
  114. package/dist/utilities/initPage/shared.js.map +1 -1
  115. package/dist/utilities/initReq.d.ts +11 -0
  116. package/dist/utilities/initReq.d.ts.map +1 -0
  117. package/dist/utilities/initReq.js +46 -0
  118. package/dist/utilities/initReq.js.map +1 -0
  119. package/dist/views/API/RenderJSON/index.scss +68 -66
  120. package/dist/views/API/index.scss +98 -96
  121. package/dist/views/Account/Settings/index.d.ts +2 -1
  122. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  123. package/dist/views/Account/Settings/index.js +3 -2
  124. package/dist/views/Account/Settings/index.js.map +1 -1
  125. package/dist/views/Account/Settings/index.scss +37 -35
  126. package/dist/views/Account/index.d.ts.map +1 -1
  127. package/dist/views/Account/index.js +4 -2
  128. package/dist/views/Account/index.js.map +1 -1
  129. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  130. package/dist/views/CreateFirstUser/index.client.js +35 -16
  131. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  132. package/dist/views/CreateFirstUser/index.scss +13 -11
  133. package/dist/views/Dashboard/Default/index.d.ts +8 -1
  134. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  135. package/dist/views/Dashboard/Default/index.js +14 -2
  136. package/dist/views/Dashboard/Default/index.js.map +1 -1
  137. package/dist/views/Dashboard/Default/index.scss +53 -46
  138. package/dist/views/Dashboard/index.d.ts.map +1 -1
  139. package/dist/views/Dashboard/index.js +16 -1
  140. package/dist/views/Dashboard/index.js.map +1 -1
  141. package/dist/views/Document/getDocumentData.d.ts +5 -2
  142. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  143. package/dist/views/Document/getDocumentData.js +13 -2
  144. package/dist/views/Document/getDocumentData.js.map +1 -1
  145. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  146. package/dist/views/Document/getDocumentPermissions.js +4 -1
  147. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  148. package/dist/views/Edit/Default/Auth/index.scss +56 -54
  149. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  150. package/dist/views/Edit/Default/index.js +127 -14
  151. package/dist/views/Edit/Default/index.js.map +1 -1
  152. package/dist/views/Edit/Default/index.scss +15 -13
  153. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  154. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +12 -11
  155. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  156. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  157. package/dist/views/ForgotPassword/index.js +8 -8
  158. package/dist/views/ForgotPassword/index.js.map +1 -1
  159. package/dist/views/List/Default/index.d.ts.map +1 -1
  160. package/dist/views/List/Default/index.js +62 -58
  161. package/dist/views/List/Default/index.js.map +1 -1
  162. package/dist/views/List/Default/index.scss +136 -134
  163. package/dist/views/List/index.d.ts.map +1 -1
  164. package/dist/views/List/index.js +1 -0
  165. package/dist/views/List/index.js.map +1 -1
  166. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  167. package/dist/views/LivePreview/Preview/index.scss +32 -30
  168. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  169. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  170. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  171. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  172. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  173. package/dist/views/LivePreview/index.client.js +214 -200
  174. package/dist/views/LivePreview/index.client.js.map +1 -1
  175. package/dist/views/LivePreview/index.scss +48 -46
  176. package/dist/views/LivePreview/usePopupWindow.js +119 -74
  177. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  178. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  179. package/dist/views/Login/LoginForm/index.js +3 -3
  180. package/dist/views/Login/LoginForm/index.js.map +1 -1
  181. package/dist/views/Login/LoginForm/index.scss +8 -6
  182. package/dist/views/Login/index.scss +8 -6
  183. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  184. package/dist/views/Logout/LogoutClient.js +77 -55
  185. package/dist/views/Logout/LogoutClient.js.map +1 -1
  186. package/dist/views/Logout/index.scss +17 -15
  187. package/dist/views/NotFound/index.d.ts +5 -5
  188. package/dist/views/NotFound/index.d.ts.map +1 -1
  189. package/dist/views/NotFound/index.js +4 -2
  190. package/dist/views/NotFound/index.js.map +1 -1
  191. package/dist/views/NotFound/index.scss +38 -36
  192. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  193. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  194. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +16 -19
  195. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  196. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  197. package/dist/views/ResetPassword/index.js +17 -10
  198. package/dist/views/ResetPassword/index.js.map +1 -1
  199. package/dist/views/ResetPassword/index.scss +6 -26
  200. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  201. package/dist/views/Root/getViewFromConfig.js +1 -7
  202. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  203. package/dist/views/Root/index.d.ts +5 -5
  204. package/dist/views/Root/index.d.ts.map +1 -1
  205. package/dist/views/Root/index.js +9 -4
  206. package/dist/views/Root/index.js.map +1 -1
  207. package/dist/views/Root/meta.d.ts +5 -5
  208. package/dist/views/Root/meta.d.ts.map +1 -1
  209. package/dist/views/Root/meta.js +3 -2
  210. package/dist/views/Root/meta.js.map +1 -1
  211. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  212. package/dist/views/Unauthorized/index.js +14 -7
  213. package/dist/views/Unauthorized/index.js.map +1 -1
  214. package/dist/views/Unauthorized/index.scss +4 -31
  215. package/dist/views/Verify/index.client.d.ts +7 -0
  216. package/dist/views/Verify/index.client.d.ts.map +1 -0
  217. package/dist/views/Verify/index.client.js +46 -0
  218. package/dist/views/Verify/index.client.js.map +1 -0
  219. package/dist/views/Verify/index.d.ts.map +1 -1
  220. package/dist/views/Verify/index.js +12 -11
  221. package/dist/views/Verify/index.js.map +1 -1
  222. package/dist/views/Verify/index.scss +13 -11
  223. package/dist/views/Version/Default/index.d.ts.map +1 -1
  224. package/dist/views/Version/Default/index.js +2 -0
  225. package/dist/views/Version/Default/index.js.map +1 -1
  226. package/dist/views/Version/Default/index.scss +52 -50
  227. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  228. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  229. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  230. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  231. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  232. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  233. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  234. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  235. package/dist/views/Version/Restore/index.js +8 -14
  236. package/dist/views/Version/Restore/index.js.map +1 -1
  237. package/dist/views/Version/Restore/index.scss +57 -55
  238. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  239. package/dist/views/Version/SelectComparison/index.js +24 -3
  240. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  241. package/dist/views/Version/SelectComparison/index.scss +12 -10
  242. package/dist/views/Version/SelectComparison/types.d.ts +1 -0
  243. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  244. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  245. package/dist/views/Version/SelectLocales/index.scss +6 -4
  246. package/dist/views/Version/index.d.ts.map +1 -1
  247. package/dist/views/Version/index.js +2 -0
  248. package/dist/views/Version/index.js.map +1 -1
  249. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  250. package/dist/views/Versions/buildColumns.js +63 -48
  251. package/dist/views/Versions/buildColumns.js.map +1 -1
  252. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  253. package/dist/views/Versions/cells/AutosaveCell/index.js +48 -20
  254. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  255. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  256. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  257. package/dist/views/Versions/getLatestVersion.js +14 -3
  258. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  259. package/dist/views/Versions/index.d.ts.map +1 -1
  260. package/dist/views/Versions/index.js +30 -7
  261. package/dist/views/Versions/index.js.map +1 -1
  262. package/dist/views/Versions/index.scss +78 -76
  263. package/dist/withPayload.d.ts.map +1 -1
  264. package/dist/withPayload.js +4 -4
  265. package/dist/withPayload.js.map +1 -1
  266. package/package.json +24 -16
  267. package/dist/cjs/withPayload.js +0 -111
  268. package/dist/cjs/withPayload.js.map +0 -1
  269. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  270. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  271. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -1,31 +1,11 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .reset-password {
4
- &__wrap {
5
- z-index: 1;
6
- position: relative;
7
- display: flex;
8
- flex-direction: column;
9
- align-items: flex-start;
10
- gap: base(0.8);
11
- max-width: base(36);
12
-
13
- & > form {
14
- width: 100%;
15
-
16
- & > .inputWrap {
17
- display: flex;
18
- flex-direction: column;
19
- gap: base(0.8);
20
-
21
- > * {
22
- margin: 0;
23
- }
24
- }
25
- }
26
-
27
- & > .btn {
28
- margin: 0;
3
+ @layer payload-default {
4
+ .reset-password__wrap {
5
+ .inputWrap {
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: base(0.8);
29
9
  }
30
10
  }
31
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,iBAAiB,6EAO3B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CA6JpC,CAAA"}
1
+ {"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AAYD,eAAO,MAAM,iBAAiB,6EAO3B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CAuJpC,CAAA"}
@@ -57,7 +57,6 @@ export const getViewFromConfig = ({
57
57
  };
58
58
  templateClassName = 'dashboard';
59
59
  templateType = 'default';
60
- initPageOptions.redirectUnauthenticatedUser = true;
61
60
  }
62
61
  break;
63
62
  }
@@ -95,7 +94,6 @@ export const getViewFromConfig = ({
95
94
  templateClassName = baseClasses[viewKey];
96
95
  templateType = 'minimal';
97
96
  if (viewKey === 'account') {
98
- initPageOptions.redirectUnauthenticatedUser = true;
99
97
  templateType = 'default';
100
98
  }
101
99
  }
@@ -103,7 +101,7 @@ export const getViewFromConfig = ({
103
101
  }
104
102
  case 2:
105
103
  {
106
- if (segmentOne === 'reset') {
104
+ if (`/${segmentOne}` === config.admin.routes.reset) {
107
105
  // --> /reset/:token
108
106
  ViewToRender = {
109
107
  Component: ResetPassword
@@ -113,7 +111,6 @@ export const getViewFromConfig = ({
113
111
  }
114
112
  if (isCollection) {
115
113
  // --> /collections/:collectionSlug
116
- initPageOptions.redirectUnauthenticatedUser = true;
117
114
  ViewToRender = {
118
115
  Component: ListView
119
116
  };
@@ -121,7 +118,6 @@ export const getViewFromConfig = ({
121
118
  templateType = 'default';
122
119
  } else if (isGlobal) {
123
120
  // --> /globals/:globalSlug
124
- initPageOptions.redirectUnauthenticatedUser = true;
125
121
  ViewToRender = {
126
122
  Component: DocumentView
127
123
  };
@@ -145,7 +141,6 @@ export const getViewFromConfig = ({
145
141
  // --> /collections/:collectionSlug/:id/versions
146
142
  // --> /collections/:collectionSlug/:id/versions/:versionId
147
143
  // --> /collections/:collectionSlug/:id/api
148
- initPageOptions.redirectUnauthenticatedUser = true;
149
144
  ViewToRender = {
150
145
  Component: DocumentView
151
146
  };
@@ -157,7 +152,6 @@ export const getViewFromConfig = ({
157
152
  // --> /globals/:globalSlug/preview
158
153
  // --> /globals/:globalSlug/versions/:versionId
159
154
  // --> /globals/:globalSlug/api
160
- initPageOptions.redirectUnauthenticatedUser = true;
161
155
  ViewToRender = {
162
156
  Component: DocumentView
163
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","Component","redirectUnauthenticatedUser","viewKey","admin","routes","matchedRoute","Object","entries","find","exact","path","view","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n initPageOptions.redirectUnauthenticatedUser = true\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n initPageOptions.redirectUnauthenticatedUser = true\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n initPageOptions.redirectUnauthenticatedUser = true\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getCustomViewByRoute","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","initPageOptions","route","segmentOne","segmentTwo","isGlobal","isCollection","length","Component","viewKey","admin","routes","matchedRoute","Object","entries","find","exact","path","view","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewProps>\n payloadComponent?: AdminViewComponent\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}): {\n DefaultView: ViewFromConfig\n initPageOptions: Parameters<typeof initPage>[0]\n templateClassName: string\n templateType: 'default' | 'minimal'\n} => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n }\n\n if (isCollection) {\n // --> /collections/:collectionSlug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionId\n // --> /collections/:collectionSlug/:id/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionId\n // --> /globals/:globalSlug/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n return {\n DefaultView: ViewToRender,\n initPageOptions,\n templateClassName,\n templateType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,14 +11,14 @@ export type GenerateViewMetadata = (args: {
11
11
  [key: string]: string | string[];
12
12
  };
13
13
  }) => Promise<Metadata>;
14
- export declare const RootPage: ({ config: configPromise, importMap, params, searchParams, }: {
14
+ export declare const RootPage: ({ config: configPromise, importMap, params: paramsPromise, searchParams: searchParamsPromise, }: {
15
15
  readonly config: Promise<SanitizedConfig>;
16
16
  readonly importMap: ImportMap;
17
- readonly params: {
17
+ readonly params: Promise<{
18
18
  segments: string[];
19
- };
20
- readonly searchParams: {
19
+ }>;
20
+ readonly searchParams: Promise<{
21
21
  [key: string]: string | string[];
22
- };
22
+ }>;
23
23
  }) => Promise<React.JSX.Element>;
24
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAA;AAI1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,gEAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,QAAQ,CAAC,YAAY,EAAE;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BA6GA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAA;AAI1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAoHA,CAAA"}
@@ -10,8 +10,8 @@ export { generatePageMetadata } from './meta.js';
10
10
  export const RootPage = async ({
11
11
  config: configPromise,
12
12
  importMap,
13
- params,
14
- searchParams
13
+ params: paramsPromise,
14
+ searchParams: searchParamsPromise
15
15
  }) => {
16
16
  const config = await configPromise;
17
17
  const {
@@ -25,11 +25,13 @@ export const RootPage = async ({
25
25
  admin: adminRoute
26
26
  }
27
27
  } = config;
28
+ const params = await paramsPromise;
28
29
  const currentRoute = formatAdminURL({
29
30
  adminRoute,
30
31
  path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`
31
32
  });
32
33
  const segments = Array.isArray(params.segments) ? params.segments : [];
34
+ const searchParams = await searchParamsPromise;
33
35
  const {
34
36
  DefaultView,
35
37
  initPageOptions,
@@ -48,6 +50,9 @@ export const RootPage = async ({
48
50
  notFound();
49
51
  }
50
52
  const initPageResult = await initPage(initPageOptions);
53
+ if (typeof initPageResult?.redirectTo === 'string') {
54
+ redirect(initPageResult.redirectTo);
55
+ }
51
56
  if (initPageResult) {
52
57
  dbHasUser = await initPageResult?.req.payload.db.findOne({
53
58
  collection: userSlug,
@@ -103,8 +108,8 @@ export const RootPage = async ({
103
108
  visibleEntities: {
104
109
  // 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
105
110
  // which this caused as soon as initPageResult.visibleEntities is passed in
106
- collections: initPageResult.visibleEntities?.collections,
107
- globals: initPageResult.visibleEntities?.globals
111
+ collections: initPageResult?.visibleEntities?.collections,
112
+ globals: initPageResult?.visibleEntities?.globals
108
113
  },
109
114
  children: RenderedView
110
115
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","getCreateMappedComponent","RenderComponent","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","searchParams","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","Component","payloadComponent","initPageResult","req","payload","db","findOne","collection","then","doc","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","createMappedView","serverProps","i18n","MappedView","undefined","RenderedView","_jsx","mappedComponent","_jsxs","className","locale","permissions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, MappedComponent, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params,\n searchParams,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: {\n segments: string[]\n }\n readonly searchParams: {\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 currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\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 const createMappedView = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n const MappedView: MappedComponent = createMappedView(\n DefaultView.payloadComponent,\n undefined,\n DefaultView.Component,\n 'createMappedView',\n )\n\n const RenderedView = <RenderComponent mappedComponent={MappedView} />\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult.visibleEntities?.collections,\n globals: initPageResult.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","getCreateMappedComponent","RenderComponent","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","initPageOptions","templateClassName","templateType","dbHasUser","Component","payloadComponent","initPageResult","redirectTo","req","payload","db","findOne","collection","then","doc","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","createMappedView","serverProps","i18n","MappedView","undefined","RenderedView","_jsx","mappedComponent","_jsxs","className","locale","permissions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, MappedComponent, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL, getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const { DefaultView, initPageOptions, templateClassName, templateType } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n let dbHasUser = false\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n notFound()\n }\n\n const initPageResult = await initPage(initPageOptions)\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n dbHasUser = await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc)\n\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 const createMappedView = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n const MappedView: MappedComponent = createMappedView(\n DefaultView.payloadComponent,\n undefined,\n DefaultView.Component,\n 'createMappedView',\n )\n\n const RenderedView = <RenderComponent mappedComponent={MappedView} />\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,13 +2,13 @@ import type { Metadata } from 'next';
2
2
  import type { SanitizedConfig } from 'payload';
3
3
  type Args = {
4
4
  config: Promise<SanitizedConfig>;
5
- params: {
5
+ params: Promise<{
6
6
  [key: string]: string | string[];
7
- };
8
- searchParams: {
7
+ }>;
8
+ searchParams: Promise<{
9
9
  [key: string]: string | string[];
10
- };
10
+ }>;
11
11
  };
12
- export declare const generatePageMetadata: ({ config: configPromise, params }: Args) => Promise<Metadata>;
12
+ export declare const generatePageMetadata: ({ config: configPromise, params: paramsPromise, }: Args) => Promise<Metadata>;
13
13
  export {};
14
14
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Root/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA0B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,oBAAoB,sCAA6C,IAAI,sBAqHjF,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/Root/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA0B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE,OAAO,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,CAAA;AAED,eAAO,MAAM,oBAAoB,sDAG9B,IAAI,sBAsHN,CAAA"}
@@ -22,9 +22,10 @@ const oneSegmentMeta = {
22
22
  };
23
23
  export const generatePageMetadata = async ({
24
24
  config: configPromise,
25
- params
25
+ params: paramsPromise
26
26
  }) => {
27
27
  const config = await configPromise;
28
+ const params = await paramsPromise;
28
29
  const segments = Array.isArray(params.segments) ? params.segments : [];
29
30
  const currentRoute = `/${segments.join('/')}`;
30
31
  const [segmentOne, segmentTwo] = segments;
@@ -72,7 +73,7 @@ export const generatePageMetadata = async ({
72
73
  }
73
74
  case 2:
74
75
  {
75
- if (segmentOne === 'reset') {
76
+ if (`/${segmentOne}` === config.admin.routes.reset) {
76
77
  // --> /reset/:token
77
78
  meta = await generateResetPasswordMetadata({
78
79
  config,
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global","viewConfig","viewKey"],"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: {\n [key: string]: string | string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}\n\nexport const generatePageMetadata = async ({ config: configPromise, params }: Args) => {\n const config = await configPromise\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (segmentOne === 'reset') {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n }\n\n return meta\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"meta.js","names":["getNextRequestI18n","generateAccountMetadata","generateCreateFirstUserMetadata","generateDashboardMetadata","generateDocumentMetadata","generateForgotPasswordMetadata","generateListMetadata","generateLoginMetadata","generateNotFoundMeta","generateResetPasswordMetadata","generateUnauthorizedMetadata","generateVerifyMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","paramsPromise","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","isGlobal","isCollection","i18n","meta","collectionConfig","length","collections","find","collection","slug","globalConfig","globals","global","admin","routes","reset","viewConfig","viewKey"],"sources":["../../../src/views/Root/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountMetadata } from '../Account/index.js'\nimport { generateCreateFirstUserMetadata } from '../CreateFirstUser/index.js'\nimport { generateDashboardMetadata } from '../Dashboard/index.js'\nimport { generateDocumentMetadata } from '../Document/meta.js'\nimport { generateForgotPasswordMetadata } from '../ForgotPassword/index.js'\nimport { generateListMetadata } from '../List/index.js'\nimport { generateLoginMetadata } from '../Login/index.js'\nimport { generateNotFoundMeta } from '../NotFound/meta.js'\nimport { generateResetPasswordMetadata } from '../ResetPassword/index.js'\nimport { generateUnauthorizedMetadata } from '../Unauthorized/index.js'\nimport { generateVerifyMetadata } from '../Verify/index.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserMetadata,\n forgot: generateForgotPasswordMetadata,\n login: generateLoginMetadata,\n logout: generateUnauthorizedMetadata,\n 'logout-inactivity': generateUnauthorizedMetadata,\n unauthorized: generateUnauthorizedMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args) => {\n const config = await configPromise\n\n const params = await paramsPromise\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardMetadata({ config, i18n })\n break\n }\n case 1: {\n if (oneSegmentMeta[segmentOne] && segmentOne !== 'account') {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountMetadata({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n meta = await generateResetPasswordMetadata({ config, i18n })\n }\n if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyMetadata({ config, i18n })\n } else if (isCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentMetadata({ collectionConfig, config, i18n, params })\n } else if (isGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/api\n meta = await generateDocumentMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundMeta({ config, i18n })\n }\n }\n\n return meta\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAM9E,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CA+B5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAQ9E,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CAsC5E,CAAA"}
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Gutter } from '@payloadcms/ui';
2
+ import { Button } from '@payloadcms/ui';
3
+ import { formatAdminURL } from '@payloadcms/ui/shared';
3
4
  import LinkImport from 'next/link.js';
4
5
  import React from 'react';
6
+ import { FormHeader } from '../../elements/FormHeader/index.js';
5
7
  const Link = LinkImport.default || LinkImport;
6
8
  export { generateUnauthorizedMetadata } from './meta.js';
7
9
  const baseClass = 'unauthorized';
@@ -17,23 +19,28 @@ export const UnauthorizedView = ({
17
19
  routes: {
18
20
  logout: logoutRoute
19
21
  }
22
+ },
23
+ routes: {
24
+ admin: adminRoute
20
25
  }
21
26
  }
22
27
  }
23
28
  }
24
29
  } = initPageResult;
25
- return /*#__PURE__*/_jsxs(Gutter, {
30
+ return /*#__PURE__*/_jsxs("div", {
26
31
  className: baseClass,
27
- children: [/*#__PURE__*/_jsx("h2", {
28
- children: i18n.t('error:unauthorized')
29
- }), /*#__PURE__*/_jsx("p", {
30
- children: i18n.t('error:notAllowedToAccessPage')
32
+ children: [/*#__PURE__*/_jsx(FormHeader, {
33
+ description: i18n.t('error:notAllowedToAccessPage'),
34
+ heading: i18n.t('error:unauthorized')
31
35
  }), /*#__PURE__*/_jsx(Button, {
32
36
  className: `${baseClass}__button`,
33
37
  el: "link",
34
38
  Link: Link,
35
39
  size: "large",
36
- to: logoutRoute,
40
+ to: formatAdminURL({
41
+ adminRoute,
42
+ path: logoutRoute
43
+ }),
37
44
  children: i18n.t('authentication:logOut')
38
45
  })]
39
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Button","Gutter","LinkImport","React","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","_jsxs","className","_jsx","t","el","size","to"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent, PayloadServerReactComponent } from 'payload'\n\nimport { Button, Gutter } from '@payloadcms/ui'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent> = ({\n initPageResult,\n}) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n },\n },\n },\n } = initPageResult\n\n return (\n <Gutter className={baseClass}>\n <h2>{i18n.t('error:unauthorized')}</h2>\n <p>{i18n.t('error:notAllowedToAccessPage')}</p>\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n Link={Link}\n size=\"large\"\n to={logoutRoute}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </Gutter>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,EAAEC,MAAM,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,MAAW;AAIlB,MAAMC,IAAA,GAAQF,UAAA,CAAWG,OAAO,IAAIH,UAAA;AAEpC,SAASI,4BAA4B,QAAQ;AAE7C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,GAAoEA,CAAC;EAChFC;AAAc,CACf;EACC,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE;QAChC;MACF;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,oBACES,KAAA,CAACjB,MAAA;IAAOkB,SAAA,EAAWZ,SAAA;4BACjBa,IAAA,CAAC;gBAAIT,IAAA,CAAKU,CAAC,CAAC;qBACZD,IAAA,CAAC;gBAAGT,IAAA,CAAKU,CAAC,CAAC;qBACXD,IAAA,CAACpB,MAAA;MACCmB,SAAA,EAAW,GAAGZ,SAAA,UAAmB;MACjCe,EAAA,EAAG;MACHlB,IAAA,EAAMA,IAAA;MACNmB,IAAA,EAAK;MACLC,EAAA,EAAIP,WAAA;gBAEHN,IAAA,CAAKU,CAAC,CAAC;;;AAIhB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Button","formatAdminURL","LinkImport","React","FormHeader","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","req","i18n","payload","config","admin","routes","logout","logoutRoute","adminRoute","_jsxs","className","_jsx","description","t","heading","el","size","to","path"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent, PayloadServerReactComponent } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent> = ({\n initPageResult,\n}) => {\n const {\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n },\n },\n },\n } = initPageResult\n\n return (\n <div className={baseClass}>\n <FormHeader\n description={i18n.t('error:notAllowedToAccessPage')}\n heading={i18n.t('error:unauthorized')}\n />\n\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n Link={Link}\n size=\"large\"\n to={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAG3B,MAAMC,IAAA,GAAQH,UAAA,CAAWI,OAAO,IAAIJ,UAAA;AAEpC,SAASK,4BAA4B,QAAQ;AAE7C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,GAAoEA,CAAC;EAChFC;AAAc,CACf;EACC,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE,CAChC;UACDF,MAAA,EAAQ;YAAED,KAAA,EAAOI;UAAU;QAAE;MAC9B;IACF;EACF,CACF,GAAGT,cAAA;EAEJ,oBACEU,KAAA,CAAC;IAAIC,SAAA,EAAWb,SAAA;4BACdc,IAAA,CAAClB,UAAA;MACCmB,WAAA,EAAaX,IAAA,CAAKY,CAAC,CAAC;MACpBC,OAAA,EAASb,IAAA,CAAKY,CAAC,CAAC;qBAGlBF,IAAA,CAACtB,MAAA;MACCqB,SAAA,EAAW,GAAGb,SAAA,UAAmB;MACjCkB,EAAA,EAAG;MACHrB,IAAA,EAAMA,IAAA;MACNsB,IAAA,EAAK;MACLC,EAAA,EAAI3B,cAAA,CAAe;QACjBkB,UAAA;QACAU,IAAA,EAAMX;MACR;gBAECN,IAAA,CAAKY,CAAC,CAAC;;;AAIhB","ignoreList":[]}
@@ -1,36 +1,9 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .unauthorized {
4
- margin-top: var(--base);
5
-
6
- & > * {
7
- &:first-child {
8
- margin-top: 0;
9
- }
10
- &:last-child {
11
- margin-bottom: 0;
12
- }
13
- }
14
-
15
- &__button {
16
- margin: 0;
17
- }
18
-
19
- &--margin-top-large {
20
- margin-top: calc(var(--base) * 2);
21
- }
22
-
23
- @include large-break {
24
- &--margin-top-large {
25
- margin-top: var(--base);
26
- }
27
- }
28
-
29
- @include small-break {
30
- margin-top: calc(var(--base) / 2);
31
-
32
- &--margin-top-large {
33
- margin-top: calc(var(--base) / 2);
3
+ @layer payload-default {
4
+ .unauthorized {
5
+ &__button {
6
+ margin: 0;
34
7
  }
35
8
  }
36
9
  }
@@ -0,0 +1,7 @@
1
+ type Props = {
2
+ message: string;
3
+ redirectTo: string;
4
+ };
5
+ export declare function ToastAndRedirect({ message, redirectTo }: Props): any;
6
+ export {};
7
+ //# sourceMappingURL=index.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.client.tsx"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,OAsB9D"}
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { toast } from '@payloadcms/ui';
5
+ import { useRouter } from 'next/navigation.js';
6
+ import React, { useEffect } from 'react';
7
+ export function ToastAndRedirect(t0) {
8
+ const $ = _c(5);
9
+ const {
10
+ message,
11
+ redirectTo
12
+ } = t0;
13
+ const router = useRouter();
14
+ const hasToastedRef = React.useRef(false);
15
+ let t1;
16
+ let t2;
17
+ if ($[0] !== message || $[1] !== router || $[2] !== redirectTo) {
18
+ t1 = () => {
19
+ let timeoutID;
20
+ if (toast) {
21
+ timeoutID = setTimeout(() => {
22
+ toast.success(message);
23
+ hasToastedRef.current = true;
24
+ router.push(redirectTo);
25
+ }, 100);
26
+ }
27
+ return () => {
28
+ if (timeoutID) {
29
+ clearTimeout(timeoutID);
30
+ }
31
+ };
32
+ };
33
+ t2 = [router, redirectTo, message];
34
+ $[0] = message;
35
+ $[1] = router;
36
+ $[2] = redirectTo;
37
+ $[3] = t1;
38
+ $[4] = t2;
39
+ } else {
40
+ t1 = $[3];
41
+ t2 = $[4];
42
+ }
43
+ useEffect(t1, t2);
44
+ return null;
45
+ }
46
+ //# sourceMappingURL=index.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.js","names":["c","_c","toast","useRouter","React","useEffect","ToastAndRedirect","t0","$","message","redirectTo","router","hasToastedRef","useRef","t1","t2","timeoutID","current","push","clearTimeout"],"sources":["../../../src/views/Verify/index.client.tsx"],"sourcesContent":["'use client'\nimport { toast } from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\ntype Props = {\n message: string\n redirectTo: string\n}\nexport function ToastAndRedirect({ message, redirectTo }: Props) {\n const router = useRouter()\n const hasToastedRef = React.useRef(false)\n\n useEffect(() => {\n let timeoutID\n if (toast) {\n timeoutID = setTimeout(() => {\n toast.success(message)\n hasToastedRef.current = true\n router.push(redirectTo)\n }, 100)\n }\n\n return () => {\n if (timeoutID) {\n clearTimeout(timeoutID)\n }\n }\n }, [router, redirectTo, message])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,QAAQ;AACtB,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAMjC,OAAO,SAAAC,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAA0B;IAAAQ,OAAA;IAAAC;EAAA,IAAAH,EAA8B;EAC7D,MAAAI,MAAA,GAAeR,SAAA;EACf,MAAAS,aAAA,GAAsBR,KAAA,CAAAS,MAAA,MAAa;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAE,UAAA;IAEzBI,EAAA,GAAAA,CAAA;MACJE,GAAA,CAAAA,SAAA;MAAA,IAAAd,KAAA;QAEFc,SAAA,CAAAA,CAAA,CAAYA,aAAA,CAAAA,EAAA,CAAAA;UACVA,cAAcP,OAAA;UACdG,aAAA,CAAAK,OAAA;UACAN,MAAA,CAAAO,IAAA,CAAYR,UAAA;QAAA,MACX;MAJH;MAAA;QAAA,IAQIM,SAAA;UACFG,YAAA,CAAaH,SAAA;QAAA;MAAA;IAAA;IAGhBD,EAAA,IAACJ,MAAA,EAAQD,UAAA,EAAYD,OAAA;IAAQD,CAAA,MAAAC,OAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAD,EAAA,GAAAN,CAAA;IAAAO,EAAA,GAAAP,CAAA;EAAA;EAfhCH,SAAA,CAAUS,EAeV,EAAGC,EAA6B;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAsD3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6D3C,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { formatAdminURL } from '@payloadcms/ui/shared';
3
- import { redirect } from 'next/navigation.js';
4
3
  import React from 'react';
5
4
  import { Logo } from '../../elements/Logo/index.js';
5
+ import { ToastAndRedirect } from './index.client.js';
6
6
  export const verifyBaseClass = 'verify';
7
7
  export { generateVerifyMetadata } from './meta.js';
8
8
  export const Verify = async ({
@@ -31,24 +31,25 @@ export const Verify = async ({
31
31
  }
32
32
  } = config;
33
33
  let textToRender;
34
+ let isVerified = false;
34
35
  try {
35
36
  await req.payload.verifyEmail({
36
37
  collection: collectionSlug,
37
38
  token
38
39
  });
39
- return redirect(formatAdminURL({
40
- adminRoute,
41
- path: '/login'
42
- }));
40
+ isVerified = true;
41
+ textToRender = req.t('authentication:emailVerified');
43
42
  } catch (e) {
44
- // already verified
45
- if (e?.status === 202) {
46
- redirect(formatAdminURL({
43
+ textToRender = req.t('authentication:unableToVerify');
44
+ }
45
+ if (isVerified) {
46
+ return /*#__PURE__*/_jsx(ToastAndRedirect, {
47
+ message: req.t('authentication:emailVerified'),
48
+ redirectTo: formatAdminURL({
47
49
  adminRoute,
48
50
  path: '/login'
49
- }));
50
- }
51
- textToRender = req.t('authentication:unableToVerify');
51
+ })
52
+ });
52
53
  }
53
54
  return /*#__PURE__*/_jsxs(React.Fragment, {
54
55
  children: [/*#__PURE__*/_jsx("div", {