Ran prettier
This commit is contained in:
@@ -18,14 +18,16 @@ export default function AddTransactionDialog({open, onOpenChange}: Props) {
|
||||
|
||||
const handleSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
dispatch(addTransaction({
|
||||
id: crypto.randomUUID(),
|
||||
type: form.type,
|
||||
name: form.name,
|
||||
amount: parseFloat(form.amount) || 0,
|
||||
category: form.category,
|
||||
date: form.date,
|
||||
}));
|
||||
dispatch(
|
||||
addTransaction({
|
||||
id: crypto.randomUUID(),
|
||||
type: form.type,
|
||||
name: form.name,
|
||||
amount: parseFloat(form.amount) || 0,
|
||||
category: form.category,
|
||||
date: form.date
|
||||
})
|
||||
);
|
||||
onOpenChange(false);
|
||||
setForm({type: 'expense', name: '', amount: '', category: '', date: new Date().toISOString().split('T')[0]});
|
||||
};
|
||||
@@ -44,7 +46,9 @@ export default function AddTransactionDialog({open, onOpenChange}: Props) {
|
||||
<div className="grid gap-2">
|
||||
<Label>Type</Label>
|
||||
<Select value={form.type} onValueChange={v => setForm({...form, type: v as 'income' | 'expense', category: ''})}>
|
||||
<SelectTrigger className="input-depth"><SelectValue /></SelectTrigger>
|
||||
<SelectTrigger className="input-depth">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="income">Income</SelectItem>
|
||||
<SelectItem value="expense">Expense</SelectItem>
|
||||
@@ -53,12 +57,29 @@ export default function AddTransactionDialog({open, onOpenChange}: Props) {
|
||||
</div>
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="name">Description</Label>
|
||||
<Input id="name" placeholder="e.g., Groceries" value={form.name} onChange={e => setForm({...form, name: e.target.value})} className="input-depth" required />
|
||||
<Input
|
||||
id="name"
|
||||
placeholder="e.g., Groceries"
|
||||
value={form.name}
|
||||
onChange={e => setForm({...form, name: e.target.value})}
|
||||
className="input-depth"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="amount">Amount</Label>
|
||||
<Input id="amount" type="number" step="0.01" min="0" placeholder="0.00" value={form.amount} onChange={e => setForm({...form, amount: e.target.value})} className="input-depth" required />
|
||||
<Input
|
||||
id="amount"
|
||||
type="number"
|
||||
step="0.01"
|
||||
min="0"
|
||||
placeholder="0.00"
|
||||
value={form.amount}
|
||||
onChange={e => setForm({...form, amount: e.target.value})}
|
||||
className="input-depth"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="date">Date</Label>
|
||||
@@ -68,20 +89,29 @@ export default function AddTransactionDialog({open, onOpenChange}: Props) {
|
||||
<div className="grid gap-2">
|
||||
<Label>Category</Label>
|
||||
<Select value={form.category} onValueChange={v => setForm({...form, category: v})} required>
|
||||
<SelectTrigger className="input-depth"><SelectValue placeholder="Select category" /></SelectTrigger>
|
||||
<SelectTrigger className="input-depth">
|
||||
<SelectValue placeholder="Select category" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
{categoryList.map(c => <SelectItem key={c} value={c}>{c}</SelectItem>)}
|
||||
{categoryList.map(c => (
|
||||
<SelectItem key={c} value={c}>
|
||||
{c}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
<DialogFooter>
|
||||
<Button type="button" variant="secondary" onClick={() => onOpenChange(false)}>Cancel</Button>
|
||||
<Button type="submit" disabled={!form.name || !form.amount || !form.category}>Add Transaction</Button>
|
||||
<Button type="button" variant="secondary" onClick={() => onOpenChange(false)}>
|
||||
Cancel
|
||||
</Button>
|
||||
<Button type="submit" disabled={!form.name || !form.amount || !form.category}>
|
||||
Add Transaction
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
</form>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user