import { Lock } from 'lucide-react' import { toast } from 'sonner' import { useParams } from 'common' import { useOAuthAppDeleteMutation } from 'data/oauth/oauth-app-delete-mutation' import type { OAuthApp } from 'data/oauth/oauth-apps-query' import { Alert, Modal } from 'ui' export interface DeleteAppModalProps { selectedApp?: OAuthApp onClose: () => void } const DeleteAppModal = ({ selectedApp, onClose }: DeleteAppModalProps) => { const { slug } = useParams() const { mutate: deleteOAuthApp, isLoading: isDeleting } = useOAuthAppDeleteMutation({ onSuccess: () => { toast.success(`Successfully deleted the app "${selectedApp?.name}"`) onClose() }, }) const onConfirmDelete = async () => { if (!slug) return console.error('Slug is required') if (!selectedApp?.id) return console.error('App ID is required') deleteOAuthApp({ slug, id: selectedApp?.id }) } return ( Deleting {selectedApp?.name} will invalidate any access tokens from this application that were authorized by users. ) } export default DeleteAppModal