{"version":3,"file":"index.js","names":["getTranslation","EntityType","getAccessResults","formatAdminURL","React","Button","Card","Locked","getGlobalData","getNavGroups","getVisibleEntities","baseClass","CollectionCards","props","i18n","payload","user","req","admin","adminRoute","config","routes","t","permissions","visibleEntities","globalData","navGroups","_jsx","className","length","map","entities","label","groupIndex","_jsxs","slug","type","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","path","collections","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","actions","id","buttonStyle","el","icon","iconStyle","round","to","undefined","titleAs"],"sources":["../../../src/widgets/CollectionCards/index.tsx"],"sourcesContent":["import type { WidgetServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { EntityType, getAccessResults } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Card } from '../../elements/Card/index.js'\nimport { Locked } from '../../elements/Locked/index.js'\nimport { getGlobalData } from '../../utilities/getGlobalData.js'\nimport { getNavGroups } from '../../utilities/getNavGroups.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport './index.scss'\n\nconst baseClass = 'collections'\n\nexport async function CollectionCards(props: WidgetServerProps) {\n const { i18n, payload, user } = props.req\n const { admin: adminRoute } = payload.config.routes\n const { t } = i18n\n const permissions = await getAccessResults({ req: props.req })\n const visibleEntities = getVisibleEntities({ req: props.req })\n const globalData = await getGlobalData(props.req)\n\n const navGroups = getNavGroups(permissions, visibleEntities, payload.config, i18n)\n\n return (\n
\n
\n {!navGroups || navGroups?.length === 0 ? (\n

no nav groups....

\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n
\n

{label}

\n
    \n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}`,\n })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find((global) => global.slug === slug)\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n
  • \n \n ) : // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison\n hasCreatePermission && type === EntityType.collection ? (\n \n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n title={getTranslation(label, i18n)}\n titleAs=\"h3\"\n />\n
  • \n )\n })}\n
\n
\n )\n })\n )}\n
\n
\n )\n}\n"],"mappings":"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","ignoreList":[]}