mirror of
https://github.com/spliit-app/spliit.git
synced 2025-12-06 01:19:29 +01:00
* I18n with next-intl * package-lock * Finnish translations * Development fix * Use locale for positioning currency symbol * Translations: Expenses.ActiveUserModal * Translations: group 404 * Better translation for ExpenseCard * Apply translations in CategorySelect search * Fix for Finnish translation * Translations for ExpenseDocumentsInput * Translations for CreateFromReceipt * Fix for Finnish translation * Translations for schema errors * Fix for Finnish translation * Fixes for Finnish translations * Prettier --------- Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
'use client'
|
|
|
|
import { Trash2 } from 'lucide-react'
|
|
import { useTranslations } from 'next-intl'
|
|
import { AsyncButton } from './async-button'
|
|
import { Button } from './ui/button'
|
|
import {
|
|
Dialog,
|
|
DialogClose,
|
|
DialogContent,
|
|
DialogDescription,
|
|
DialogFooter,
|
|
DialogTitle,
|
|
DialogTrigger,
|
|
} from './ui/dialog'
|
|
|
|
export function DeletePopup({ onDelete }: { onDelete: () => Promise<void> }) {
|
|
const t = useTranslations('ExpenseForm.DeletePopup')
|
|
return (
|
|
<Dialog>
|
|
<DialogTrigger asChild>
|
|
<Button variant="destructive">
|
|
<Trash2 className="w-4 h-4 mr-2" />
|
|
{t('label')}
|
|
</Button>
|
|
</DialogTrigger>
|
|
<DialogContent>
|
|
<DialogTitle>{t('title')}</DialogTitle>
|
|
<DialogDescription>{t('description')}</DialogDescription>
|
|
<DialogFooter className="flex flex-col gap-2">
|
|
<AsyncButton
|
|
type="button"
|
|
variant="destructive"
|
|
loadingContent="Deleting…"
|
|
action={onDelete}
|
|
>
|
|
{t('yes')}
|
|
</AsyncButton>
|
|
<DialogClose asChild>
|
|
<Button variant={'secondary'}>{t('cancel')}</Button>
|
|
</DialogClose>
|
|
</DialogFooter>
|
|
</DialogContent>
|
|
</Dialog>
|
|
)
|
|
}
|