From 5706a85631d30b93684578edc281fabe486de720 Mon Sep 17 00:00:00 2001 From: TolaMironcenko Date: Wed, 8 Oct 2025 13:36:22 +0700 Subject: [PATCH] added SelectCategoryModal --- .../AddOperationModal/AddOperationModal.jsx | 36 ++-- .../components/CategorySign/CategorySign.jsx | 4 +- .../SelectCategoryModal.jsx | 173 ++++++++++++++++++ 3 files changed, 187 insertions(+), 26 deletions(-) create mode 100644 frontend/src/modals/SelectCategoryModal/SelectCategoryModal.jsx diff --git a/frontend/src/modals/AddOperationModal/AddOperationModal.jsx b/frontend/src/modals/AddOperationModal/AddOperationModal.jsx index fb6bdf7..88a262c 100644 --- a/frontend/src/modals/AddOperationModal/AddOperationModal.jsx +++ b/frontend/src/modals/AddOperationModal/AddOperationModal.jsx @@ -9,6 +9,7 @@ import { Row, Col, } from "react-bootstrap"; +import SelectCategoryModal from "../../modals/SelectCategoryModal/SelectCategoryModal"; // import styles from "./HistoryModal.module.css"; const AddOperationModal = ({ variant }) => { @@ -20,6 +21,12 @@ const AddOperationModal = ({ variant }) => { const [isExpense, setIsExpense] = useState(true); const [isNoteVisible, setIsNoteVisible] = useState(false); const [amount, setAmount] = useState(); + const [selectedCategory, setSelectedCategory] = useState({ + id: null, + title: "Category", + icon: "?", + description: "Tap to select", + }); return ( <> {variant ? ( @@ -104,30 +111,11 @@ const AddOperationModal = ({ variant }) => { > Appointment - + diff --git a/frontend/src/modals/CategoriesModal/components/CategorySign/CategorySign.jsx b/frontend/src/modals/CategoriesModal/components/CategorySign/CategorySign.jsx index ccebed1..0719346 100644 --- a/frontend/src/modals/CategoriesModal/components/CategorySign/CategorySign.jsx +++ b/frontend/src/modals/CategoriesModal/components/CategorySign/CategorySign.jsx @@ -3,10 +3,10 @@ import { Button } from "react-bootstrap"; import styles from "./CategorySign.module.css"; import classNames from "classnames"; -const CategorySign = ({ icon, title, subcategories }) => { +const CategorySign = ({ icon, title, subcategories, ...props }) => { const { theme } = useTheme(); return ( - + + +
+
+ + Appointment +
+ + + + + Reorder + +
+ + +
☌
+
+ +
+
+
+ + {categoriestype === "income" + ? filteredIncomeCategories.map((category) => ( + handleCategorySelect(category)} + /> + )) + : filteredExpenseCategories.map((category) => ( + handleCategorySelect(category)} + /> + ))} + +
+ + ); +}; + +export default SelectCategoryModal;