import { observer } from "mobx-react"; import { AlertTriangle } from "lucide-react"; // ui import { Loader } from "@plane/ui"; // components import { IssueBlockDate, IssueBlockPriority, IssueBlockState } from "@/components/issues"; // hooks import { usePublish, useStates } from "@/hooks/store"; // plane web hooks import { usePage } from "@/plane-web/hooks/store"; type Props = { anchor: string; issueId: string; }; export const IssueEmbedCard: React.FC = observer((props) => { const { anchor, issueId } = props; // store hooks const pageDetails = usePage(anchor); const { project_details } = usePublish(anchor); const { getStateById } = useStates(); if (!pageDetails) return null; // derived values const { areIssueEmbedsLoaded, getIssueEmbedDetails, issueEmbedError } = pageDetails; const issueDetails = getIssueEmbedDetails(issueId); const stateDetails = issueDetails?.state_id ? getStateById(issueDetails?.state_id) : undefined; if (!areIssueEmbedsLoaded && !issueEmbedError) return (
); if (issueEmbedError) return (

We encountered an error while fetching the embedded issue details.

); if (!issueDetails) return (

This Issue embed could not be found. It might have been deleted.

); return (
{project_details?.identifier}-{issueDetails?.sequence_id}

{issueDetails?.name}

{/* priority */} {issueDetails?.priority && (
)} {/* state */} {stateDetails && (
)} {/* due date */} {issueDetails?.target_date && (
)}
); });