import { useRef } from '@wordpress/element'; import { LaunchCard } from '@assist/components/dashboard/LaunchCard'; import { ActionButton } from '@assist/components/dashboard/buttons/ActionButton'; import { DismissButton } from '@assist/components/dashboard/buttons/DismissButton'; import { DemoCard } from '@assist/components/dashboard/cards/DemoCard'; import { GenericCard } from '@assist/components/dashboard/cards/GenericCard'; import { NoActionBtnCard } from '@assist/components/dashboard/cards/NoActionBtnCard'; import { DomainCard } from '@assist/components/dashboard/domains/DomainCard'; import { SecondaryDomainCard } from '@assist/components/dashboard/domains/SecondaryDomainCard'; import { useTours } from '@assist/hooks/useTours'; import { useTasksStore } from '@assist/state/tasks'; export const CardContent = ({ task }) => { if (task.type === 'html-text-button') return ; if (task.type === 'domain-task') return ; if (task.type === 'secondary-domain-task') return ; if (task.type === 'site-launcher-task') return ; if (task.type === 'demo-card') return ; if (task.type === 'no-action-btn-card') return ; return ; }; const TaskContent = ({ task }) => { const { isCompleted, dismissTask } = useTasksStore(); const { finishedTour } = useTours(); const isCompletedTask = isCompleted(task.slug) || finishedTour(task.slug); // lock state on internal Link buttons if task is not completed const lockedState = useRef( task.type === 'internalLink' && !isCompletedTask ? task : null, ); const handleDismiss = () => { lockedState.current = null; dismissTask(task.slug); }; return (
{task.title}
{task.description}
{lockedState.current || !isCompletedTask ? ( ) : null}
); };