SurfSense/surfsense_web/components/chat-comments/comment-item/comment-actions.tsx

46 lines
1.1 KiB
TypeScript
Raw Normal View History

2026-01-15 20:45:16 +02:00
"use client";
import { MoreHorizontal, Pencil, Trash2 } from "lucide-react";
import { Button } from "@/components/ui/button";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
import type { CommentActionsProps } from "./types";
2026-01-16 11:36:17 +02:00
export function CommentActions({ canEdit, canDelete, onEdit, onDelete }: CommentActionsProps) {
2026-01-15 20:45:16 +02:00
if (!canEdit && !canDelete) {
return null;
}
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button
variant="ghost"
size="icon"
className="size-7 opacity-100 md:opacity-0 md:group-hover:opacity-100 transition-opacity"
2026-01-15 20:45:16 +02:00
>
<MoreHorizontal className="size-4 text-muted-foreground" />
2026-01-15 20:45:16 +02:00
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
{canEdit && (
<DropdownMenuItem onClick={onEdit}>
<Pencil className="mr-2 size-4" />
Edit
</DropdownMenuItem>
)}
2026-03-10 18:24:53 +05:30
{canDelete && (
<DropdownMenuItem onClick={onDelete}>
2026-01-15 20:45:16 +02:00
<Trash2 className="mr-2 size-4" />
Delete
</DropdownMenuItem>
)}
</DropdownMenuContent>
</DropdownMenu>
);
}