payload-kanban-board
Version:
A kanban board plugin for Payload CMS
50 lines (49 loc) • 1.81 kB
JavaScript
'use client';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useConfig, useTranslation } from '@payloadcms/ui';
import { formatDate } from '@payloadcms/ui/shared';
import { useRouter } from 'next/navigation.js';
import React, { forwardRef } from 'react';
import './styles.scss';
const baseClass = 'board-card';
const BoardCard = /*#__PURE__*/ forwardRef((props, ref)=>{
const { collection, data, ...rest } = props;
const { config: { admin: { dateFormat } } } = useConfig();
const { slug, admin } = collection;
const { i18n } = useTranslation();
const router = useRouter();
console.log('document data', data);
if (data) return /*#__PURE__*/ _jsxs("div", {
className: baseClass,
ref: ref,
...rest,
children: [
/*#__PURE__*/ _jsx("div", {
className: `${baseClass}__title`,
children: /*#__PURE__*/ _jsxs("div", {
onClick: ()=>{
router.push(`/admin/collections/${slug}/${data.id}`);
},
children: [
/*#__PURE__*/ _jsx("span", {
style: {
cursor: 'pointer'
},
children: admin?.useAsTitle && data[admin.useAsTitle]
}),
!admin?.useAsTitle && data.id
]
})
}),
/*#__PURE__*/ _jsx("small", {
children: formatDate({
date: data?.createdAt,
i18n,
pattern: dateFormat
})
})
]
});
});
export default BoardCard;
//# sourceMappingURL=BoardCard.js.map