import { PermissionAction } from '@supabase/shared-types/out/constants'
import type { showApiKey } from 'components/interfaces/Docs/Docs.types'
import { useCheckPermissions } from 'hooks/misc/useCheckPermissions'
import { Key } from 'lucide-react'
import {
Button,
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from 'ui'
const DEFAULT_KEY = { name: 'hide', key: 'SUPABASE_KEY' }
interface LangSelectorProps {
selectedLang: string
setSelectedLang: (selectedLang: string) => void
showApiKey: showApiKey
setShowApiKey: (showApiKey: showApiKey) => void
apiKey: string | undefined
autoApiService: any
}
const LangSelector = ({
selectedLang,
setSelectedLang,
showApiKey,
setShowApiKey,
apiKey,
autoApiService,
}: LangSelectorProps) => {
const canReadServiceKey = useCheckPermissions(
PermissionAction.READ,
'service_api_keys.service_role_key'
)
return (
{selectedLang == 'bash' && (
Project API key :
<>
setShowApiKey(DEFAULT_KEY)}>
hide
{apiKey && (
setShowApiKey({
key: apiKey,
name: 'anon (public)',
})
}
>
anon (public)
)}
{canReadServiceKey && (
setShowApiKey({
key: autoApiService.serviceApiKey,
name: 'service_role (secret)',
})
}
>
service_role (secret)
)}
>
)}
)
}
export default LangSelector