Files
web/components/Profile/DeleteCreditCardButton/index.tsx
Christian Andolf f6b3cf8b92 chore: replace function expression with inline statement
replace destructuring for better static analysis

remove unused variables
2024-11-08 09:25:28 +01:00

42 lines
1.0 KiB
TypeScript

"use client"
import { useIntl } from "react-intl"
import { trpc } from "@/lib/trpc/client"
import { DeleteIcon } from "@/components/Icons"
import Button from "@/components/TempDesignSystem/Button"
import { toast } from "@/components/TempDesignSystem/Toasts"
export default function DeleteCreditCardButton({
creditCardId,
}: {
creditCardId: string
}) {
const intl = useIntl()
const trpcUtils = trpc.useUtils()
const deleteCreditCardMutation = trpc.user.creditCard.delete.useMutation({
onSuccess() {
trpcUtils.user.creditCards.invalidate()
toast.success(
intl.formatMessage({ id: "Credit card deleted successfully" })
)
},
onError() {
toast.error(
intl.formatMessage({
id: "Failed to delete credit card, please try again later.",
})
)
},
})
async function handleDelete() {
deleteCreditCardMutation.mutate({ creditCardId })
}
return (
<Button variant="icon" theme="base" intent="text" onClick={handleDelete}>
<DeleteIcon color="burgundy" />
</Button>
)
}