Current File : //home/mdkeenpw/www/wp-content/plugins/extendify/src/Assist/components/dashboard/MobileCards.jsx |
import { chevronUp, Icon, check } from '@wordpress/icons';
import { Disclosure } from '@headlessui/react';
import classNames from 'classnames';
import { CardContent } from '@assist/components/dashboard/CardContent';
import { CardsTitle } from '@assist/components/dashboard/CardsTitle';
import { useTasksStore } from '@assist/state/tasks';
import { Bullet } from '@assist/svg';
export const MobileCards = ({ className, totalCompleted, tasks }) => {
const { isCompleted } = useTasksStore();
return (
<>
<div
className={classNames(
className,
'mb-6 h-full w-full overflow-auto rounded border border-gray-300 bg-white',
)}>
<CardsTitle totalCompleted={totalCompleted} total={tasks.length} />
{tasks.map((task) => {
const isCompletedTask = isCompleted(task.slug);
return (
<Disclosure key={task.slug}>
{({ open }) => (
<>
<Disclosure.Button
as="div"
className={classNames(
'flex w-full items-center border-b text-base',
{
'border-transparent font-semibold': open,
'border-gray-400': !open,
},
)}>
<div className="group flex w-full items-center justify-between px-5 py-4 hover:cursor-pointer hover:bg-gray-100 md:border md:border-gray-100 lg:px-6">
<div className="flex w-full items-center space-x-2">
<Icon
icon={isCompletedTask ? check : Bullet}
size={isCompletedTask ? 24 : 12}
className={classNames('flex-shrink-0', {
'fill-current text-design-main': open,
'mx-2 text-center text-gray-400':
!isCompletedTask && !open,
'mx-2': !isCompletedTask && open,
})}
/>
{task?.sidebarTitle ?? task.title}
</div>
<div className="md:hidden">
<Icon
icon={chevronUp}
className={classNames(
'h-5 w-5 text-purple-500 md:hidden',
{
'rotate-180 transform': open,
},
)}
/>
</div>
</div>
</Disclosure.Button>
<Disclosure.Panel className="border-b border-gray-400">
<CardContent task={task} />
</Disclosure.Panel>
</>
)}
</Disclosure>
);
})}
</div>
</>
);
};