import { PermissionAction } from '@supabase/shared-types/out/constants' import { Edit, MoreVertical, Trash } from 'lucide-react' import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, TableCell, TableRow, Tooltip, TooltipContent, TooltipTrigger, } from 'ui' import { TimestampInfo } from 'ui-patterns' import CopyButton from '@/components/ui/CopyButton' import type { OAuthApp } from '@/data/oauth/oauth-apps-query' import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions' export interface OAuthAppRowProps { app: OAuthApp onSelectEdit: () => void onSelectDelete: () => void } export const OAuthAppRow = ({ app, onSelectEdit, onSelectDelete }: OAuthAppRowProps) => { const { can: canUpdateOAuthApps } = useAsyncCheckPermissions( PermissionAction.UPDATE, 'approved_oauth_apps' ) const { can: canDeleteOAuthApps } = useAsyncCheckPermissions( PermissionAction.DELETE, 'approved_oauth_apps' ) return (
{!!app.icon ? '' : `${app.name[0]}`}

{app.name}

{app.client_id}