import { PermissionAction } from '@supabase/shared-types/out/constants' import { Key } from 'lucide-react' import { useParams } from 'common' import type { showApiKey } from 'components/interfaces/Docs/Docs.types' import { getAPIKeys, useProjectSettingsV2Query } from 'data/config/project-settings-v2-query' import { useCheckPermissions } from 'hooks/misc/useCheckPermissions' import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from 'ui' const DEFAULT_KEY = { name: 'hide', key: 'SUPABASE_KEY' } interface LangSelectorProps { selectedLang: string showApiKey: showApiKey setSelectedLang: (selectedLang: string) => void setShowApiKey: (showApiKey: showApiKey) => void } const LangSelector = ({ selectedLang, showApiKey, setSelectedLang, setShowApiKey, }: LangSelectorProps) => { const { ref: projectRef } = useParams() const canReadServiceKey = useCheckPermissions( PermissionAction.READ, 'service_api_keys.service_role_key' ) const { data: settings } = useProjectSettingsV2Query({ projectRef }) const { anonKey: anonApiKey, serviceKey: serviceApiKey } = getAPIKeys(settings) return (
anon (public)
service_role (secret)