import { IS_PLATFORM } from 'common' import { useParams } from 'common/hooks' import dayjs from 'dayjs' import { Check, Copy } from 'lucide-react' import { useRouter } from 'next/router' import { useState } from 'react' import { copyToClipboard, TableCell, TableRow } from 'ui' import { TimestampInfo } from 'ui-patterns' import { useProjectApiUrl } from '@/data/config/project-endpoint-query' import type { EdgeFunctionsResponse } from '@/data/edge-functions/edge-functions-query' import { createNavigationHandler } from '@/lib/navigation' interface EdgeFunctionsListItemProps { function: EdgeFunctionsResponse } export const EdgeFunctionsListItem = ({ function: item }: EdgeFunctionsListItemProps) => { const router = useRouter() const { ref } = useParams() const [isCopied, setIsCopied] = useState(false) const { data: endpoint } = useProjectApiUrl({ projectRef: ref }) const functionUrl = `${endpoint}/functions/v1/${item.slug}` const handleNavigation = createNavigationHandler( `/project/${ref}/functions/${item.slug}${IS_PLATFORM ? '' : `/details`}`, router ) return (

{item.name}

{functionUrl}

{dayjs(item.created_at).format('DD MMM, YYYY HH:mm')}

{item.version}

) }