chore: design the ui based on figmas
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								public/Catalog.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/Catalog.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 507 B | 
							
								
								
									
										
											BIN
										
									
								
								public/Dashboard.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/Dashboard.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 270 B | 
							
								
								
									
										
											BIN
										
									
								
								public/logo.png
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/logo.png
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 3.3 KiB | 
| @@ -1,7 +1,7 @@ | ||||
| import { useState } from 'react'; | ||||
| import fendiLogo from '/favicon.png' | ||||
| import { AppBar, Toolbar, Typography, InputBase, IconButton, Box, Avatar } from '@mui/material'; | ||||
| import SearchIcon from '@mui/icons-material/Search'; | ||||
| import { AppBar, Toolbar, Typography, IconButton, Box, Avatar } from '@mui/material'; | ||||
|  | ||||
| import MenuDrawer from './MenuDrawer'; | ||||
| import MenuIcon from '@mui/icons-material/Menu'; | ||||
| import { useAuth } from '../context/AuthContext'; | ||||
| @@ -39,24 +39,6 @@ export default function AppHeader({ zone = 'public', onSelectMenuItem }) { | ||||
|           </IconButton> | ||||
|         </Box> | ||||
|  | ||||
|         {/* Search only visible for restricted or private zones */} | ||||
|         {(isRestricted || isPrivate || isPublic) && ( | ||||
|           <Box sx={{ position: 'relative', display: { xs: 'none', md: 'flex' } }}> | ||||
|             <SearchIcon sx={{ position: 'absolute', left: 10, top: '50%', transform: 'translateY(-50%)', color: '#A68A72FF' }} /> | ||||
|             <InputBase | ||||
|               placeholder="Search…" | ||||
|               sx={{ | ||||
|                 pl: 4, | ||||
|                 pr: 2, | ||||
|                 py: 0.5, | ||||
|                 borderRadius: 1, | ||||
|                 color: '#A68A72FF', | ||||
|                 width: { md: '300px', lg: '400px' } | ||||
|               }} | ||||
|             /> | ||||
|           </Box> | ||||
|         )} | ||||
|  | ||||
|         {/* Login button only visible for public zone */} | ||||
|         {isPublic && !user && ( | ||||
|           <Box> | ||||
|   | ||||
| @@ -1,30 +1,25 @@ | ||||
| import { Drawer, List, ListItem, ListItemText, ListItemIcon, Avatar, Typography, Box, useMediaQuery } from '@mui/material'; | ||||
| import CategoryIcon from '@mui/icons-material/Category'; | ||||
| import PeopleIcon from '@mui/icons-material/People'; | ||||
| import InventoryIcon from '@mui/icons-material/Inventory'; | ||||
| import LocalShippingIcon from '@mui/icons-material/LocalShipping'; | ||||
| import ExitToAppIcon from '@mui/icons-material/ExitToApp'; | ||||
| import AdminPanelSettingsIcon from '@mui/icons-material/AdminPanelSettings'; | ||||
| import { Drawer, List, ListItem, ListItemText, ListItemIcon, Typography, Box, useMediaQuery, InputBase } from '@mui/material'; | ||||
| import { useAuth } from '../context/AuthContext'; | ||||
|  | ||||
| import { useState } from 'react'; | ||||
| import ExitToAppIcon from '@mui/icons-material/ExitToApp'; | ||||
|  | ||||
|  | ||||
| const menuOptions = { | ||||
|   public: [ | ||||
|     { text: 'Admin', icon: <AdminPanelSettingsIcon /> }, | ||||
|     { text: 'Categories', icon: <CategoryIcon /> }, | ||||
|     { text: 'Clients', icon: <PeopleIcon /> }, | ||||
|     { text: 'Products', icon: <InventoryIcon /> }, | ||||
|     { text: 'Providers', icon: <LocalShippingIcon /> }, | ||||
|     { text: 'Dashboard', icon: <img src="/Dashboard.png" alt="Dashboard" width={24} height={24} />}, | ||||
|     { text: 'Logout', icon: <ExitToAppIcon /> }, | ||||
|   ], | ||||
|   restricted: [], | ||||
|   private: [ | ||||
|     { text: 'Admin', icon: <AdminPanelSettingsIcon /> }, | ||||
|     { text: 'Categories', icon: <CategoryIcon /> }, | ||||
|     { text: 'Clients', icon: <PeopleIcon /> }, | ||||
|     { text: 'Products', icon: <InventoryIcon /> }, | ||||
|     { text: 'Providers', icon: <LocalShippingIcon /> }, | ||||
|     { text: 'Dashboard', icon: <img src="/Dashboard.png" alt="Dashboard" width={24} height={24} /> }, | ||||
|     { text: 'Catalog', icon: <img src="/Catalog.png" alt="Catalog" width={24} height={24} /> }, | ||||
|     { text: 'Define your style', icon: <img src="/DefineYourStyle.png" alt="Define your style" width={24} height={24} /> }, | ||||
|     { text: 'Ambient Design', icon: <img src="/AmbientDesign.png" alt="Ambient Design" width={24} height={24} /> }, | ||||
|     { text: 'Flat Layouts and assets', icon: <img src="/FlatLayouts.png" alt="Flat Layouts and assets" width={24} height={24} /> }, | ||||
|     { text: 'Export and sharing', icon: <img src="/ExportAndSharing.png" alt="Export and sharing" width={24} height={24} /> }, | ||||
|     { text: 'Shopping cart', icon: <img src="/ShoppingCart.png" alt="Shopping cart" width={24} height={24} /> }, | ||||
|     { text: 'Settings', icon: <img src="/Settings.png" alt="Settings" width={24} height={24} /> }, | ||||
|     { text: 'Help', icon: <img src="/Help.png" alt="Help" width={24} height={24} /> }, | ||||
|     { text: 'Logout', icon: <ExitToAppIcon /> }, | ||||
|   ], | ||||
| }; | ||||
| @@ -39,22 +34,35 @@ export default function MenuDrawer({ zone = 'public', open, onClose, onSelect }) | ||||
|     <Drawer anchor="left" open={open} onClose={onClose} slotProps={{ | ||||
|       paper: { | ||||
|         sx: { | ||||
|           backgroundColor: '#40120EFF', | ||||
|           width: isMobile ? '100vw' : 250, | ||||
|           color: '#DFCCBCFF' | ||||
|           backgroundColor: '#FFFFFFFF', | ||||
|           width: isMobile ? '100vw' : 300, | ||||
|           color: '#40120EFF' | ||||
|         }, | ||||
|       }, | ||||
|     }}> | ||||
|       <Box textAlign="center" p={3}> | ||||
|         <Avatar | ||||
|           src="/favicon.png" | ||||
|           alt="User" | ||||
|           sx={{ width: 64, height: 64, mx: 'auto', mb: 1 }} | ||||
|         <img | ||||
|           src="/logo.png" | ||||
|           alt="Dream Views" | ||||
|           style={{ margin: 'auto', marginBottom: 8 }} | ||||
|         /> | ||||
|         <Typography variant="subtitle1" fontWeight={600}>Fendi Casa</Typography> | ||||
|         <Typography variant="body2">Administrator</Typography> | ||||
|  | ||||
|         <Box sx={{ position: 'relative', display: { xs: 'none', md: 'flex' } }}> | ||||
|           <InputBase | ||||
|             placeholder="Filter options..." | ||||
|             sx={{ | ||||
|               pl: 4, | ||||
|               pr: 2, | ||||
|               py: 0.5, | ||||
|               borderRadius: 2, | ||||
|               border: '1px solid #40120EFF', // Borde visible | ||||
|               color: '#40120EFF', | ||||
|               width: { md: '300px', lg: '400px' } | ||||
|             }} | ||||
|           /> | ||||
|         </Box> | ||||
|       </Box> | ||||
|       <List sx={{ width: isMobile ? '100vw' : 250, marginTop: 2 }}> | ||||
|       <List sx={{ width: isMobile ? '100vw' : 250, marginTop: 0 }}> | ||||
|         {items.map(({ text, icon }, index) => ( | ||||
|           <ListItem key={index} onClick={() => { | ||||
|             onClose(); // Close drawer | ||||
| @@ -67,13 +75,13 @@ export default function MenuDrawer({ zone = 'public', open, onClose, onSelect }) | ||||
|             } | ||||
|           }}> | ||||
|  | ||||
|             <ListItemIcon sx={{ color: '#DFCCBCFF' }}>{icon}</ListItemIcon> | ||||
|             <ListItemIcon sx={{ color: '#40120EFF' }}>{icon}</ListItemIcon> | ||||
|             <ListItemText | ||||
|               primary={text} | ||||
|               slotProps={{ | ||||
|                 primary: { | ||||
|                   sx: { | ||||
|                     color: '#DFCCBCFF', | ||||
|                     color: '#40120EFF', | ||||
|                     fontWeight: 'medium', | ||||
|                   }, | ||||
|                 }, | ||||
|   | ||||
| @@ -21,7 +21,7 @@ const theme = createTheme({ | ||||
|             backgroundColor: '#f0eae3', | ||||
|           }, | ||||
|           '&.Mui-selected': { | ||||
|             backgroundColor: '#DFCCBCFF', | ||||
|             backgroundColor: '#40120EFF', | ||||
|             color: '#26201A', | ||||
|           }, | ||||
|           '&.Mui-selected:hover': { | ||||
| @@ -31,7 +31,7 @@ const theme = createTheme({ | ||||
|         }, | ||||
|         cell: { | ||||
|           '&:focus-within': { | ||||
|             outline: '2px solid #DFCCBCFF', // custom Fendi focus | ||||
|             outline: '2px solid #40120EFF', // custom Fendi focus | ||||
|             outlineOffset: '-2px', // tighten the outline | ||||
|             backgroundColor: '#f5f0eb', // optional subtle highlight | ||||
|           }, | ||||
| @@ -43,10 +43,10 @@ const theme = createTheme({ | ||||
|         root: { | ||||
|           /* your current styles... */ | ||||
|           '&:focus': { | ||||
|             outline: '2px solid #DFCCBCFF', | ||||
|             outline: '2px solid #fff4ec', | ||||
|           }, | ||||
|           '&:focusVisible': { | ||||
|             outline: '2px solid #DFCCBCFF', | ||||
|             outline: '2px solid #fff4ec', | ||||
|           }, | ||||
|         }, | ||||
|       }, | ||||
| @@ -55,7 +55,7 @@ const theme = createTheme({ | ||||
|       styleOverrides: { | ||||
|         root: { | ||||
|           '&:focus, &:focus-visible': { | ||||
|             outline: '2px solid #DFCCBCFF', | ||||
|             outline: '2px solid #fff4ec', | ||||
|             outlineOffset: '2px', | ||||
|           }, | ||||
|         }, | ||||
| @@ -66,7 +66,7 @@ const theme = createTheme({ | ||||
|         root: { | ||||
|           transition: 'background-color 0.2s ease-in-out', | ||||
|           '&:hover': { | ||||
|             backgroundColor: '#AA7665FF', | ||||
|             backgroundColor: '#fff4ec', | ||||
|           }, | ||||
|         }, | ||||
|       }, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Rodolfo Ruiz
					Rodolfo Ruiz