diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 95a061f..f1b5e04 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -1,9 +1,9 @@ -import { Box, Typography } from '@mui/material' - import AddProductsMenu from 'src/components/organisms/add-products-menu' import CatalogProducts from 'src/components/organisms/catalog-products' import EditProductModal from 'src/components/organisms/edit-product-modal' +import { Box, Typography } from '@mui/material' + const App = () => { return ( diff --git a/ui/src/components/organisms/add-products-menu/index.tsx b/ui/src/components/organisms/add-products-menu/index.tsx index efc8f6e..8311885 100644 --- a/ui/src/components/organisms/add-products-menu/index.tsx +++ b/ui/src/components/organisms/add-products-menu/index.tsx @@ -1,11 +1,11 @@ -import { Add } from '@mui/icons-material/' -import React from 'react' - import CustomMenu from 'src/components/molecules/menu' import { AddMenuOptions } from 'src/constants/menu' import { Operations } from 'src/constants/operations' import { useProducts } from 'src/hooks/products' +import { Add } from '@mui/icons-material/' +import React from 'react' + const AddProductsMenu: React.FC = () => { const { addProduct } = useProducts() diff --git a/ui/src/components/organisms/catalog-products/index.tsx b/ui/src/components/organisms/catalog-products/index.tsx index 372cc59..1ffaa3b 100644 --- a/ui/src/components/organisms/catalog-products/index.tsx +++ b/ui/src/components/organisms/catalog-products/index.tsx @@ -1,13 +1,12 @@ -import { Delete, Edit } from '@mui/icons-material/' -import { Box, Button, ButtonGroup, Typography } from '@mui/material' -import { Fragment } from 'react' - -import defaultProductImage from 'src/assets/images/default_product_image.png' import CustomCard from 'src/components/molecules/card' import { useProducts } from 'src/hooks/products' import { IProduct } from 'src/models/product' import { getFormattedPrice } from 'src/utils' +import { Delete, Edit } from '@mui/icons-material/' +import { Box, Button, ButtonGroup, Typography } from '@mui/material' +import { Fragment } from 'react' + const CatalogProducts = () => { const { products, removeProduct, editProduct } = useProducts() @@ -51,7 +50,7 @@ const CatalogProducts = () => { diff --git a/ui/src/components/organisms/edit-product-modal/index.tsx b/ui/src/components/organisms/edit-product-modal/index.tsx index 2ff8ccb..bc35327 100644 --- a/ui/src/components/organisms/edit-product-modal/index.tsx +++ b/ui/src/components/organisms/edit-product-modal/index.tsx @@ -2,7 +2,7 @@ import CustomModal from 'src/components/molecules/modal' import { useProducts } from 'src/hooks/products' import { IProduct } from 'src/models/product' -import { Box, Button, TextField, Typography } from '@mui/material' +import { Box, Button, Card, CardMedia, TextField, Typography } from '@mui/material' import Grid from '@mui/material/Unstable_Grid2' import { Form, Formik } from 'formik' import { Fragment } from 'react' @@ -30,7 +30,22 @@ const EditProductModal = () => { - + + + + {values.image && ( + + )} + + + { const productContext = useContext(ProductContext) diff --git a/ui/src/main.tsx b/ui/src/main.tsx index 9b2f6c0..24319cd 100644 --- a/ui/src/main.tsx +++ b/ui/src/main.tsx @@ -1,10 +1,10 @@ -import { Fragment } from 'react' -import ReactDOM from 'react-dom/client' - import App from 'src/App.tsx' import 'src/index.css' import { ProductContextProvider } from 'src/providers/product-provider/index.tsx' +import { Fragment } from 'react' +import ReactDOM from 'react-dom/client' + ReactDOM.createRoot(document.getElementById('root')!).render( diff --git a/ui/src/models/product/index.ts b/ui/src/models/product/index.ts index 45fbaa4..ae73bdb 100644 --- a/ui/src/models/product/index.ts +++ b/ui/src/models/product/index.ts @@ -3,7 +3,7 @@ export interface IProduct { name: string price: number description?: string - image?: string + image: string color?: string brand?: string model?: string diff --git a/ui/src/providers/product-provider/index.tsx b/ui/src/providers/product-provider/index.tsx index e7403f8..51a99ac 100644 --- a/ui/src/providers/product-provider/index.tsx +++ b/ui/src/providers/product-provider/index.tsx @@ -1,9 +1,10 @@ -import { IProductContext, IProductContextProvider } from './interface' -import { createContext, FC, useRef, useState } from 'react' - +import defaultProductImage from 'src/assets/images/default_product_image.png' import { IProduct } from 'src/models/product' import { generateID } from 'src/utils' +import { IProductContext, IProductContextProvider } from './interface' +import { createContext, FC, useRef, useState } from 'react' + export const ProductContext = createContext({} as IProductContext) export const ProductContextProvider: FC = ({ children }) => { @@ -17,7 +18,8 @@ export const ProductContextProvider: FC = ({ children } product = { id: generateID(), name: `Product ${productCount.current}`, - price: 0 + price: 0, + image: defaultProductImage } } productCount.current += 1 diff --git a/ui/src/providers/product-provider/interface.ts b/ui/src/providers/product-provider/interface.ts index 2394d51..273d163 100644 --- a/ui/src/providers/product-provider/interface.ts +++ b/ui/src/providers/product-provider/interface.ts @@ -1,7 +1,7 @@ -import { ReactNode } from 'react' - import { IProduct } from 'src/models/product' +import { ReactNode } from 'react' + export interface IProductContext { products: IProduct[] productToEdit: IProduct | null