"use client"; import { Plus } from "lucide-react"; import { createContext, use, useState } from "react"; import { Button } from "@/components/ui/button"; import { TransactionFormDialog, type TransactionFormMode, } from "@/features/transactions/components/transaction-form"; import { tr } from "@/i18n/tr"; type QuickAddApi = { /** Hızlı ekle: yeni işlem formu (varsayılan gider; sekmelerle gelir/transfer). */ openQuickAdd: (type?: "expense" | "income" | "transfer") => void; /** Düzenle / kopyala (işlem listesi ve ayrıntısı). */ openTransactionForm: (mode: TransactionFormMode) => void; }; const QuickAddContext = createContext(null); export function useQuickAdd() { const ctx = use(QuickAddContext); if (!ctx) throw new Error("useQuickAdd, QuickAddProvider içinde kullanılmalı"); return ctx; } /** Uygulama genelinde tek işlem formu; her ekrandan açılabilir (Bölüm 4). */ export function QuickAddProvider({ children }: { children: React.ReactNode }) { const [mode, setMode] = useState(null); const api: QuickAddApi = { openQuickAdd: (type = "expense") => setMode({ kind: "create", type }), openTransactionForm: setMode, }; return ( {children} !open && setMode(null)} /> ); } /** Masaüstü üst bar düğmesi. */ export function QuickAddButton({ className }: { className?: string }) { const { openQuickAdd } = useQuickAdd(); return ( ); }