import { ExternalLink, Eye, EyeOff, Loader } from 'lucide-react'
import { useState } from 'react'
import { useParams } from 'common'
import { useVaultSecretDecryptedValueQuery } from 'data/vault/vault-secret-decrypted-value-query'
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
import { Button, Input, Tooltip, TooltipContent, TooltipTrigger } from 'ui'
export const DecryptedReadOnlyInput = ({
value,
secureEntry,
descriptionText,
label,
}: {
value?: string
secureEntry: boolean
descriptionText: string
label: string
}) => {
const { ref } = useParams()
const { data: project } = useSelectedProjectQuery()
const [showHidden, setShowHidden] = useState(false)
const { data: decryptedValue, isLoading: isDecryptedValueLoading } =
useVaultSecretDecryptedValueQuery(
{
projectRef: project?.ref,
connectionString: project?.connectionString,
id: value ?? '',
},
{ enabled: secureEntry && showHidden }
)
const isLoading = isDecryptedValueLoading && showHidden
const renderedValue = secureEntry
? isLoading
? 'Fetching value from Vault...'
: showHidden
? decryptedValue
: value
: value
return (
{label}