@payloadcms/next 3.0.0-beta.21 → 3.0.0-beta.23
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/exports/utilities.d.ts +1 -0
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +1 -0
- package/dist/exports/utilities.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/initPage.d.ts.map +1 -1
- package/dist/utilities/initPage.js +3 -2
- package/dist/utilities/initPage.js.map +1 -1
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js +4 -2
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/index.client.d.ts +7 -0
- package/dist/views/ResetPassword/index.client.d.ts.map +1 -0
- package/dist/views/ResetPassword/index.client.js +83 -0
- package/dist/views/ResetPassword/index.client.js.map +1 -0
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +6 -31
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/index.scss +2 -12
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPage.d.ts","sourceRoot":"","sources":["../../src/utilities/initPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGd,eAAe,EAGhB,MAAM,eAAe,CAAA;AAatB,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA;AAYD,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,QAAQ,cAAc,
|
|
1
|
+
{"version":3,"file":"initPage.d.ts","sourceRoot":"","sources":["../../src/utilities/initPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGd,eAAe,EAGhB,MAAM,eAAe,CAAA;AAatB,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA;AAYD,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,QAAQ,cAAc,CA0G/B,CAAA"}
|
|
@@ -73,13 +73,14 @@ export const initPage = async ({ config: configPromise, redirectUnauthenticatedU
|
|
|
73
73
|
const collectionSlug = entityType === 'collections' ? entitySlug : undefined;
|
|
74
74
|
const globalSlug = entityType === 'globals' ? entitySlug : undefined;
|
|
75
75
|
const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined;
|
|
76
|
-
const
|
|
76
|
+
const isAdminRoute = route.startsWith(adminRoute);
|
|
77
|
+
const isAuthRoute = authRoutes.some((r)=>route.replace(adminRoute, '').startsWith(r));
|
|
77
78
|
if (redirectUnauthenticatedUser && !user && !isAuthRoute) {
|
|
78
79
|
if (searchParams && 'redirect' in searchParams) delete searchParams.redirect;
|
|
79
80
|
const stringifiedSearchParams = Object.keys(searchParams ?? {}).length ? `?${qs.stringify(searchParams)}` : '';
|
|
80
81
|
redirect(`${routes.admin}/login?redirect=${route + stringifiedSearchParams}`);
|
|
81
82
|
}
|
|
82
|
-
if (!permissions.canAccessAdmin && !isAuthRoute) {
|
|
83
|
+
if (!permissions.canAccessAdmin && isAdminRoute && !isAuthRoute) {
|
|
83
84
|
notFound();
|
|
84
85
|
}
|
|
85
86
|
let collectionConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/initPage.ts"],"sourcesContent":["import type {\n InitPageResult,\n PayloadRequestWithData,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n VisibleEntities,\n} from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/utilities/findLocaleFromCode'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { parseCookies } from 'payload/auth'\nimport { createLocalReq, isEntityHidden } from 'payload/utilities'\nimport qs from 'qs'\n\nimport { getPayloadHMR } from '../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n redirectUnauthenticatedUser?: boolean\n route: string\n searchParams: { [key: string]: string | string[] | undefined }\n}\n\nconst authRoutes = [\n '/login',\n '/logout',\n '/create-first-user',\n '/forgot',\n '/reset',\n '/verify',\n '/logout-inactivity',\n]\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const localeParam = searchParams?.locale as string\n const payload = await getPayloadHMR({ config: configPromise })\n const { collections, globals, localization, routes } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n const localeCode = localeParam || defaultLocale\n const locale = localization && findLocaleFromCode(localization, localeCode)\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n = await initI18n({\n config: payload.config.i18n,\n context: 'client',\n language,\n })\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n locale: locale.code,\n req: {\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequestWithData,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n\n req.user = user\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const {\n routes: { admin: adminRoute },\n } = payload.config\n\n const routeSegments = route.replace(adminRoute, '').split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined\n\n const isAuthRoute = authRoutes.some((r) =>
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/initPage.ts"],"sourcesContent":["import type {\n InitPageResult,\n PayloadRequestWithData,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n VisibleEntities,\n} from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/utilities/findLocaleFromCode'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { parseCookies } from 'payload/auth'\nimport { createLocalReq, isEntityHidden } from 'payload/utilities'\nimport qs from 'qs'\n\nimport { getPayloadHMR } from '../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n redirectUnauthenticatedUser?: boolean\n route: string\n searchParams: { [key: string]: string | string[] | undefined }\n}\n\nconst authRoutes = [\n '/login',\n '/logout',\n '/create-first-user',\n '/forgot',\n '/reset',\n '/verify',\n '/logout-inactivity',\n]\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const localeParam = searchParams?.locale as string\n const payload = await getPayloadHMR({ config: configPromise })\n const { collections, globals, localization, routes } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n const localeCode = localeParam || defaultLocale\n const locale = localization && findLocaleFromCode(localization, localeCode)\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n = await initI18n({\n config: payload.config.i18n,\n context: 'client',\n language,\n })\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n locale: locale.code,\n req: {\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequestWithData,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n\n req.user = user\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const {\n routes: { admin: adminRoute },\n } = payload.config\n\n const routeSegments = route.replace(adminRoute, '').split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined\n\n const isAdminRoute = route.startsWith(adminRoute)\n const isAuthRoute = authRoutes.some((r) => route.replace(adminRoute, '').startsWith(r))\n\n if (redirectUnauthenticatedUser && !user && !isAuthRoute) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const stringifiedSearchParams = Object.keys(searchParams ?? {}).length\n ? `?${qs.stringify(searchParams)}`\n : ''\n\n redirect(`${routes.admin}/login?redirect=${route + stringifiedSearchParams}`)\n }\n\n if (!permissions.canAccessAdmin && isAdminRoute && !isAuthRoute) {\n notFound()\n }\n\n let collectionConfig: SanitizedCollectionConfig\n let globalConfig: SanitizedGlobalConfig\n\n if (collectionSlug) {\n collectionConfig = collections.find((collection) => collection.slug === collectionSlug)\n\n if (!collectionConfig) {\n notFound()\n }\n }\n\n if (globalSlug) {\n globalConfig = globals.find((global) => global.slug === globalSlug)\n\n if (!globalConfig) {\n notFound()\n }\n }\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","notFound","redirect","parseCookies","createLocalReq","isEntityHidden","qs","getPayloadHMR","getRequestLanguage","authRoutes","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","localeParam","locale","payload","collections","globals","localization","routes","queryString","stringify","addQueryPrefix","defaultLocale","localeCode","cookies","language","i18n","context","req","fallbackLocale","code","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","visibleEntities","map","slug","admin","hidden","filter","Boolean","adminRoute","routeSegments","replace","split","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","docID","isAdminRoute","startsWith","isAuthRoute","some","r","stringifiedSearchParams","Object","keys","length","canAccessAdmin","collectionConfig","globalConfig","find","collection","global","translations"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIxE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,eAAO,MAAM,oBAAoB,+BAE9B;IACD,MAAM,EAAE,QAAQ,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAE9C,KAAG,QAAQ,QAAQ,CAUnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,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,YAAY,6CAGtB;IACD,MAAM,EAAE,QAAQ,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/NotFound/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIxE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,eAAO,MAAM,oBAAoB,+BAE9B;IACD,MAAM,EAAE,QAAQ,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAE9C,KAAG,QAAQ,QAAQ,CAUnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,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,YAAY,6CAGtB;IACD,MAAM,EAAE,QAAQ,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;CACF,+BAsBA,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,kBAE1B,CAAA"}
|
|
@@ -14,10 +14,12 @@ export const generatePageMetadata = async ({ config: configPromise })=>{
|
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
export const NotFoundPage = async ({ config: configPromise, searchParams })=>{
|
|
17
|
+
const config = await configPromise;
|
|
18
|
+
const { routes: { admin: adminRoute } = {} } = config;
|
|
17
19
|
const initPageResult = await initPage({
|
|
18
|
-
config
|
|
20
|
+
config,
|
|
19
21
|
redirectUnauthenticatedUser: true,
|
|
20
|
-
route:
|
|
22
|
+
route: `${adminRoute}/not-found`,
|
|
21
23
|
searchParams
|
|
22
24
|
});
|
|
23
25
|
return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(HydrateClientUser, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { AdminViewComponent, SanitizedConfig } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { DefaultTemplate } from '@payloadcms/ui/templates/Default'\nimport React, { Fragment } from 'react'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { initPage } from '../../utilities/initPage.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\n //eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<Metadata> => {\n const config = await configPromise\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n return {\n title: i18n.t('general:notFound'),\n }\n}\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18n\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const NotFoundPage = async ({\n config: configPromise,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}) => {\n const initPageResult = await initPage({\n config
|
|
1
|
+
{"version":3,"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { AdminViewComponent, SanitizedConfig } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { DefaultTemplate } from '@payloadcms/ui/templates/Default'\nimport React, { Fragment } from 'react'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { initPage } from '../../utilities/initPage.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\n //eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<Metadata> => {\n const config = await configPromise\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n return {\n title: i18n.t('general:notFound'),\n }\n}\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18n\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const NotFoundPage = async ({\n config: configPromise,\n searchParams,\n}: {\n config: Promise<SanitizedConfig>\n params: {\n segments: string[]\n }\n searchParams: {\n [key: string]: string | string[]\n }\n}) => {\n const config = await configPromise\n const { routes: { admin: adminRoute } = {} } = config\n\n const initPageResult = await initPage({\n config,\n redirectUnauthenticatedUser: true,\n route: `${adminRoute}/not-found`,\n searchParams,\n })\n\n return (\n <Fragment>\n <HydrateClientUser permissions={initPageResult.permissions} user={initPageResult.req.user} />\n <DefaultTemplate\n config={initPageResult.req.payload.config}\n visibleEntities={initPageResult.visibleEntities}\n >\n <NotFoundClient />\n </DefaultTemplate>\n </Fragment>\n )\n}\n\nexport const NotFoundView: AdminViewComponent = () => {\n return <NotFoundClient marginTop=\"large\" />\n}\n"],"names":["HydrateClientUser","DefaultTemplate","React","Fragment","getNextRequestI18n","initPage","NotFoundClient","generatePageMetadata","config","configPromise","i18n","title","t","NotFoundPage","searchParams","routes","admin","adminRoute","initPageResult","redirectUnauthenticatedUser","route","permissions","user","req","payload","visibleEntities","NotFoundView","marginTop"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,iBAAiB,QAAQ,4CAA2C;AAC7E,SAASC,eAAe,QAAQ,mCAAkC;AAClE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,QAAQ,QAAQ,8BAA6B;AACtD,SAASC,cAAc,QAAQ,oBAAmB;AAElD,OAAO,MAAMC,uBAAuB,OAAO,EACzCC,QAAQC,aAAa,EAKtB;IACC,MAAMD,SAAS,MAAMC;IAErB,MAAMC,OAAO,MAAMN,mBAAmB;QACpCI;IACF;IAEA,OAAO;QACLG,OAAOD,KAAKE,CAAC,CAAC;IAChB;AACF,EAAC;AAQD,OAAO,MAAMC,eAAe,OAAO,EACjCL,QAAQC,aAAa,EACrBK,YAAY,EASb;IACC,MAAMN,SAAS,MAAMC;IACrB,MAAM,EAAEM,QAAQ,EAAEC,OAAOC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGT;IAE/C,MAAMU,iBAAiB,MAAMb,SAAS;QACpCG;QACAW,6BAA6B;QAC7BC,OAAO,CAAC,EAAEH,WAAW,UAAU,CAAC;QAChCH;IACF;IAEA,qBACE,oBAACX,8BACC,oBAACH;QAAkBqB,aAAaH,eAAeG,WAAW;QAAEC,MAAMJ,eAAeK,GAAG,CAACD,IAAI;sBACzF,oBAACrB;QACCO,QAAQU,eAAeK,GAAG,CAACC,OAAO,CAAChB,MAAM;QACzCiB,iBAAiBP,eAAeO,eAAe;qBAE/C,oBAACnB;AAIT,EAAC;AAED,OAAO,MAAMoB,eAAmC;IAC9C,qBAAO,oBAACpB;QAAeqB,WAAU;;AACnC,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/ResetPassword/index.client.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAeD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAsC9C,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword';
|
|
3
|
+
import { HiddenInput } from '@payloadcms/ui/fields/HiddenInput';
|
|
4
|
+
import { Password } from '@payloadcms/ui/fields/Password';
|
|
5
|
+
import { Form, useFormFields } from '@payloadcms/ui/forms/Form';
|
|
6
|
+
import { FormSubmit } from '@payloadcms/ui/forms/Submit';
|
|
7
|
+
import { useAuth } from '@payloadcms/ui/providers/Auth';
|
|
8
|
+
import { useConfig } from '@payloadcms/ui/providers/Config';
|
|
9
|
+
import { useTranslation } from '@payloadcms/ui/providers/Translation';
|
|
10
|
+
import { useRouter } from 'next/navigation.js';
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import { toast } from 'react-toastify';
|
|
13
|
+
const initialState = {
|
|
14
|
+
'confirm-password': {
|
|
15
|
+
initialValue: '',
|
|
16
|
+
valid: false,
|
|
17
|
+
value: ''
|
|
18
|
+
},
|
|
19
|
+
password: {
|
|
20
|
+
initialValue: '',
|
|
21
|
+
valid: false,
|
|
22
|
+
value: ''
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export const ResetPasswordClient = ({ token })=>{
|
|
26
|
+
const i18n = useTranslation();
|
|
27
|
+
const { admin: { user: userSlug }, routes: { admin, api }, serverURL } = useConfig();
|
|
28
|
+
const history = useRouter();
|
|
29
|
+
const { fetchFullUser } = useAuth();
|
|
30
|
+
const onSuccess = React.useCallback(async (data)=>{
|
|
31
|
+
if (data.token) {
|
|
32
|
+
await fetchFullUser();
|
|
33
|
+
history.push(`${admin}`);
|
|
34
|
+
} else {
|
|
35
|
+
history.push(`${admin}/login`);
|
|
36
|
+
toast.success(i18n.t('general:updatedSuccessfully'), {
|
|
37
|
+
autoClose: 3000
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}, [
|
|
41
|
+
fetchFullUser,
|
|
42
|
+
history,
|
|
43
|
+
admin,
|
|
44
|
+
i18n
|
|
45
|
+
]);
|
|
46
|
+
return /*#__PURE__*/ React.createElement(Form, {
|
|
47
|
+
action: `${serverURL}${api}/${userSlug}/reset-password`,
|
|
48
|
+
initialState: initialState,
|
|
49
|
+
method: "POST",
|
|
50
|
+
onSuccess: onSuccess
|
|
51
|
+
}, /*#__PURE__*/ React.createElement(PasswordToConfirm, null), /*#__PURE__*/ React.createElement(ConfirmPassword, null), /*#__PURE__*/ React.createElement(HiddenInput, {
|
|
52
|
+
forceUsePathFromProps: true,
|
|
53
|
+
name: "token",
|
|
54
|
+
value: token
|
|
55
|
+
}), /*#__PURE__*/ React.createElement(FormSubmit, null, i18n.t('authentication:resetPassword')));
|
|
56
|
+
};
|
|
57
|
+
const PasswordToConfirm = ()=>{
|
|
58
|
+
const { t } = useTranslation();
|
|
59
|
+
const { value: confirmValue } = useFormFields(([fields])=>{
|
|
60
|
+
return fields['confirm-password'];
|
|
61
|
+
});
|
|
62
|
+
const validate = React.useCallback((value)=>{
|
|
63
|
+
if (!value) {
|
|
64
|
+
return t('validation:required');
|
|
65
|
+
}
|
|
66
|
+
if (value === confirmValue) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
return t('fields:passwordsDoNotMatch');
|
|
70
|
+
}, [
|
|
71
|
+
confirmValue,
|
|
72
|
+
t
|
|
73
|
+
]);
|
|
74
|
+
return /*#__PURE__*/ React.createElement(Password, {
|
|
75
|
+
autoComplete: "off",
|
|
76
|
+
label: t('authentication:newPassword'),
|
|
77
|
+
name: "password",
|
|
78
|
+
required: true,
|
|
79
|
+
validate: validate
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=index.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ResetPassword/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormState } from 'payload/types'\n\nimport { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword'\nimport { HiddenInput } from '@payloadcms/ui/fields/HiddenInput'\nimport { Password } from '@payloadcms/ui/fields/Password'\nimport { Form, useFormFields } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\nimport { toast } from 'react-toastify'\n\ntype Args = {\n token: string\n}\n\nconst initialState: FormState = {\n 'confirm-password': {\n initialValue: '',\n valid: false,\n value: '',\n },\n password: {\n initialValue: '',\n valid: false,\n value: '',\n },\n}\n\nexport const ResetPasswordClient: React.FC<Args> = ({ token }) => {\n const i18n = useTranslation()\n const {\n admin: { user: userSlug },\n routes: { admin, api },\n serverURL,\n } = useConfig()\n\n const history = useRouter()\n\n const { fetchFullUser } = useAuth()\n\n const onSuccess = React.useCallback(\n async (data) => {\n if (data.token) {\n await fetchFullUser()\n history.push(`${admin}`)\n } else {\n history.push(`${admin}/login`)\n toast.success(i18n.t('general:updatedSuccessfully'), { autoClose: 3000 })\n }\n },\n [fetchFullUser, history, admin, i18n],\n )\n\n return (\n <Form\n action={`${serverURL}${api}/${userSlug}/reset-password`}\n initialState={initialState}\n method=\"POST\"\n onSuccess={onSuccess}\n >\n <PasswordToConfirm />\n <ConfirmPassword />\n <HiddenInput forceUsePathFromProps name=\"token\" value={token} />\n <FormSubmit>{i18n.t('authentication:resetPassword')}</FormSubmit>\n </Form>\n )\n}\n\nconst PasswordToConfirm = () => {\n const { t } = useTranslation()\n const { value: confirmValue } = useFormFields(([fields]) => {\n return fields['confirm-password']\n })\n\n const validate = React.useCallback(\n (value: string) => {\n if (!value) {\n return t('validation:required')\n }\n\n if (value === confirmValue) {\n return true\n }\n\n return t('fields:passwordsDoNotMatch')\n },\n [confirmValue, t],\n )\n\n return (\n <Password\n autoComplete=\"off\"\n label={t('authentication:newPassword')}\n name=\"password\"\n required\n validate={validate}\n />\n )\n}\n"],"names":["ConfirmPassword","HiddenInput","Password","Form","useFormFields","FormSubmit","useAuth","useConfig","useTranslation","useRouter","React","toast","initialState","initialValue","valid","value","password","ResetPasswordClient","token","i18n","admin","user","userSlug","routes","api","serverURL","history","fetchFullUser","onSuccess","useCallback","data","push","success","t","autoClose","action","method","PasswordToConfirm","forceUsePathFromProps","name","confirmValue","fields","validate","autoComplete","label","required"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,eAAe,QAAQ,wCAAuC;AACvE,SAASC,WAAW,QAAQ,oCAAmC;AAC/D,SAASC,QAAQ,QAAQ,iCAAgC;AACzD,SAASC,IAAI,EAAEC,aAAa,QAAQ,4BAA2B;AAC/D,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AACzB,SAASC,KAAK,QAAQ,iBAAgB;AAMtC,MAAMC,eAA0B;IAC9B,oBAAoB;QAClBC,cAAc;QACdC,OAAO;QACPC,OAAO;IACT;IACAC,UAAU;QACRH,cAAc;QACdC,OAAO;QACPC,OAAO;IACT;AACF;AAEA,OAAO,MAAME,sBAAsC,CAAC,EAAEC,KAAK,EAAE;IAC3D,MAAMC,OAAOX;IACb,MAAM,EACJY,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEH,KAAK,EAAEI,GAAG,EAAE,EACtBC,SAAS,EACV,GAAGlB;IAEJ,MAAMmB,UAAUjB;IAEhB,MAAM,EAAEkB,aAAa,EAAE,GAAGrB;IAE1B,MAAMsB,YAAYlB,MAAMmB,WAAW,CACjC,OAAOC;QACL,IAAIA,KAAKZ,KAAK,EAAE;YACd,MAAMS;YACND,QAAQK,IAAI,CAAC,CAAC,EAAEX,MAAM,CAAC;QACzB,OAAO;YACLM,QAAQK,IAAI,CAAC,CAAC,EAAEX,MAAM,MAAM,CAAC;YAC7BT,MAAMqB,OAAO,CAACb,KAAKc,CAAC,CAAC,gCAAgC;gBAAEC,WAAW;YAAK;QACzE;IACF,GACA;QAACP;QAAeD;QAASN;QAAOD;KAAK;IAGvC,qBACE,oBAAChB;QACCgC,QAAQ,CAAC,EAAEV,UAAU,EAAED,IAAI,CAAC,EAAEF,SAAS,eAAe,CAAC;QACvDV,cAAcA;QACdwB,QAAO;QACPR,WAAWA;qBAEX,oBAACS,wCACD,oBAACrC,sCACD,oBAACC;QAAYqC,uBAAAA;QAAsBC,MAAK;QAAQxB,OAAOG;sBACvD,oBAACb,kBAAYc,KAAKc,CAAC,CAAC;AAG1B,EAAC;AAED,MAAMI,oBAAoB;IACxB,MAAM,EAAEJ,CAAC,EAAE,GAAGzB;IACd,MAAM,EAAEO,OAAOyB,YAAY,EAAE,GAAGpC,cAAc,CAAC,CAACqC,OAAO;QACrD,OAAOA,MAAM,CAAC,mBAAmB;IACnC;IAEA,MAAMC,WAAWhC,MAAMmB,WAAW,CAChC,CAACd;QACC,IAAI,CAACA,OAAO;YACV,OAAOkB,EAAE;QACX;QAEA,IAAIlB,UAAUyB,cAAc;YAC1B,OAAO;QACT;QAEA,OAAOP,EAAE;IACX,GACA;QAACO;QAAcP;KAAE;IAGnB,qBACE,oBAAC/B;QACCyC,cAAa;QACbC,OAAOX,EAAE;QACTM,MAAK;QACLM,UAAAA;QACAH,UAAUA;;AAGhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ResetPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ResetPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAMnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,sBAAsB,mBAAmB,CAAA;AAItD,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;AAEzD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgDlD,CAAA"}
|
|
@@ -1,30 +1,17 @@
|
|
|
1
1
|
import { Button } from '@payloadcms/ui/elements/Button';
|
|
2
2
|
import { Translation } from '@payloadcms/ui/elements/Translation';
|
|
3
|
-
import { ConfirmPassword } from '@payloadcms/ui/fields/ConfirmPassword';
|
|
4
|
-
import { HiddenInput } from '@payloadcms/ui/fields/HiddenInput';
|
|
5
|
-
import { Password } from '@payloadcms/ui/fields/Password';
|
|
6
|
-
import { Form } from '@payloadcms/ui/forms/Form';
|
|
7
|
-
import { FormSubmit } from '@payloadcms/ui/forms/Submit';
|
|
8
3
|
import { MinimalTemplate } from '@payloadcms/ui/templates/Minimal';
|
|
9
4
|
import LinkImport from 'next/link.js';
|
|
10
5
|
import React from 'react';
|
|
6
|
+
import { ResetPasswordClient } from './index.client.js';
|
|
11
7
|
export const resetPasswordBaseClass = 'reset-password';
|
|
12
8
|
const Link = LinkImport.default || LinkImport;
|
|
13
9
|
export { generateResetPasswordMetadata } from './meta.js';
|
|
14
10
|
export const ResetPassword = ({ initPageResult, params })=>{
|
|
15
11
|
const { req } = initPageResult;
|
|
16
|
-
const { token } = params;
|
|
12
|
+
const { segments: [_, token] } = params;
|
|
17
13
|
const { i18n, payload: { config }, user } = req;
|
|
18
|
-
const {
|
|
19
|
-
// const onSuccess = async (data) => {
|
|
20
|
-
// if (data.token) {
|
|
21
|
-
// await fetchFullUser()
|
|
22
|
-
// history.push(`${admin}`)
|
|
23
|
-
// } else {
|
|
24
|
-
// history.push(`${admin}/login`)
|
|
25
|
-
// toast.success(i18n.t('general:updatedSuccessfully'), { autoClose: 3000 })
|
|
26
|
-
// }
|
|
27
|
-
// }
|
|
14
|
+
const { routes: { admin } } = config;
|
|
28
15
|
if (user) {
|
|
29
16
|
return /*#__PURE__*/ React.createElement(MinimalTemplate, {
|
|
30
17
|
className: resetPasswordBaseClass
|
|
@@ -49,21 +36,9 @@ export const ResetPassword = ({ initPageResult, params })=>{
|
|
|
49
36
|
className: resetPasswordBaseClass
|
|
50
37
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
51
38
|
className: `${resetPasswordBaseClass}__wrap`
|
|
52
|
-
}, /*#__PURE__*/ React.createElement("h1", null, i18n.t('authentication:resetPassword')), /*#__PURE__*/ React.createElement(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// onSuccess={onSuccess}
|
|
56
|
-
redirect: admin
|
|
57
|
-
}, /*#__PURE__*/ React.createElement(Password, {
|
|
58
|
-
autoComplete: "off",
|
|
59
|
-
label: i18n.t('authentication:newPassword'),
|
|
60
|
-
name: "password",
|
|
61
|
-
required: true
|
|
62
|
-
}), /*#__PURE__*/ React.createElement(ConfirmPassword, null), /*#__PURE__*/ React.createElement(HiddenInput, {
|
|
63
|
-
forceUsePathFromProps: true,
|
|
64
|
-
name: "token",
|
|
65
|
-
value: token
|
|
66
|
-
}), /*#__PURE__*/ React.createElement(FormSubmit, null, i18n.t('authentication:resetPassword')))));
|
|
39
|
+
}, /*#__PURE__*/ React.createElement("h1", null, i18n.t('authentication:resetPassword')), /*#__PURE__*/ React.createElement(ResetPasswordClient, {
|
|
40
|
+
token: token
|
|
41
|
+
})));
|
|
67
42
|
};
|
|
68
43
|
|
|
69
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/ResetPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload/types'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Translation } from '@payloadcms/ui/elements/Translation'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ResetPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload/types'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Translation } from '@payloadcms/ui/elements/Translation'\nimport { MinimalTemplate } from '@payloadcms/ui/templates/Minimal'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { ResetPasswordClient } from './index.client.js'\nimport './index.scss'\n\nexport const resetPasswordBaseClass = 'reset-password'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateResetPasswordMetadata } from './meta.js'\n\nexport const ResetPassword: React.FC<AdminViewProps> = ({ initPageResult, params }) => {\n const { req } = initPageResult\n\n const {\n segments: [_, token],\n } = params\n\n const {\n i18n,\n payload: { config },\n user,\n } = req\n\n const {\n routes: { admin },\n } = config\n\n if (user) {\n return (\n <MinimalTemplate className={resetPasswordBaseClass}>\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:alreadyLoggedIn')}</h1>\n <p>\n <Translation\n elements={{\n '0': ({ children }) => <Link href={`${admin}/account`}>{children}</Link>,\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n </p>\n <br />\n <Button Link={Link} buttonStyle=\"secondary\" el=\"link\" to={admin}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </div>\n </MinimalTemplate>\n )\n }\n\n return (\n <MinimalTemplate className={resetPasswordBaseClass}>\n <div className={`${resetPasswordBaseClass}__wrap`}>\n <h1>{i18n.t('authentication:resetPassword')}</h1>\n <ResetPasswordClient token={token} />\n </div>\n </MinimalTemplate>\n )\n}\n"],"names":["Button","Translation","MinimalTemplate","LinkImport","React","ResetPasswordClient","resetPasswordBaseClass","Link","default","generateResetPasswordMetadata","ResetPassword","initPageResult","params","req","segments","_","token","i18n","payload","config","user","routes","admin","className","div","h1","t","p","elements","children","href","i18nKey","br","buttonStyle","el","to"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,MAAM,QAAQ,iCAAgC;AACvD,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,WAAW,QAAO;AAEzB,SAASC,mBAAmB,QAAQ,oBAAmB;AAGvD,OAAO,MAAMC,yBAAyB,iBAAgB;AAEtD,MAAMC,OAAQJ,WAAWK,OAAO,IAAIL;AAEpC,SAASM,6BAA6B,QAAQ,YAAW;AAEzD,OAAO,MAAMC,gBAA0C,CAAC,EAAEC,cAAc,EAAEC,MAAM,EAAE;IAChF,MAAM,EAAEC,GAAG,EAAE,GAAGF;IAEhB,MAAM,EACJG,UAAU,CAACC,GAAGC,MAAM,EACrB,GAAGJ;IAEJ,MAAM,EACJK,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,GAAGP;IAEJ,MAAM,EACJQ,QAAQ,EAAEC,KAAK,EAAE,EAClB,GAAGH;IAEJ,IAAIC,MAAM;QACR,qBACE,oBAAClB;YAAgBqB,WAAWjB;yBAC1B,oBAACkB;YAAID,WAAW,CAAC,EAAEjB,uBAAuB,MAAM,CAAC;yBAC/C,oBAACmB,YAAIR,KAAKS,CAAC,CAAC,kDACZ,oBAACC,yBACC,oBAAC1B;YACC2B,UAAU;gBACR,KAAK,CAAC,EAAEC,QAAQ,EAAE,iBAAK,oBAACtB;wBAAKuB,MAAM,CAAC,EAAER,MAAM,QAAQ,CAAC;uBAAGO;YAC1D;YACAE,SAAQ;YACRL,GAAGT,KAAKS,CAAC;2BAGb,oBAACM,2BACD,oBAAChC;YAAOO,MAAMA;YAAM0B,aAAY;YAAYC,IAAG;YAAOC,IAAIb;WACvDL,KAAKS,CAAC,CAAC;IAKlB;IAEA,qBACE,oBAACxB;QAAgBqB,WAAWjB;qBAC1B,oBAACkB;QAAID,WAAW,CAAC,EAAEjB,uBAAuB,MAAM,CAAC;qBAC/C,oBAACmB,YAAIR,KAAKS,CAAC,CAAC,gDACZ,oBAACrB;QAAoBW,OAAOA;;AAIpC,EAAC"}
|
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
.reset-password {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
flex-wrap: wrap;
|
|
5
|
-
min-height: 100vh;
|
|
6
|
-
|
|
7
|
-
&__wrap {
|
|
8
|
-
margin: 0 auto var(--base);
|
|
9
|
-
width: 100%;
|
|
10
|
-
|
|
11
|
-
svg {
|
|
12
|
-
width: 100%;
|
|
13
|
-
}
|
|
2
|
+
form > .field-type {
|
|
3
|
+
margin-bottom: var(--base);
|
|
14
4
|
}
|
|
15
5
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.23",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"react-toastify": "8.2.0",
|
|
45
45
|
"sass": "^1.71.1",
|
|
46
46
|
"ws": "^8.16.0",
|
|
47
|
-
"@payloadcms/graphql": "3.0.0-beta.
|
|
48
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
49
|
-
"@payloadcms/ui": "3.0.0-beta.
|
|
47
|
+
"@payloadcms/graphql": "3.0.0-beta.23",
|
|
48
|
+
"@payloadcms/translations": "3.0.0-beta.23",
|
|
49
|
+
"@payloadcms/ui": "3.0.0-beta.23"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@next/eslint-plugin-next": "^14.1.0",
|
|
@@ -65,12 +65,12 @@
|
|
|
65
65
|
"webpack": "^5.78.0",
|
|
66
66
|
"webpack-cli": "^5.1.4",
|
|
67
67
|
"@payloadcms/eslint-config": "1.1.1",
|
|
68
|
-
"payload": "3.0.0-beta.
|
|
68
|
+
"payload": "3.0.0-beta.23"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"graphql": "^16.8.1",
|
|
72
72
|
"next": "^14.3.0-canary.7",
|
|
73
|
-
"payload": "3.0.0-beta.
|
|
73
|
+
"payload": "3.0.0-beta.23"
|
|
74
74
|
},
|
|
75
75
|
"engines": {
|
|
76
76
|
"node": ">=18.20.2"
|