import { useMemo, useState } from 'react' import { Eye, EyeOff, MoreVertical, TrashIcon } from 'lucide-react' import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, TooltipTrigger_Shadcn_, Tooltip_Shadcn_, } from 'ui' import { TooltipContent } from '@radix-ui/react-tooltip' import CopyButton from 'components/ui/CopyButton' import Table from 'components/to-be-cleaned/Table' import { APIKeysData } from 'data/api-keys/api-keys-query' const APIKeyRow = ({ apiKey }: { apiKey: APIKeysData[0] }) => { const isSecret = apiKey.type === 'secret' const [shown, setShown] = useState(!isSecret) const hiddenKey = useMemo( () => apiKey.prefix + Array.from({ length: apiKey.api_key.length - apiKey.prefix.length }, () => '•').join(''), [apiKey.api_key, apiKey.prefix] ) const canDeleteAPIKeys = true // todo return (
{shown ? apiKey.api_key : hiddenKey} {isSecret && (
{isSecret && ( {apiKey.secret_jwt_template?.role ?? ''} )} {apiKey.description || '/'} { if (canDeleteAPIKeys) { e.preventDefault() } }} > Delete API key {!canDeleteAPIKeys && ( You need additional permissions to delete API keys )}
) } export default APIKeyRow