import { PermissionAction } from '@supabase/shared-types/out/constants' import { ChevronDown, Edit2, Trash } from 'lucide-react' import Link from 'next/link' import { ContentBase } from 'data/content/content-query' import { useCheckPermissions } from 'hooks/misc/useCheckPermissions' import { useProfile } from 'lib/profile' import { Dashboards } from 'types' import { Button, cn, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from 'ui' interface ReportMenuItemProps { item: { id?: string name: string description: string key: string url: string hasDropdownActions: boolean report: ContentBase & { type: 'report' content: Dashboards.Content } } pageKey: string onSelectEdit: () => void onSelectDelete: () => void } export const ReportMenuItem = ({ item, pageKey, onSelectEdit, onSelectDelete, }: ReportMenuItemProps) => { const { profile } = useProfile() const canUpdateCustomReport = useCheckPermissions(PermissionAction.UPDATE, 'user_content', { resource: { type: 'report', visibility: item.report.visibility, owner_id: item.report.owner_id, }, subject: { id: profile?.id }, }) return (
{item.name}
{canUpdateCustomReport && (