import { useMemo, useState } from 'react' import { useParams } from 'common' import { useIsProjectActive, useProjectContext, } from 'components/layouts/ProjectLayout/ProjectContext' import { useProjectApiQuery } from 'data/config/project-api-query' import { useCheckPermissions } from 'hooks/misc/useCheckPermissions' import { AlertDescription_Shadcn_, Alert_Shadcn_, Button } from 'ui' import { GenericSkeletonLoader } from 'ui-patterns' import Table from 'components/to-be-cleaned/Table' import { FormHeader } from 'components/ui/Forms/FormHeader' import NoPermission from 'components/ui/NoPermission' import Panel from 'components/ui/Panel' import CreateSecretAPIKeyModal from './CreateSecretAPIKeyModal' import APIKeyRow from './APIKeyRow' import { useAPIKeysQuery, APIKeysData } from 'data/api-keys/api-keys-query' const SecretAPIKeys = () => { const { ref: projectRef } = useParams() const isProjectActive = useIsProjectActive() const { project, isLoading: projectIsLoading } = useProjectContext() const { data: projectAPI } = useProjectApiQuery({ projectRef: projectRef }) const { data: apiKeysData } = useAPIKeysQuery({ ref: projectRef! }) const secretApiKeys = useMemo( () => apiKeysData?.filter(({ type }) => type === 'secret') ?? [], [apiKeysData] ) return (