/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import { observer } from "mobx-react"; import { Link } from "react-router"; import { usePathname } from "next/navigation"; import { Lock } from "lucide-react"; // plane imports import { Button } from "@plane/propel/button"; // components import { AddComment } from "@/components/issues/peek-overview/comment/add-comment"; import { CommentCard } from "@/components/issues/peek-overview/comment/comment-detail-card"; // hooks import { usePublish } from "@/hooks/store/publish"; import { useIssueDetails } from "@/hooks/store/use-issue-details"; import { useUser } from "@/hooks/store/use-user"; import useIsInIframe from "@/hooks/use-is-in-iframe"; // types import type { IIssue } from "@/types/issue"; type Props = { anchor: string; issueDetails: IIssue; }; export const PeekOverviewIssueActivity = observer(function PeekOverviewIssueActivity(props: Props) { const { anchor } = props; // router const pathname = usePathname(); // store hooks const { details, peekId } = useIssueDetails(); const { data: currentUser } = useUser(); const { canComment } = usePublish(anchor); // derived values const comments = details[peekId || ""]?.comments || []; const isInIframe = useIsInIframe(); return (

Comments

{comments.map((comment) => ( ))}
{!isInIframe && (currentUser ? ( <> {canComment && (
)} ) : (

Sign in to add your comment

))}
); });