From efa784443fcba0f7c8be18a3796a7fe5743d68a7 Mon Sep 17 00:00:00 2001 From: Estuardo Date: Mon, 26 May 2025 17:03:59 -0600 Subject: [PATCH] Initial commits, the beggining --- .eslintrc.json => .eslintrc.backup.json | 0 package.json | 4 + src/App.js | 60 +++--- src/assets/images/small-store.jpeg | Bin 0 -> 37045 bytes src/examples/Sidenav/index.js | 5 +- src/interfaces/clients.interface.ts | 8 + src/interfaces/discounts.interface.ts | 10 + src/interfaces/products.interface.ts | 9 + src/interfaces/sales.interface.ts | 10 + src/layouts/create-sale/CreateSale.jsx | 52 +++++ src/layouts/create-sale/index.js | 25 +++ .../components/PlatformSettings/index.js | 115 ---------- src/layouts/profile/data/profilesListData.js | 79 ------- src/layouts/profile/index.js | 203 ------------------ src/layouts/sale-form/SaleForm.jsx | 109 ++++++++++ src/layouts/sale-form/index.js | 7 + src/layouts/sale-form/styles.css | 5 + .../components/Header/index.js | 45 +--- src/layouts/sales/index.js | 48 +++++ src/routes.js | 25 +-- src/services/clients.js | 93 ++++++++ src/services/index.js | 7 + src/services/sales.js | 77 +++++++ src/shared/components/button/Button.jsx | 24 +++ src/shared/components/button/index.js | 7 + .../components/button/styles.module.css | 13 ++ src/shared/styles/GeneralStyles.css | 36 ++++ src/store/clients/actions/actionType.js | 15 ++ src/store/clients/actions/index.js | 18 ++ src/store/clients/commands/index.js | 56 +++++ src/store/clients/reducers/index.js | 29 +++ src/store/clients/selectors/index.js | 11 + src/store/index.js | 8 + src/store/reducers.js | 9 + src/store/sales/actions/actionType.js | 15 ++ src/store/sales/actions/index.js | 18 ++ src/store/sales/commands/index.js | 56 +++++ src/store/sales/reducers/index.js | 29 +++ src/store/sales/selectors/index.js | 11 + src/utils/encode-to-query-string.util.ts | 11 + 40 files changed, 884 insertions(+), 478 deletions(-) rename .eslintrc.json => .eslintrc.backup.json (100%) create mode 100644 src/assets/images/small-store.jpeg create mode 100644 src/interfaces/clients.interface.ts create mode 100644 src/interfaces/discounts.interface.ts create mode 100644 src/interfaces/products.interface.ts create mode 100644 src/interfaces/sales.interface.ts create mode 100644 src/layouts/create-sale/CreateSale.jsx create mode 100644 src/layouts/create-sale/index.js delete mode 100644 src/layouts/profile/components/PlatformSettings/index.js delete mode 100644 src/layouts/profile/data/profilesListData.js delete mode 100644 src/layouts/profile/index.js create mode 100644 src/layouts/sale-form/SaleForm.jsx create mode 100644 src/layouts/sale-form/index.js create mode 100644 src/layouts/sale-form/styles.css rename src/layouts/{profile => sales}/components/Header/index.js (69%) create mode 100644 src/layouts/sales/index.js create mode 100644 src/services/clients.js create mode 100644 src/services/index.js create mode 100644 src/services/sales.js create mode 100644 src/shared/components/button/Button.jsx create mode 100644 src/shared/components/button/index.js create mode 100644 src/shared/components/button/styles.module.css create mode 100644 src/shared/styles/GeneralStyles.css create mode 100644 src/store/clients/actions/actionType.js create mode 100644 src/store/clients/actions/index.js create mode 100644 src/store/clients/commands/index.js create mode 100644 src/store/clients/reducers/index.js create mode 100644 src/store/clients/selectors/index.js create mode 100644 src/store/index.js create mode 100644 src/store/reducers.js create mode 100644 src/store/sales/actions/actionType.js create mode 100644 src/store/sales/actions/index.js create mode 100644 src/store/sales/commands/index.js create mode 100644 src/store/sales/reducers/index.js create mode 100644 src/store/sales/selectors/index.js create mode 100644 src/utils/encode-to-query-string.util.ts diff --git a/.eslintrc.json b/.eslintrc.backup.json similarity index 100% rename from .eslintrc.json rename to .eslintrc.backup.json diff --git a/package.json b/package.json index 7fca2da57..49d87214a 100644 --- a/package.json +++ b/package.json @@ -18,13 +18,16 @@ "@emotion/styled": "11.10.8", "@mui/icons-material": "5.11.16", "@mui/material": "5.12.3", + "@reduxjs/toolkit": "^1.8.5", "chart.js": "4.3.0", "chroma-js": "2.4.2", + "classnames": "^2.3.2", "prop-types": "15.8.1", "react": "18.2.0", "react-chartjs-2": "5.2.0", "react-dom": "18.2.0", "react-github-btn": "1.4.0", + "react-redux": "^8.0.4", "react-router-dom": "6.11.0", "react-scripts": "5.0.1", "react-table": "7.8.0", @@ -59,6 +62,7 @@ }, "devDependencies": { "ajv": "^7.2.4", + "axios": "^1.1.3", "eslint": "8.39.0", "eslint-config-prettier": "8.8.0", "eslint-plugin-import": "2.27.5", diff --git a/src/App.js b/src/App.js index 5ba40edb9..065435559 100644 --- a/src/App.js +++ b/src/App.js @@ -16,6 +16,7 @@ Coded by www.creative-tim.com import { useState, useEffect, useMemo } from "react"; // react-router components +import { Provider } from 'react-redux'; import { Routes, Route, Navigate, useLocation } from "react-router-dom"; // @mui material components @@ -53,6 +54,9 @@ import { useMaterialUIController, setMiniSidenav, setOpenConfigurator } from "co import brandWhite from "assets/images/logo-ct.png"; import brandDark from "assets/images/logo-ct-dark.png"; +// Store +import store from './store' + export default function App() { const [controller, dispatch] = useMaterialUIController(); const { @@ -147,8 +151,35 @@ export default function App() { ); return direction === "rtl" ? ( - - + + + + + {layout === "dashboard" && ( + <> + + + {configsButton} + + )} + {layout === "vr" && } + + {getRoutes(routes)} + } /> + + + + + ) : ( + + {layout === "dashboard" && ( <> @@ -170,29 +201,6 @@ export default function App() { } /> - - ) : ( - - - {layout === "dashboard" && ( - <> - - - {configsButton} - - )} - {layout === "vr" && } - - {getRoutes(routes)} - } /> - - + ); } diff --git a/src/assets/images/small-store.jpeg b/src/assets/images/small-store.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ee265e7e2f3dac7ff91418e73c1148b82cb3ddb2 GIT binary patch literal 37045 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 literal 0 HcmV?d00001 diff --git a/src/examples/Sidenav/index.js b/src/examples/Sidenav/index.js index 5efd2d2c7..acf2d3b86 100644 --- a/src/examples/Sidenav/index.js +++ b/src/examples/Sidenav/index.js @@ -179,7 +179,8 @@ function Sidenav({ color, brand, brandName, routes, ...rest }) { } /> {renderRoutes} - + {/* // ! CHECK THIS OUT */} + {/* upgrade to pro - + */} ); } diff --git a/src/interfaces/clients.interface.ts b/src/interfaces/clients.interface.ts new file mode 100644 index 000000000..230b6f934 --- /dev/null +++ b/src/interfaces/clients.interface.ts @@ -0,0 +1,8 @@ +export interface Client { + id: string; + full_name: string; + tax_id: string; + phone: string; + email: string; + _deleted: boolean; +} diff --git a/src/interfaces/discounts.interface.ts b/src/interfaces/discounts.interface.ts new file mode 100644 index 000000000..e03defe94 --- /dev/null +++ b/src/interfaces/discounts.interface.ts @@ -0,0 +1,10 @@ +export interface Discount { + id: string; + products: string[]; + type: 'total' | 'percentage'; + amount: number; + start_date: Date; + end_date: Date; + enabled: boolean; + _deleted: boolean; +} diff --git a/src/interfaces/products.interface.ts b/src/interfaces/products.interface.ts new file mode 100644 index 000000000..78039b38b --- /dev/null +++ b/src/interfaces/products.interface.ts @@ -0,0 +1,9 @@ +export interface Product { + id: string; + internal_code: string; + name: string; + description: string; + price: number; + measurement: string; + _deleted: boolean; +} diff --git a/src/interfaces/sales.interface.ts b/src/interfaces/sales.interface.ts new file mode 100644 index 000000000..0b32ca45d --- /dev/null +++ b/src/interfaces/sales.interface.ts @@ -0,0 +1,10 @@ +export interface Sale { + id: string; + products: { + product_id: string, + quantity: number + }[]; + client_id: string; + amount: number; + _deleted: boolean; +} diff --git a/src/layouts/create-sale/CreateSale.jsx b/src/layouts/create-sale/CreateSale.jsx new file mode 100644 index 000000000..3bac2ef46 --- /dev/null +++ b/src/layouts/create-sale/CreateSale.jsx @@ -0,0 +1,52 @@ +import { useNavigate } from "react-router-dom"; + +import SaleForm from "../sale-form"; +import GeneralButton from "../../shared/components/button"; + +import "../../shared/styles/GeneralStyles.css"; + +function CreateSale({ addSale, updateField, saleSelected, fetchClients, clientsList }) { + + const navigate = useNavigate(); + const navigateData = { + url: '/sales/list', + } + + const addSaleData = { + saleSelected: saleSelected, + } + + return ( + <> +
+ + +
+ + +
+
+ + +
+
+ + ) +} + +export default CreateSale; \ No newline at end of file diff --git a/src/layouts/create-sale/index.js b/src/layouts/create-sale/index.js new file mode 100644 index 000000000..dc72225bb --- /dev/null +++ b/src/layouts/create-sale/index.js @@ -0,0 +1,25 @@ +import { useSelector, useDispatch } from 'react-redux'; + +import CreateSale from "./CreateSale"; +import fromSales from '../../store/sales/selectors'; +import fromClients from '../../store/clients/selectors'; +import salesCommands from '../../store/sales/commands'; +import clientsCommands from '../../store/clients/commands'; + +const ConnectedCreateSale = () => { + const dispatch = useDispatch(); + + const selectorProps = { + saleSelected: useSelector(fromSales.currentSaleSelected), + clientsList: useSelector(fromClients.currentClients), + } + + const dispatchProps = { + addSale: sale => dispatch(salesCommands.addSale(sale)), + updateField: (value, field) => dispatch(salesCommands.updateField(value, field)), + fetchClients: filter => dispatch(clientsCommands.getClients(filter)), + } + return () +} + +export default ConnectedCreateSale; \ No newline at end of file diff --git a/src/layouts/profile/components/PlatformSettings/index.js b/src/layouts/profile/components/PlatformSettings/index.js deleted file mode 100644 index 398c0d4b6..000000000 --- a/src/layouts/profile/components/PlatformSettings/index.js +++ /dev/null @@ -1,115 +0,0 @@ -/** -========================================================= -* Material Dashboard 2 React - v2.2.0 -========================================================= - -* Product Page: https://www.creative-tim.com/product/material-dashboard-react -* Copyright 2023 Creative Tim (https://www.creative-tim.com) - -Coded by www.creative-tim.com - - ========================================================= - -* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -*/ - -import { useState } from "react"; - -// @mui material components -import Card from "@mui/material/Card"; -import Switch from "@mui/material/Switch"; - -// Material Dashboard 2 React components -import MDBox from "components/MDBox"; -import MDTypography from "components/MDTypography"; - -function PlatformSettings() { - const [followsMe, setFollowsMe] = useState(true); - const [answersPost, setAnswersPost] = useState(false); - const [mentionsMe, setMentionsMe] = useState(true); - const [newLaunches, setNewLaunches] = useState(false); - const [productUpdate, setProductUpdate] = useState(true); - const [newsletter, setNewsletter] = useState(false); - - return ( - - - - platform settings - - - - - account - - - - setFollowsMe(!followsMe)} /> - - - - Email me when someone follows me - - - - - - setAnswersPost(!answersPost)} /> - - - - Email me when someone answers on my post - - - - - - setMentionsMe(!mentionsMe)} /> - - - - Email me when someone mentions me - - - - - - application - - - - - setNewLaunches(!newLaunches)} /> - - - - New launches and projects - - - - - - setProductUpdate(!productUpdate)} /> - - - - Monthly product updates - - - - - - setNewsletter(!newsletter)} /> - - - - Subscribe to newsletter - - - - - - ); -} - -export default PlatformSettings; diff --git a/src/layouts/profile/data/profilesListData.js b/src/layouts/profile/data/profilesListData.js deleted file mode 100644 index 61a4aecdf..000000000 --- a/src/layouts/profile/data/profilesListData.js +++ /dev/null @@ -1,79 +0,0 @@ -/** -========================================================= -* Material Dashboard 2 React - v2.2.0 -========================================================= - -* Product Page: https://www.creative-tim.com/product/material-dashboard-react -* Copyright 2023 Creative Tim (https://www.creative-tim.com) - -Coded by www.creative-tim.com - - ========================================================= - -* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -*/ - -// Images -import kal from "assets/images/kal-visuals-square.jpg"; -import marie from "assets/images/marie.jpg"; -import ivana from "assets/images/ivana-square.jpg"; -import team3 from "assets/images/team-3.jpg"; -import team4 from "assets/images/team-4.jpg"; - -export default [ - { - image: kal, - name: "Sophie B.", - description: "Hi! I need more information..", - action: { - type: "internal", - route: "/pages/profile/profile-overview", - color: "info", - label: "reply", - }, - }, - { - image: marie, - name: "Anne Marie", - description: "Awesome work, can you..", - action: { - type: "internal", - route: "/pages/profile/profile-overview", - color: "info", - label: "reply", - }, - }, - { - image: ivana, - name: "Ivanna", - description: "About files I can..", - action: { - type: "internal", - route: "/pages/profile/profile-overview", - color: "info", - label: "reply", - }, - }, - { - image: team4, - name: "Peterson", - description: "Have a great afternoon..", - action: { - type: "internal", - route: "/pages/profile/profile-overview", - color: "info", - label: "reply", - }, - }, - { - image: team3, - name: "Nick Daniel", - description: "Hi! I need more information..", - action: { - type: "internal", - route: "/pages/profile/profile-overview", - color: "info", - label: "reply", - }, - }, -]; diff --git a/src/layouts/profile/index.js b/src/layouts/profile/index.js deleted file mode 100644 index f51f6108f..000000000 --- a/src/layouts/profile/index.js +++ /dev/null @@ -1,203 +0,0 @@ -/** -========================================================= -* Material Dashboard 2 React - v2.2.0 -========================================================= - -* Product Page: https://www.creative-tim.com/product/material-dashboard-react -* Copyright 2023 Creative Tim (https://www.creative-tim.com) - -Coded by www.creative-tim.com - - ========================================================= - -* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -*/ - -// @mui material components -import Grid from "@mui/material/Grid"; -import Divider from "@mui/material/Divider"; - -// @mui icons -import FacebookIcon from "@mui/icons-material/Facebook"; -import TwitterIcon from "@mui/icons-material/Twitter"; -import InstagramIcon from "@mui/icons-material/Instagram"; - -// Material Dashboard 2 React components -import MDBox from "components/MDBox"; -import MDTypography from "components/MDTypography"; - -// Material Dashboard 2 React example components -import DashboardLayout from "examples/LayoutContainers/DashboardLayout"; -import DashboardNavbar from "examples/Navbars/DashboardNavbar"; -import Footer from "examples/Footer"; -import ProfileInfoCard from "examples/Cards/InfoCards/ProfileInfoCard"; -import ProfilesList from "examples/Lists/ProfilesList"; -import DefaultProjectCard from "examples/Cards/ProjectCards/DefaultProjectCard"; - -// Overview page components -import Header from "layouts/profile/components/Header"; -import PlatformSettings from "layouts/profile/components/PlatformSettings"; - -// Data -import profilesListData from "layouts/profile/data/profilesListData"; - -// Images -import homeDecor1 from "assets/images/home-decor-1.jpg"; -import homeDecor2 from "assets/images/home-decor-2.jpg"; -import homeDecor3 from "assets/images/home-decor-3.jpg"; -import homeDecor4 from "assets/images/home-decor-4.jpeg"; -import team1 from "assets/images/team-1.jpg"; -import team2 from "assets/images/team-2.jpg"; -import team3 from "assets/images/team-3.jpg"; -import team4 from "assets/images/team-4.jpg"; - -function Overview() { - return ( - - - -
- - - - - - - - , - color: "facebook", - }, - { - link: "https://twitter.com/creativetim", - icon: , - color: "twitter", - }, - { - link: "https://www.instagram.com/creativetimofficial/", - icon: , - color: "instagram", - }, - ]} - action={{ route: "", tooltip: "Edit Profile" }} - shadow={false} - /> - - - - - - - - - - Projects - - - - Architects design houses - - - - - - - - - - - - - - - - - - - -
-