import dayjs from 'dayjs' import { FC, useState } from 'react' import { useRouter } from 'next/router' import { observer } from 'mobx-react-lite' import { IconCheck, IconClipboard } from 'ui' import * as Tooltip from '@radix-ui/react-tooltip' import { useStore } from 'hooks' import { useParams } from 'common/hooks' import Table from 'components/to-be-cleaned/Table' import { EdgeFunctionsResponse } from 'data/edge-functions/edge-functions-query' interface Props { function: EdgeFunctionsResponse } const EdgeFunctionsListItem: FC = ({ function: item }) => { const router = useRouter() const { ui } = useStore() const { ref } = useParams() const [isCopied, setIsCopied] = useState(false) // get the .co or .net TLD from the restUrl const restUrl = ui.selectedProject?.restUrl const restUrlTld = new URL(restUrl as string).hostname.split('.').pop() const functionUrl = `https://${ref}.supabase.${restUrlTld}/functions/v1/${item.slug}` return ( { router.push(`/project/${ref}/functions/${item.slug}/details`) }} >

{item.name}

{functionUrl}

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

{dayjs(item.updated_at).fromNow()}

Last updated on {dayjs(item.updated_at).format('DD MMM, YYYY HH:mm')}

{item.version}

) } export default observer(EdgeFunctionsListItem)