Files
klz-cables.com/.pnpm-store/v10/files/b2/59705ecb8616df233b21fc4164537fed3f2e34022beb911350832cfceba804d103b0ce02e7f40ec079fc9b64126f03895f91ae4b8b9cdd4303362e6cea6212
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
13 KiB
Plaintext

{"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","qs","React","useCallback","useEffect","useState","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","traverseForLocalizedFields","ConfirmationModal","PopupList","UnpublishButton","label","labelProp","id","collectionSlug","data","dataFromProps","globalSlug","hasPublishedDoc","hasPublishPermission","incrementVersionCount","isTrashed","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","toggleModal","config","getEntityConfig","reset","resetForm","code","localeCode","localeLabel","unpublishAll","setUnpublishAll","hasLocalizedFields","setHasLocalizedFields","unPublishModalSlug","routes","api","serverURL","i18n","t","entityConfig","useMemo","unpublish","url","method","queryString","stringify","depth","locale","undefined","unpublishAllLocales","addQueryPrefix","apiRoute","path","res","body","JSON","_status","headers","language","status","success","json","errors","message","error","catch","hasLocalizedField","fields","drafts","versions","hasDraftsEnabled","canUnpublish","canUnpublishCurrentLocale","isLocalizeStatusEnabled","localizeStatus","isExperimentalEnabled","experimental","_jsxs","Fragment","_jsx","Button","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UnpublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nexport function UnpublishButton({\n label: labelProp,\n}: { label?: string } & UnpublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n data: dataFromProps,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n incrementVersionCount,\n isTrashed,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n\n const { config, getEntityConfig } = useConfig()\n const { reset: resetForm } = useForm()\n const { code: localeCode, label: localeLabel } = useLocale()\n const [unpublishAll, setUnpublishAll] = useState(false)\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n const unPublishModalSlug = `confirm-un-publish-${id}`\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const unpublish = useCallback(\n (unpublishAll?: boolean) => {\n void (async () => {\n let url\n let method\n\n const queryString = qs.stringify(\n {\n depth: 0,\n 'fallback-locale': 'null',\n locale: unpublishAll ? undefined : localeCode,\n unpublishAllLocales: unpublishAll,\n },\n { addQueryPrefix: true },\n )\n\n if (collectionSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}/${id}${queryString}`,\n serverURL,\n })\n method = 'patch'\n }\n\n if (globalSlug) {\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${queryString}`,\n serverURL,\n })\n method = 'post'\n }\n\n try {\n const res = await requests[method](url, {\n body: JSON.stringify({ _status: 'draft' }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n void resetForm({\n ...(dataFromProps || {}),\n _status: 'draft',\n })\n\n toast.success(t('version:unpublishedSuccessfully'))\n incrementVersionCount()\n setUnpublishedVersionCount(1)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(false)\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n } catch {\n toast.error(t('error:unPublishingDocument'))\n }\n })().catch(() => {\n toast.error(t('error:unPublishingDocument'))\n })\n },\n [\n dataFromProps,\n resetForm,\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n localeCode,\n id,\n i18n.language,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n t,\n ],\n )\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const drafts = entityConfig?.versions?.drafts\n const hasDraftsEnabled = typeof drafts === 'object' && drafts !== null\n\n const canUnpublish = React.useMemo(() => {\n return hasDraftsEnabled && hasPublishPermission && hasPublishedDoc && !isTrashed\n }, [hasPublishPermission, hasPublishedDoc, isTrashed, hasDraftsEnabled])\n\n const canUnpublishCurrentLocale = React.useMemo(() => {\n if (!canUnpublish || !hasLocalizedFields) {\n return false\n }\n\n const isLocalizeStatusEnabled = drafts && drafts.localizeStatus === true\n const isExperimentalEnabled = config.experimental?.localizeStatus === true\n\n return isLocalizeStatusEnabled && isExperimentalEnabled\n }, [canUnpublish, hasLocalizedFields, drafts, config.experimental?.localizeStatus])\n\n const label = getTranslation(localeLabel, i18n)\n\n if (!canUnpublish) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id=\"action-unpublish\"\n onClick={() => {\n setUnpublishAll(true)\n toggleModal(unPublishModalSlug)\n }}\n >\n {labelProp || t('version:unpublish')}\n </PopupList.Button>\n {canUnpublishCurrentLocale && (\n <PopupList.Button\n id=\"action-unpublish-locale\"\n onClick={() => {\n setUnpublishAll(false)\n toggleModal(unPublishModalSlug)\n }}\n >\n {labelProp ? `${labelProp} [${label}]` : t('version:unpublishIn', { locale: label })}\n </PopupList.Button>\n )}\n <ConfirmationModal\n body={\n !unpublishAll\n ? t('version:aboutToUnpublishIn', { locale: label })\n : t('version:aboutToUnpublish')\n }\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => unpublish(unpublishAll)}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}