@payloadcms/next 3.69.0-canary.0 → 3.69.0-canary.2
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/cjs/withPayload.cjs +3 -1
- package/dist/cjs/withPayload.cjs.map +3 -3
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +24 -19
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +21 -15
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +20 -35
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +2 -1
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +6 -1
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +6 -1
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +8 -4
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +6 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +6 -3
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js +4 -1
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +2 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +24 -17
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +41 -36
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/NotFound/index.js +2 -1
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +22 -16
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +4 -2
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getRouteData.js +2 -1
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +4 -2
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +4 -2
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +4 -2
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +14 -7
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +4 -2
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +6 -3
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +6 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload/withPayload.d.ts.map +1 -1
- package/dist/withPayload/withPayload.js +1 -1
- package/dist/withPayload/withPayload.js.map +1 -1
- package/dist/withPayload/withPayload.utils.d.ts.map +1 -1
- package/dist/withPayload/withPayload.utils.js +4 -1
- package/dist/withPayload/withPayload.utils.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","getColumns","renderFilters","renderTable","upsertPreferences","notFound","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","enrichDocsWithVersionStatus","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","includes","baseFilterConstraint","baseFilter","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","select","enableListViewSelectAPI","fieldPermissions","fields","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getColumns, renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n query.preset = collectionPreferences?.preset\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n query.groupBy = collectionPreferences?.groupBy\n\n query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || [])\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n i18n,\n permissions,\n })\n\n const select = collectionConfig.admin.enableListViewSelectAPI\n ? transformColumnsToSelect(columns)\n : undefined\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component:\n ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","getColumns","renderFilters","renderTable","upsertPreferences","notFound","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","enrichDocsWithVersionStatus","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","includes","baseFilterConstraint","baseFilter","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","select","enableListViewSelectAPI","fieldPermissions","fields","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","serverURL","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getColumns, renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n query.preset = collectionPreferences?.preset\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n query.groupBy = collectionPreferences?.groupBy\n\n query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || [])\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n i18n,\n permissions,\n })\n\n const select = collectionConfig.admin.enableListViewSelectAPI\n ? transformColumnsToSelect(columns)\n : undefined\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n serverURL: config.serverURL,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component:\n ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginForm/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CA+FA,CAAA"}
|
|
@@ -5,10 +5,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
const baseClass = 'login__form';
|
|
7
7
|
import { Form, FormSubmit, Link, PasswordField, useAuth, useConfig, useTranslation } from '@payloadcms/ui';
|
|
8
|
-
import { formatAdminURL, getLoginOptions, getSafeRedirect } from 'payload/shared';
|
|
8
|
+
import { formatAdminURL, formatApiURL, getLoginOptions, getSafeRedirect } from 'payload/shared';
|
|
9
9
|
import { LoginField } from '../LoginField/index.js';
|
|
10
10
|
export const LoginForm = t0 => {
|
|
11
|
-
const $ = _c(
|
|
11
|
+
const $ = _c(24);
|
|
12
12
|
const {
|
|
13
13
|
prefillEmail,
|
|
14
14
|
prefillPassword,
|
|
@@ -21,7 +21,8 @@ export const LoginForm = t0 => {
|
|
|
21
21
|
} = useConfig();
|
|
22
22
|
const {
|
|
23
23
|
admin: t1,
|
|
24
|
-
routes: t2
|
|
24
|
+
routes: t2,
|
|
25
|
+
serverURL
|
|
25
26
|
} = config;
|
|
26
27
|
const {
|
|
27
28
|
routes: t3,
|
|
@@ -84,7 +85,7 @@ export const LoginForm = t0 => {
|
|
|
84
85
|
const t6 = prefillPassword ?? undefined;
|
|
85
86
|
const t7 = prefillPassword ?? undefined;
|
|
86
87
|
let t8;
|
|
87
|
-
if ($[7] !== adminRoute || $[8] !== apiRoute || $[9] !== forgotRoute || $[10] !== loginType || $[11] !== loginWithUsername || $[12] !== prefillEmail || $[13] !== prefillUsername || $[14] !== searchParams?.redirect || $[15] !==
|
|
88
|
+
if ($[7] !== adminRoute || $[8] !== apiRoute || $[9] !== forgotRoute || $[10] !== loginType || $[11] !== loginWithUsername || $[12] !== prefillEmail || $[13] !== prefillUsername || $[14] !== searchParams?.redirect || $[15] !== serverURL || $[16] !== setUser || $[17] !== t || $[18] !== t6 || $[19] !== t7 || $[20] !== userSlug) {
|
|
88
89
|
const initialState = {
|
|
89
90
|
password: {
|
|
90
91
|
initialValue: t6,
|
|
@@ -106,18 +107,22 @@ export const LoginForm = t0 => {
|
|
|
106
107
|
};
|
|
107
108
|
}
|
|
108
109
|
let t9;
|
|
109
|
-
if ($[
|
|
110
|
+
if ($[22] !== setUser) {
|
|
110
111
|
t9 = data => {
|
|
111
112
|
setUser(data);
|
|
112
113
|
};
|
|
113
|
-
$[
|
|
114
|
-
$[
|
|
114
|
+
$[22] = setUser;
|
|
115
|
+
$[23] = t9;
|
|
115
116
|
} else {
|
|
116
|
-
t9 = $[
|
|
117
|
+
t9 = $[23];
|
|
117
118
|
}
|
|
118
119
|
const handleLogin = t9;
|
|
119
120
|
t8 = _jsxs(Form, {
|
|
120
|
-
action:
|
|
121
|
+
action: formatApiURL({
|
|
122
|
+
apiRoute,
|
|
123
|
+
path: `/${userSlug}/login`,
|
|
124
|
+
serverURL
|
|
125
|
+
}),
|
|
121
126
|
className: baseClass,
|
|
122
127
|
disableSuccessStatus: true,
|
|
123
128
|
initialState,
|
|
@@ -143,7 +148,8 @@ export const LoginForm = t0 => {
|
|
|
143
148
|
}), _jsx(Link, {
|
|
144
149
|
href: formatAdminURL({
|
|
145
150
|
adminRoute,
|
|
146
|
-
path: forgotRoute
|
|
151
|
+
path: forgotRoute,
|
|
152
|
+
serverURL
|
|
147
153
|
}),
|
|
148
154
|
prefetch: false,
|
|
149
155
|
children: t("authentication:forgotPasswordQuestion")
|
|
@@ -160,14 +166,15 @@ export const LoginForm = t0 => {
|
|
|
160
166
|
$[12] = prefillEmail;
|
|
161
167
|
$[13] = prefillUsername;
|
|
162
168
|
$[14] = searchParams?.redirect;
|
|
163
|
-
$[15] =
|
|
164
|
-
$[16] =
|
|
165
|
-
$[17] =
|
|
166
|
-
$[18] =
|
|
167
|
-
$[19] =
|
|
168
|
-
$[20] =
|
|
169
|
+
$[15] = serverURL;
|
|
170
|
+
$[16] = setUser;
|
|
171
|
+
$[17] = t;
|
|
172
|
+
$[18] = t6;
|
|
173
|
+
$[19] = t7;
|
|
174
|
+
$[20] = userSlug;
|
|
175
|
+
$[21] = t8;
|
|
169
176
|
} else {
|
|
170
|
-
t8 = $[
|
|
177
|
+
t8 = $[21];
|
|
171
178
|
}
|
|
172
179
|
return t8;
|
|
173
180
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","baseClass","Form","FormSubmit","Link","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","getLoginOptions","getSafeRedirect","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","getEntityConfig","admin","t1","routes","t2","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","loginWithUsername","t4","collectionConfig","collectionSlug","auth","authOptions","canLoginWithEmail","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","redirect","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","className","disableSuccessStatus","method","onSuccess","fallbackTo","redirectTo","waitForAutocomplete","children","_jsx","type","field","name","label","required","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","baseClass","Form","FormSubmit","Link","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","formatApiURL","getLoginOptions","getSafeRedirect","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","getEntityConfig","admin","t1","routes","t2","serverURL","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","loginWithUsername","t4","collectionConfig","collectionSlug","auth","authOptions","canLoginWithEmail","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","redirect","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","path","className","disableSuccessStatus","method","onSuccess","fallbackTo","redirectTo","waitForAutocomplete","children","_jsx","type","field","name","label","required","href","prefetch","size"],"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nconst baseClass = 'login__form'\n\nimport type { UserWithToken } from '@payloadcms/ui'\nimport type { FormState } from 'payload'\n\nimport {\n Form,\n FormSubmit,\n Link,\n PasswordField,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, formatApiURL, getLoginOptions, getSafeRedirect } from 'payload/shared'\n\nimport type { LoginFieldProps } from '../LoginField/index.js'\n\nimport { LoginField } from '../LoginField/index.js'\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n prefillEmail?: string\n prefillPassword?: string\n prefillUsername?: string\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ prefillEmail, prefillPassword, prefillUsername, searchParams }) => {\n const { config, getEntityConfig } = useConfig()\n\n const {\n admin: {\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = config\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n const { canLoginWithEmail, canLoginWithUsername } = getLoginOptions(loginWithUsername)\n\n const [loginType] = React.useState<LoginFieldProps['type']>(() => {\n if (canLoginWithEmail && canLoginWithUsername) {\n return 'emailOrUsername'\n }\n if (canLoginWithUsername) {\n return 'username'\n }\n return 'email'\n })\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const initialState: FormState = {\n password: {\n initialValue: prefillPassword ?? undefined,\n valid: true,\n value: prefillPassword ?? undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillUsername ?? undefined,\n valid: true,\n value: prefillUsername ?? undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillEmail ?? undefined,\n valid: true,\n value: prefillEmail ?? undefined,\n }\n }\n\n const handleLogin = (data: UserWithToken) => {\n setUser(data)\n }\n\n return (\n <Form\n action={formatApiURL({\n apiRoute,\n path: `/${userSlug}/login`,\n serverURL,\n })}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n onSuccess={handleLogin}\n redirect={getSafeRedirect({ fallbackTo: adminRoute, redirectTo: searchParams?.redirect })}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n <LoginField type={loginType} />\n <PasswordField\n field={{\n name: 'password',\n label: t('general:password'),\n required: true,\n }}\n path=\"password\"\n />\n </div>\n <Link\n href={formatAdminURL({\n adminRoute,\n path: forgotRoute,\n serverURL,\n })}\n prefetch={false}\n >\n {t('authentication:forgotPasswordQuestion')}\n </Link>\n <FormSubmit size=\"large\">{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,cAAc,CAAA;AAIrB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CA4DA,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { Button, LoadingOverlay, toast, useAuth, useRouteTransition, useTranslation } from '@payloadcms/ui';
|
|
5
|
+
import { Button, LoadingOverlay, toast, useAuth, useConfig, useRouteTransition, useTranslation } from '@payloadcms/ui';
|
|
6
6
|
import { useRouter } from 'next/navigation.js';
|
|
7
7
|
import { formatAdminURL } from 'payload/shared';
|
|
8
8
|
import React, { useEffect } from 'react';
|
|
@@ -18,7 +18,7 @@ const baseClass = 'logout';
|
|
|
18
18
|
* is logged out due to inactivity.
|
|
19
19
|
*/
|
|
20
20
|
export const LogoutClient = props => {
|
|
21
|
-
const $ = _c(
|
|
21
|
+
const $ = _c(24);
|
|
22
22
|
const {
|
|
23
23
|
adminRoute,
|
|
24
24
|
inactivity,
|
|
@@ -28,6 +28,9 @@ export const LogoutClient = props => {
|
|
|
28
28
|
logOut,
|
|
29
29
|
user
|
|
30
30
|
} = useAuth();
|
|
31
|
+
const {
|
|
32
|
+
config
|
|
33
|
+
} = useConfig();
|
|
31
34
|
const {
|
|
32
35
|
startRouteTransition
|
|
33
36
|
} = useRouteTransition();
|
|
@@ -35,17 +38,19 @@ export const LogoutClient = props => {
|
|
|
35
38
|
const isLoggedIn = Boolean(user?.id);
|
|
36
39
|
const navigatingToLoginRef = React.useRef(false);
|
|
37
40
|
let t0;
|
|
38
|
-
if ($[0] !== adminRoute || $[1] !==
|
|
41
|
+
if ($[0] !== adminRoute || $[1] !== config || $[2] !== inactivity || $[3] !== redirect) {
|
|
39
42
|
t0 = () => formatAdminURL({
|
|
40
43
|
adminRoute,
|
|
41
|
-
path: `/login${inactivity && redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ""}
|
|
44
|
+
path: `/login${inactivity && redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ""}`,
|
|
45
|
+
serverURL: config.serverURL
|
|
42
46
|
});
|
|
43
47
|
$[0] = adminRoute;
|
|
44
|
-
$[1] =
|
|
45
|
-
$[2] =
|
|
46
|
-
$[3] =
|
|
48
|
+
$[1] = config;
|
|
49
|
+
$[2] = inactivity;
|
|
50
|
+
$[3] = redirect;
|
|
51
|
+
$[4] = t0;
|
|
47
52
|
} else {
|
|
48
|
-
t0 = $[
|
|
53
|
+
t0 = $[4];
|
|
49
54
|
}
|
|
50
55
|
const [loginRoute] = React.useState(t0);
|
|
51
56
|
const {
|
|
@@ -53,7 +58,7 @@ export const LogoutClient = props => {
|
|
|
53
58
|
} = useTranslation();
|
|
54
59
|
const router = useRouter();
|
|
55
60
|
let t1;
|
|
56
|
-
if ($[
|
|
61
|
+
if ($[5] !== logOut || $[6] !== loginRoute || $[7] !== router || $[8] !== startRouteTransition || $[9] !== t) {
|
|
57
62
|
t1 = async () => {
|
|
58
63
|
if (!navigatingToLoginRef.current) {
|
|
59
64
|
navigatingToLoginRef.current = true;
|
|
@@ -63,19 +68,19 @@ export const LogoutClient = props => {
|
|
|
63
68
|
return;
|
|
64
69
|
}
|
|
65
70
|
};
|
|
66
|
-
$[
|
|
67
|
-
$[
|
|
68
|
-
$[
|
|
69
|
-
$[
|
|
70
|
-
$[
|
|
71
|
-
$[
|
|
71
|
+
$[5] = logOut;
|
|
72
|
+
$[6] = loginRoute;
|
|
73
|
+
$[7] = router;
|
|
74
|
+
$[8] = startRouteTransition;
|
|
75
|
+
$[9] = t;
|
|
76
|
+
$[10] = t1;
|
|
72
77
|
} else {
|
|
73
|
-
t1 = $[
|
|
78
|
+
t1 = $[10];
|
|
74
79
|
}
|
|
75
80
|
const handleLogOut = t1;
|
|
76
81
|
let t2;
|
|
77
82
|
let t3;
|
|
78
|
-
if ($[
|
|
83
|
+
if ($[11] !== handleLogOut || $[12] !== inactivity || $[13] !== isLoggedIn || $[14] !== loginRoute || $[15] !== router || $[16] !== startRouteTransition) {
|
|
79
84
|
t2 = () => {
|
|
80
85
|
if (isLoggedIn && !inactivity) {
|
|
81
86
|
handleLogOut();
|
|
@@ -87,22 +92,22 @@ export const LogoutClient = props => {
|
|
|
87
92
|
}
|
|
88
93
|
};
|
|
89
94
|
t3 = [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition, inactivity];
|
|
90
|
-
$[
|
|
91
|
-
$[
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
95
|
+
$[11] = handleLogOut;
|
|
96
|
+
$[12] = inactivity;
|
|
97
|
+
$[13] = isLoggedIn;
|
|
98
|
+
$[14] = loginRoute;
|
|
99
|
+
$[15] = router;
|
|
100
|
+
$[16] = startRouteTransition;
|
|
101
|
+
$[17] = t2;
|
|
102
|
+
$[18] = t3;
|
|
98
103
|
} else {
|
|
99
|
-
t2 = $[
|
|
100
|
-
t3 = $[
|
|
104
|
+
t2 = $[17];
|
|
105
|
+
t3 = $[18];
|
|
101
106
|
}
|
|
102
107
|
useEffect(t2, t3);
|
|
103
108
|
if (!isLoggedIn && inactivity) {
|
|
104
109
|
let t4;
|
|
105
|
-
if ($[
|
|
110
|
+
if ($[19] !== loginRoute || $[20] !== t) {
|
|
106
111
|
t4 = _jsxs("div", {
|
|
107
112
|
className: `${baseClass}__wrap`,
|
|
108
113
|
children: [_jsx("h2", {
|
|
@@ -115,24 +120,24 @@ export const LogoutClient = props => {
|
|
|
115
120
|
children: t("authentication:logBackIn")
|
|
116
121
|
})]
|
|
117
122
|
});
|
|
118
|
-
$[
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
123
|
+
$[19] = loginRoute;
|
|
124
|
+
$[20] = t;
|
|
125
|
+
$[21] = t4;
|
|
121
126
|
} else {
|
|
122
|
-
t4 = $[
|
|
127
|
+
t4 = $[21];
|
|
123
128
|
}
|
|
124
129
|
return t4;
|
|
125
130
|
}
|
|
126
131
|
let t4;
|
|
127
|
-
if ($[
|
|
132
|
+
if ($[22] !== t) {
|
|
128
133
|
t4 = _jsx(LoadingOverlay, {
|
|
129
134
|
animationDuration: "0ms",
|
|
130
135
|
loadingText: t("authentication:loggingOut")
|
|
131
136
|
});
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
137
|
+
$[22] = t;
|
|
138
|
+
$[23] = t4;
|
|
134
139
|
} else {
|
|
135
|
-
t4 = $[
|
|
140
|
+
t4 = $[23];
|
|
136
141
|
}
|
|
137
142
|
return t4;
|
|
138
143
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useRouteTransition","useTranslation","useRouter","formatAdminURL","React","useEffect","baseClass","LogoutClient","props","$","adminRoute","inactivity","redirect","logOut","user","startRouteTransition","id","isLoggedIn","Boolean","navigatingToLoginRef","useRef","t0","path","length","encodeURIComponent","loginRoute","useState","t","router","t1","current","success","push","handleLogOut","t2","t3","t4","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport {\n Button,\n LoadingOverlay,\n toast,\n useAuth,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\n/**\n * This component should **just** be the inactivity route and do nothing with logging the user out.\n *\n * It currently handles too much, the auth provider should just log the user out and then\n * we could remove the useEffect in this file. So instead of the logout button\n * being an anchor link, it should be a button that calls `logOut` in the provider.\n *\n * This view is still useful if cookies attempt to refresh and fail, i.e. the user\n * is logged out due to inactivity.\n */\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const { logOut, user } = useAuth()\n\n const { startRouteTransition } = useRouteTransition()\n\n const isLoggedIn = React.useMemo(() => {\n return Boolean(user?.id)\n }, [user?.id])\n\n const navigatingToLoginRef = React.useRef(false)\n\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n
|
|
1
|
+
{"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useConfig","useRouteTransition","useTranslation","useRouter","formatAdminURL","React","useEffect","baseClass","LogoutClient","props","$","adminRoute","inactivity","redirect","logOut","user","config","startRouteTransition","id","isLoggedIn","Boolean","navigatingToLoginRef","useRef","t0","path","length","encodeURIComponent","serverURL","loginRoute","useState","t","router","t1","current","success","push","handleLogOut","t2","t3","t4","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport {\n Button,\n LoadingOverlay,\n toast,\n useAuth,\n useConfig,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\n/**\n * This component should **just** be the inactivity route and do nothing with logging the user out.\n *\n * It currently handles too much, the auth provider should just log the user out and then\n * we could remove the useEffect in this file. So instead of the logout button\n * being an anchor link, it should be a button that calls `logOut` in the provider.\n *\n * This view is still useful if cookies attempt to refresh and fail, i.e. the user\n * is logged out due to inactivity.\n */\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const { logOut, user } = useAuth()\n const { config } = useConfig()\n\n const { startRouteTransition } = useRouteTransition()\n\n const isLoggedIn = React.useMemo(() => {\n return Boolean(user?.id)\n }, [user?.id])\n\n const navigatingToLoginRef = React.useRef(false)\n\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n serverURL: config.serverURL,\n }),\n )\n\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n if (!navigatingToLoginRef.current) {\n navigatingToLoginRef.current = true\n await logOut()\n toast.success(t('authentication:loggedOutSuccessfully'))\n startRouteTransition(() => router.push(loginRoute))\n return\n }\n }, [logOut, loginRoute, router, startRouteTransition, t])\n\n useEffect(() => {\n if (isLoggedIn && !inactivity) {\n void handleLogOut()\n } else if (!navigatingToLoginRef.current) {\n navigatingToLoginRef.current = true\n startRouteTransition(() => router.push(loginRoute))\n }\n }, [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition, inactivity])\n\n if (!isLoggedIn && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["formatAdminURL","qs","React","DefaultTemplate","getNextRequestI18n","getVisibleEntities","initReq","NotFoundClient","generateNotFoundViewMetadata","config","configPromise","i18n","title","t","NotFoundPage","importMap","params","paramsPromise","searchParams","searchParamsPromise","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","path","user","canAccessAdmin","_jsx","visibleEntities","NotFoundView","props","marginTop"],"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { AdminViewServerProps, ImportMap, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generateNotFoundViewMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\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 const NotFoundPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n params: Promise<{\n segments: string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n const { routes: { admin: adminRoute } = {} } = config\n\n const searchParams = await searchParamsPromise\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'RootLayout',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${formatAdminURL({ adminRoute, path: '/not-found' })}${searchParams ? queryString : ''}`,\n },\n })\n\n if (!req.user || !permissions.canAccessAdmin) {\n return <NotFoundClient />\n }\n\n const params = await paramsPromise\n const visibleEntities = getVisibleEntities({ req })\n\n return (\n <DefaultTemplate\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={req.user}\n visibleEntities={visibleEntities}\n >\n <NotFoundClient />\n </DefaultTemplate>\n )\n}\n\nexport function NotFoundView(props: AdminViewServerProps) {\n return <NotFoundClient marginTop=\"large\" />\n}\n"],"mappings":";AAGA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,4BAAA,GAA+B,MAAAA,CAAO;EACjDC,MAAA,EAAQC;AAAa,CAItB;EACC,MAAMD,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMC,IAAA,GAAO,MAAMP,kBAAA,CAAmB;IACpCK;EACF;EAEA,OAAO;IACLG,KAAA,EAAOD,IAAA,CAAKE,CAAC,CAAC;EAChB;AACF;AAEA,OAAO,MAAMC,YAAA,GAAe,MAAAA,CAAO;EACjCL,MAAA,EAAQC,aAAa;EACrBK,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMV,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAM;IAAEU,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGb,MAAA;EAE/C,MAAMS,YAAA,GAAe,MAAMC,mBAAA;EAC3B,MAAMI,WAAA,GAAc,GAAGtB,EAAA,CAAGuB,SAAS,CAACN,YAAA,IAAgB,CAAC,GAAG;IAAEO,cAAA,EAAgB;EAAK,IAAI;EACnF,MAAM;IACJC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC;IAAO;EAAE,CACjB,GAAG,MAAMvB,OAAA,CAAQ;IAChBI,aAAA,EAAeD,MAAA;IACfM,SAAA;IACAe,GAAA,EAAK;IACLC,SAAA,EAAW;MACTC,cAAA,EAAgB;MAChBJ,GAAA,EAAK;QACHK,KAAA,EAAOhC,EAAA,CAAGiC,KAAK,CAACX,WAAA,EAAa;UAC3BY,KAAA,EAAO;UACPC,iBAAA,EAAmB;QACrB;MACF;MACAC,SAAA,EAAW,GAAGrC,cAAA,CAAe;QAAEsB,UAAA;QAAYgB,IAAA,EAAM;
|
|
1
|
+
{"version":3,"file":"index.js","names":["formatAdminURL","qs","React","DefaultTemplate","getNextRequestI18n","getVisibleEntities","initReq","NotFoundClient","generateNotFoundViewMetadata","config","configPromise","i18n","title","t","NotFoundPage","importMap","params","paramsPromise","searchParams","searchParamsPromise","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","path","serverURL","user","canAccessAdmin","_jsx","visibleEntities","NotFoundView","props","marginTop"],"sources":["../../../src/views/NotFound/index.tsx"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { AdminViewServerProps, ImportMap, SanitizedConfig } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { NotFoundClient } from './index.client.js'\n\nexport const generateNotFoundViewMetadata = async ({\n config: configPromise,\n}: {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: { [key: string]: string | string[] }\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 const NotFoundPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n params: Promise<{\n segments: string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n const { routes: { admin: adminRoute } = {} } = config\n\n const searchParams = await searchParamsPromise\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'RootLayout',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${formatAdminURL({ adminRoute, path: '/not-found', serverURL: config.serverURL })}${searchParams ? queryString : ''}`,\n },\n })\n\n if (!req.user || !permissions.canAccessAdmin) {\n return <NotFoundClient />\n }\n\n const params = await paramsPromise\n const visibleEntities = getVisibleEntities({ req })\n\n return (\n <DefaultTemplate\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={req.user}\n visibleEntities={visibleEntities}\n >\n <NotFoundClient />\n </DefaultTemplate>\n )\n}\n\nexport function NotFoundView(props: AdminViewServerProps) {\n return <NotFoundClient marginTop=\"large\" />\n}\n"],"mappings":";AAGA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,4BAAA,GAA+B,MAAAA,CAAO;EACjDC,MAAA,EAAQC;AAAa,CAItB;EACC,MAAMD,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMC,IAAA,GAAO,MAAMP,kBAAA,CAAmB;IACpCK;EACF;EAEA,OAAO;IACLG,KAAA,EAAOD,IAAA,CAAKE,CAAC,CAAC;EAChB;AACF;AAEA,OAAO,MAAMC,YAAA,GAAe,MAAAA,CAAO;EACjCL,MAAA,EAAQC,aAAa;EACrBK,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMV,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAM;IAAEU,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGb,MAAA;EAE/C,MAAMS,YAAA,GAAe,MAAMC,mBAAA;EAC3B,MAAMI,WAAA,GAAc,GAAGtB,EAAA,CAAGuB,SAAS,CAACN,YAAA,IAAgB,CAAC,GAAG;IAAEO,cAAA,EAAgB;EAAK,IAAI;EACnF,MAAM;IACJC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC;IAAO;EAAE,CACjB,GAAG,MAAMvB,OAAA,CAAQ;IAChBI,aAAA,EAAeD,MAAA;IACfM,SAAA;IACAe,GAAA,EAAK;IACLC,SAAA,EAAW;MACTC,cAAA,EAAgB;MAChBJ,GAAA,EAAK;QACHK,KAAA,EAAOhC,EAAA,CAAGiC,KAAK,CAACX,WAAA,EAAa;UAC3BY,KAAA,EAAO;UACPC,iBAAA,EAAmB;QACrB;MACF;MACAC,SAAA,EAAW,GAAGrC,cAAA,CAAe;QAAEsB,UAAA;QAAYgB,IAAA,EAAM;QAAcC,SAAA,EAAW9B,MAAA,CAAO8B;MAAU,KAAKrB,YAAA,GAAeK,WAAA,GAAc;IAC/H;EACF;EAEA,IAAI,CAACK,GAAA,CAAIY,IAAI,IAAI,CAACb,WAAA,CAAYc,cAAc,EAAE;IAC5C,oBAAOC,IAAA,CAACnC,cAAA;EACV;EAEA,MAAMS,MAAA,GAAS,MAAMC,aAAA;EACrB,MAAM0B,eAAA,GAAkBtC,kBAAA,CAAmB;IAAEuB;EAAI;EAEjD,oBACEc,IAAA,CAACvC,eAAA;IACCQ,IAAA,EAAMiB,GAAA,CAAIjB,IAAI;IACde,MAAA,EAAQA,MAAA;IACRV,MAAA,EAAQA,MAAA;IACRa,OAAA,EAASA,OAAA;IACTF,WAAA,EAAaA,WAAA;IACbT,YAAA,EAAcA,YAAA;IACdsB,IAAA,EAAMZ,GAAA,CAAIY,IAAI;IACdG,eAAA,EAAiBA,eAAA;cAEjB,aAAAD,IAAA,CAACnC,cAAA;;AAGP;AAEA,OAAO,SAASqC,aAAaC,KAA2B;EACtD,oBAAOH,IAAA,CAACnC,cAAA;IAAeuC,SAAA,EAAU;;AACnC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CA4E5C,CAAA"}
|
|
@@ -4,10 +4,10 @@ import { c as _c } from "react/compiler-runtime";
|
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { ConfirmPasswordField, Form, FormSubmit, HiddenField, PasswordField, useAuth, useConfig, useTranslation } from '@payloadcms/ui';
|
|
6
6
|
import { useRouter } from 'next/navigation.js';
|
|
7
|
-
import { formatAdminURL } from 'payload/shared';
|
|
7
|
+
import { formatAdminURL, formatApiURL } from 'payload/shared';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
export const ResetPasswordForm = t0 => {
|
|
10
|
-
const $ = _c(
|
|
10
|
+
const $ = _c(13);
|
|
11
11
|
const {
|
|
12
12
|
token
|
|
13
13
|
} = t0;
|
|
@@ -36,7 +36,7 @@ export const ResetPasswordForm = t0 => {
|
|
|
36
36
|
fetchFullUser
|
|
37
37
|
} = useAuth();
|
|
38
38
|
let t5;
|
|
39
|
-
if ($[0] !== adminRoute || $[1] !== fetchFullUser || $[2] !== history || $[3] !== loginRoute) {
|
|
39
|
+
if ($[0] !== adminRoute || $[1] !== fetchFullUser || $[2] !== history || $[3] !== loginRoute || $[4] !== serverURL) {
|
|
40
40
|
t5 = async () => {
|
|
41
41
|
const user = await fetchFullUser();
|
|
42
42
|
if (user) {
|
|
@@ -44,7 +44,8 @@ export const ResetPasswordForm = t0 => {
|
|
|
44
44
|
} else {
|
|
45
45
|
history.push(formatAdminURL({
|
|
46
46
|
adminRoute,
|
|
47
|
-
path: loginRoute
|
|
47
|
+
path: loginRoute,
|
|
48
|
+
serverURL
|
|
48
49
|
}));
|
|
49
50
|
}
|
|
50
51
|
};
|
|
@@ -52,13 +53,14 @@ export const ResetPasswordForm = t0 => {
|
|
|
52
53
|
$[1] = fetchFullUser;
|
|
53
54
|
$[2] = history;
|
|
54
55
|
$[3] = loginRoute;
|
|
55
|
-
$[4] =
|
|
56
|
+
$[4] = serverURL;
|
|
57
|
+
$[5] = t5;
|
|
56
58
|
} else {
|
|
57
|
-
t5 = $[
|
|
59
|
+
t5 = $[5];
|
|
58
60
|
}
|
|
59
61
|
const onSuccess = t5;
|
|
60
62
|
let t6;
|
|
61
|
-
if ($[
|
|
63
|
+
if ($[6] !== apiRoute || $[7] !== i18n || $[8] !== onSuccess || $[9] !== serverURL || $[10] !== token || $[11] !== userSlug) {
|
|
62
64
|
const initialState = {
|
|
63
65
|
"confirm-password": {
|
|
64
66
|
initialValue: "",
|
|
@@ -77,7 +79,11 @@ export const ResetPasswordForm = t0 => {
|
|
|
77
79
|
}
|
|
78
80
|
};
|
|
79
81
|
t6 = _jsxs(Form, {
|
|
80
|
-
action:
|
|
82
|
+
action: formatApiURL({
|
|
83
|
+
apiRoute,
|
|
84
|
+
path: `/${userSlug}/reset-password`,
|
|
85
|
+
serverURL
|
|
86
|
+
}),
|
|
81
87
|
initialState,
|
|
82
88
|
method: "POST",
|
|
83
89
|
onSuccess,
|
|
@@ -101,15 +107,15 @@ export const ResetPasswordForm = t0 => {
|
|
|
101
107
|
children: i18n.t("authentication:resetPassword")
|
|
102
108
|
})]
|
|
103
109
|
});
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
$[
|
|
110
|
+
$[6] = apiRoute;
|
|
111
|
+
$[7] = i18n;
|
|
112
|
+
$[8] = onSuccess;
|
|
113
|
+
$[9] = serverURL;
|
|
114
|
+
$[10] = token;
|
|
115
|
+
$[11] = userSlug;
|
|
116
|
+
$[12] = t6;
|
|
111
117
|
} else {
|
|
112
|
-
t6 = $[
|
|
118
|
+
t6 = $[12];
|
|
113
119
|
}
|
|
114
120
|
return t6;
|
|
115
121
|
};
|