fix/landing_page #7

Merged
mihir merged 6 commits from fix/landing_page into main 2025-08-06 10:46:49 +05:30
76 changed files with 13746 additions and 18081 deletions
Showing only changes of commit efcd9290bc - Show all commits

View File

@ -58,5 +58,6 @@
"devDependencies": { "devDependencies": {
"@types/react-icons": "^2.2.7", "@types/react-icons": "^2.2.7",
"@types/react-slick": "^0.23.13" "@types/react-slick": "^0.23.13"
} },
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

View File

@ -2,11 +2,9 @@ import React, { useState } from "react";
import { import {
AppBar, AppBar,
Toolbar, Toolbar,
Typography,
IconButton, IconButton,
Drawer, Drawer,
List, List,
ListItem,
ListItemText, ListItemText,
Button, Button,
useMediaQuery, useMediaQuery,
@ -14,49 +12,77 @@ import {
Box, Box,
Container, Container,
ListItemButton, ListItemButton,
Divider,
} from "@mui/material"; } from "@mui/material";
import MenuIcon from "@mui/icons-material/Menu"; import MenuIcon from "@mui/icons-material/Menu";
import { motion } from "framer-motion"; import { motion } from "framer-motion";
import HomeIcon from "@mui/icons-material/Home";
import BuildIcon from "@mui/icons-material/Build";
import WorkIcon from "@mui/icons-material/Work";
import InfoIcon from "@mui/icons-material/Info";
import ArticleIcon from "@mui/icons-material/Article";
import logo from "../QE Website design/Logo.png";
const navItems = ["Home", "Services", "Portfolio", "About Us", "Blog"]; const navItems = [
{ label: "Home", icon: <HomeIcon />, href: "#" },
{ label: "Services", icon: <BuildIcon />, href: "#" },
{ label: "Portfolio", icon: <WorkIcon />, href: "#" },
{ label: "About Us", icon: <InfoIcon />, href: "#" },
{ label: "Blog", icon: <ArticleIcon />, href: "#" },
];
const Header = () => { const Header = () => {
const [mobileOpen, setMobileOpen] = useState(false); const [mobileOpen, setMobileOpen] = useState(false);
const theme = useTheme(); const theme = useTheme();
const isMobile = useMediaQuery(theme.breakpoints.down("md")); const isMobile = useMediaQuery(theme.breakpoints.down("md"));
const toggleDrawer = () => { const toggleDrawer = () => setMobileOpen(!mobileOpen);
setMobileOpen(!mobileOpen);
};
const drawer = ( const drawer = (
<Box sx={{ width: 250, backgroundColor: "#000" }} onClick={toggleDrawer}> <Box
<List> sx={{ width: 260, height: "100%", backgroundColor: "#000" }}
onClick={toggleDrawer}
>
<ListItemButton
component="a"
href="#"
sx={{ justifyContent: "center", my: 2 }}
>
<Box component="img" src={logo} alt="Logo" sx={{ height: 40 }} />
</ListItemButton>
<Divider sx={{ backgroundColor: "#444" }} />
<Box>
{navItems.map((item) => ( {navItems.map((item) => (
<ListItemButton component="a" href="#" key={item}> <ListItemButton component="a" href={item.href} key={item.label}>
<ListItemText primary={item} sx={{ color: "#fff" }} /> <Box
sx={{ display: "flex", alignItems: "center", color: "#00E0FF" }}
>
<Box sx={{ mr: 2 }}>{item.icon}</Box>
<ListItemText primary={item.label} sx={{ color: "#fff" }} />
</Box>
</ListItemButton> </ListItemButton>
))} ))}
<ListItem disablePadding> </Box>
<Button <Divider sx={{ backgroundColor: "#444", my: 2 }} />
variant="outlined" <Box px={2}>
fullWidth <Button
sx={{ variant="outlined"
borderColor: "#00E0FF", fullWidth
color: "#00E0FF", sx={{
backgroundColor: "transparent", borderColor: "#00E0FF",
borderRadius: "8px", color: "#00E0FF",
m: 2, borderRadius: "24px",
"&:hover": { fontWeight: 600,
backgroundColor: "#00E0FF", textTransform: "none",
color: "#000", "&:hover": {
}, backgroundColor: "#00E0FF",
}} color: "#000",
> },
Contact Us }}
</Button> >
</ListItem> Contact Us
</List> </Button>
</Box>
</Box> </Box>
); );
@ -66,20 +92,10 @@ const Header = () => {
sx={{ backgroundColor: "#000", boxShadow: "none" }} sx={{ backgroundColor: "#000", boxShadow: "none" }}
> >
<Container maxWidth="lg"> <Container maxWidth="lg">
<Toolbar sx={{ justifyContent: "space-between", padding: "16px 0" }}> <Toolbar sx={{ justifyContent: "space-between", py: 1.5 }}>
<motion.div
initial={{ opacity: 0, y: -10 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.6 }}
>
<Typography variant="h6" sx={{ fontWeight: 700, color: "#fff" }}>
QUADRA EDGE
</Typography>
</motion.div>
{isMobile ? ( {isMobile ? (
<> <>
<IconButton color="inherit" edge="end" onClick={toggleDrawer}> <IconButton edge="end" onClick={toggleDrawer}>
<MenuIcon sx={{ color: "#fff" }} /> <MenuIcon sx={{ color: "#fff" }} />
</IconButton> </IconButton>
<Drawer <Drawer
@ -92,44 +108,78 @@ const Header = () => {
</Drawer> </Drawer>
</> </>
) : ( ) : (
<Box sx={{ display: "flex", gap: 4, alignItems: "center" }}> <Box
{navItems.map((item, index) => ( sx={{
<motion.div display: "flex",
key={item} justifyContent: "space-between",
initial={{ opacity: 0, y: -5 }} alignItems: "center",
animate={{ opacity: 1, y: 0 }} width: "100%",
transition={{ delay: 0.1 * index }} }}
> >
<Typography {/* Left - Logo */}
variant="body1"
component="a"
href="#"
sx={{
color: "#fff",
textDecoration: "none",
"&:hover": {
color: "#00E0FF",
},
}}
>
{item}
</Typography>
</motion.div>
))}
<motion.div <motion.div
initial={{ opacity: 0, y: -5 }} initial={{ opacity: 0, x: -10 }}
animate={{ opacity: 1, y: 0 }} animate={{ opacity: 1, x: 0 }}
transition={{ delay: 0.5 }} transition={{ duration: 0.6 }}
>
<Box
component="a"
href="#"
sx={{ display: "flex", alignItems: "center" }}
>
<Box
component="img"
src={logo}
alt="Logo"
sx={{ height: 40, width: "auto", objectFit: "contain" }}
/>
</Box>
</motion.div>
{/* Center - Navigation */}
<Box sx={{ display: "flex", gap: 4, alignItems: "center" }}>
{navItems.map((item, index) => (
<motion.div
key={item.label}
initial={{ opacity: 0, y: -5 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: 0.1 * index }}
>
<Box
component="a"
href={item.href}
sx={{
color: "#fff",
textDecoration: "none",
fontWeight: 500,
fontSize: "1rem",
"&:hover": {
color: "#00E0FF",
},
}}
>
{item.label}
</Box>
</motion.div>
))}
</Box>
{/* Right - Contact Us */}
<motion.div
initial={{ opacity: 0, x: 10 }}
animate={{ opacity: 1, x: 0 }}
transition={{ duration: 0.6 }}
> >
<Button <Button
variant="outlined" variant="outlined"
sx={{ sx={{
borderColor: "#00E0FF", borderColor: "#00E0FF",
color: "#00E0FF", color: "#00E0FF",
backgroundColor: "transparent", borderRadius: "24px",
borderRadius: "8px",
textTransform: "none", textTransform: "none",
padding: "8px 24px", fontWeight: 600,
px: 3,
py: 1,
"&:hover": { "&:hover": {
backgroundColor: "#00E0FF", backgroundColor: "#00E0FF",
color: "#000", color: "#000",

26118
yarn.lock

File diff suppressed because it is too large Load Diff