From e488771cc76c1416c42edbfdb05ccd174706e7e9 Mon Sep 17 00:00:00 2001 From: Dejan Ribarovski Date: Thu, 23 Oct 2025 12:53:04 +0200 Subject: [PATCH] Update 7project/frontend/src/pages/MockBankModal.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- 7project/frontend/src/pages/MockBankModal.tsx | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/7project/frontend/src/pages/MockBankModal.tsx b/7project/frontend/src/pages/MockBankModal.tsx index 5a15569..63d32e2 100644 --- a/7project/frontend/src/pages/MockBankModal.tsx +++ b/7project/frontend/src/pages/MockBankModal.tsx @@ -32,19 +32,39 @@ export default function MockBankModal({ isOpen, isGenerating, categories, onClos if (!isOpen) return null; function handleGenerateClick() { + const parsedCount = parseInt(count, 10); + const parsedMinAmount = parseFloat(minAmount); + const parsedMaxAmount = parseFloat(maxAmount); + const parsedStartDate = new Date(startDate); + const parsedEndDate = new Date(endDate); + + // Validation + if ( + isNaN(parsedCount) || parsedCount <= 0 || + isNaN(parsedMinAmount) || isNaN(parsedMaxAmount) || + parsedMaxAmount < parsedMinAmount || + isNaN(parsedStartDate.getTime()) || isNaN(parsedEndDate.getTime()) || + parsedEndDate < parsedStartDate + ) { + alert( + "Please ensure:\n" + + "- Count is a positive number\n" + + "- Min and Max Amount are valid numbers, and Max >= Min\n" + + "- Start and End Date are valid, and End Date >= Start Date" + ); + return; + } + const options: MockGenerationOptions = { - count: parseInt(count, 10), - minAmount: parseFloat(minAmount), - maxAmount: parseFloat(maxAmount), + count: parsedCount, + minAmount: parsedMinAmount, + maxAmount: parsedMaxAmount, startDate, endDate, categoryIds: selectedCategoryIds.map(Number), }; - // Basic validation - if (!isNaN(options.count) && options.count > 0) { - onGenerate(options); - } + onGenerate(options); } return (