import { useState } from "react"; import { Plus } from "lucide-react"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/Card"; import { Button } from "@/components/ui/Button"; import { RecurringList } from "@/components/recurring/RecurringList"; import { RecurringFormModal } from "@/components/recurring/RecurringFormModal"; import { useDeleteRecurring, usePostRecurring, useRecurring } from "@/hooks/useRecurring"; import { useTranslation } from "@/lib/i18n"; import type { RecurringTransaction } from "@/types"; export function RecurringPage() { const { t } = useTranslation(); const { data: items, isLoading } = useRecurring(); const deleteRecurring = useDeleteRecurring(); const postRecurring = usePostRecurring(); const [modalOpen, setModalOpen] = useState(false); const [editingItem, setEditingItem] = useState(null); function openCreateModal() { setEditingItem(null); setModalOpen(true); } function openEditModal(item: RecurringTransaction) { setEditingItem(item); setModalOpen(true); } function handleDelete(item: RecurringTransaction) { if (window.confirm(t("recurring.confirmDelete", { name: item.description }))) { deleteRecurring.mutate(item.id); } } function handlePost(item: RecurringTransaction) { postRecurring.mutate(item.id); } return (
{t("nav.recurring")} {isLoading ? (

{t("common.loading")}

) : ( )}
setModalOpen(false)} recurring={editingItem} />
); }