Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
edfb72d
Created footer.tsx
markconsulting Apr 18, 2025
787d6ad
drafted footer structure
markconsulting Apr 18, 2025
c8c72b3
Edited footer style
markconsulting Apr 21, 2025
d378556
Removed unused themes
markconsulting Apr 21, 2025
9b122c5
Improved styles
markconsulting Apr 21, 2025
9e692fd
Improved style
markconsulting Apr 21, 2025
f6a3064
Adjsuted social media icons
markconsulting Apr 21, 2025
a38c70a
Adjusted margin
markconsulting Apr 21, 2025
311ef85
Created theme index & CATButton
markconsulting Apr 21, 2025
d0d2c3d
Adjusted gloabl and button sytle
markconsulting Apr 21, 2025
2a6a64d
Added responsiveness
markconsulting Apr 21, 2025
e92f15b
Improved responsiveness
markconsulting Apr 21, 2025
9c86cc6
Merge branch 'main' into DIS-32-Landing-Page-Footer
markconsulting Apr 22, 2025
a87d274
Applied global style
markconsulting Apr 22, 2025
2389a36
Adjusted button radius so it aligns with UI
markconsulting Apr 22, 2025
d8bf912
Removed button height & adjusted arrowsize
markconsulting Apr 22, 2025
f619a99
Installed styled-components
markconsulting Apr 22, 2025
8669d42
Used styled components to manage button CSS
markconsulting Apr 22, 2025
e42aab2
Removed global css files
markconsulting Apr 22, 2025
4829e7b
Adjusted button font size, padding and font sizes
markconsulting Apr 22, 2025
a790d1b
Merge branch 'main' into Global-Theme
markconsulting Apr 22, 2025
c9b5b17
Installed pnpm
markconsulting Apr 22, 2025
8a9eb0b
Merge branch 'Global-Theme' into DIS-32-Landing-Page-Footer
markconsulting Apr 23, 2025
67e31d0
Applied styled components
markconsulting Apr 23, 2025
91ea8c2
added rest.sx so the button can be overwritten.
markconsulting Apr 23, 2025
937b208
Merge branch 'Global-Theme' into DIS-32-Landing-Page-Footer
markconsulting Apr 23, 2025
c7a708e
Removed redundant styled components
markconsulting Apr 23, 2025
119432e
Renamed button to CommonButton, refactored css to MUI sytled componen…
markconsulting Apr 23, 2025
d69e530
Removed testing code
markconsulting Apr 23, 2025
deff32d
Replaced hardcoded variables with global theme variables
markconsulting Apr 23, 2025
50ec6c1
Removed the redundant variable
markconsulting Apr 23, 2025
529a01f
Merge branch 'main' into DIS-32-Landing-Page-Footer
markconsulting Apr 23, 2025
af8860c
Applied the updated global theme
markconsulting Apr 23, 2025
2811e17
Updated global layout with Dispatch AI info
markconsulting Apr 23, 2025
fcf9de2
Created layout.tsx
markconsulting Apr 24, 2025
f0f1ded
Merge branch 'main' into Global-Theme
markconsulting Apr 24, 2025
da2b3a6
Merge branch 'main' into DIS-32-Landing-Page-Footer
markconsulting Apr 24, 2025
3289b8e
Updated page comments
markconsulting Apr 24, 2025
1a60c76
Renamed variables
markconsulting Apr 24, 2025
81e8ac8
Correct gloabl font size to the exact values matching with zeplin
markconsulting Apr 25, 2025
37c2a9d
Merge branch 'Global-Theme' into DIS-32-Landing-Page-Footer
markconsulting Apr 25, 2025
0443a09
Updated responsiveFontSize function per copilot comments
markconsulting Apr 25, 2025
025c801
Applied MUI responsiveFontSizes and removed manual responsiveness
markconsulting Apr 25, 2025
8436a37
Merge branch 'Global-Theme' into DIS-32-Landing-Page-Footer
markconsulting Apr 25, 2025
61ebce1
Added "social media" text
markconsulting Apr 25, 2025
4702c61
Merge branch 'main' into DIS-32-Landing-Page-Footer
markconsulting Apr 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions public/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { Container } from '@mui/material';
import HeroSection from '../components/features/landing/HeroSection';
import HeroSection from '@/components/features/landing/HeroSection';
import Footer from '@/components/features/landing/Footer';


export default function LandingPage() {
export default function Home() {
return (
<Container>
<>
<HeroSection />
</Container>
<Footer />
</>
);
}
151 changes: 151 additions & 0 deletions src/components/features/landing/Footer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
'use client';

import { Box, Container, Stack, Typography, Link, IconButton } from '@mui/material';
import { styled } from '@mui/material/styles';
import LinkedInIcon from '@mui/icons-material/LinkedIn';
import FacebookIcon from '@mui/icons-material/Facebook';
import InstagramIcon from '@mui/icons-material/Instagram';
import XIcon from '@mui/icons-material/X';
import YouTubeIcon from '@mui/icons-material/YouTube';
import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
import Image from 'next/image';
import CommmonButton from '@/components/ui/CommonButton';

// Styled Components
const FooterWrapper = styled(Box)(({ theme }) => ({
paddingTop: theme.spacing(6),
paddingBottom: theme.spacing(6),
backgroundColor: theme.palette.background.paper,
width: '100%'
}));

const LogoContainer = styled(Box)({
marginBottom: '60px',
width: '120px',
height: '40px',
position: 'relative'
});

const SocialContainer = styled(Box)({
marginBottom: '24px',
display: 'flex',
alignItems: 'center'
});

const SocialText = styled(Typography)(({ theme }) => ({
marginRight: '8px',
color: theme.palette.text.secondary
}));

const SocialIconButton = styled(IconButton)({
padding: '2px',
'& svg': {
width: '18px',
height: '18px'
}
});

const CopyrightText = styled(Typography)(({ theme }) => ({
color: theme.palette.text.secondary
}));

const NavLinksStack = styled(Stack)({
marginRight: '16px',
});

const NavLink = styled(Link)(({ theme }) => ({
textDecoration: 'none',
cursor: 'pointer',
color: 'inherit',
...theme.typography.body1
}));

const SupportLinksStack = styled(Stack)({
position: 'absolute',
marginTop: '16px',
});

const SupportLink = styled(Link)(({ theme }) => ({
textDecoration: 'none',
color: theme.palette.text.secondary,
...theme.typography.body2
}));

const ButtonTitle = styled(Typography)(({ theme }) => ({
marginBottom: '16px',
...theme.typography.body1
}));

export default function Footer() {
return (
<FooterWrapper as="footer">
<Container maxWidth={false} sx={{ maxWidth: '1440px', margin: '0 auto' }}>
<Stack
direction={{ xs: 'column', md: 'row' }}
spacing={{ xs: 4, md: 2 }}
>
{/* Logo and Social Media */}
<Box flex={{ md: 3 }}>
<LogoContainer>
<Image src="/logo.svg" alt="DispatchAI Logo" layout="fill" objectFit="contain" priority />
</LogoContainer>
<SocialContainer>
<SocialText variant="body2">Follow Us On Social Media</SocialText>
<Stack direction="row" spacing={0}>
<SocialIconButton color="inherit"><LinkedInIcon /></SocialIconButton>
<SocialIconButton color="inherit"><FacebookIcon /></SocialIconButton>
<SocialIconButton color="inherit"><InstagramIcon /></SocialIconButton>
<SocialIconButton color="inherit"><XIcon /></SocialIconButton>
<SocialIconButton color="inherit"><YouTubeIcon /></SocialIconButton>
</Stack>
</SocialContainer>
<CopyrightText variant="body2">©Copyright 2025 Dispatch AI</CopyrightText>
</Box>

{/* Navigation Links */}
<Box
flex={{ md: 6.5 }}
sx={{
display: { xs: 'none', lg: 'block' }
}}
>
<NavLinksStack direction="row" spacing={3}>
<NavLink href="#" color="inherit">Home</NavLink>
<NavLink href="#" color="inherit">Products</NavLink>
<NavLink href="#" color="inherit">Pricing</NavLink>
<NavLink href="#" color="inherit">Blogs</NavLink>
<NavLink href="#" color="inherit">Features</NavLink>
<NavLink href="#" color="inherit">About Us</NavLink>
<Box>
<NavLink href="#" color="inherit">Support</NavLink>
<SupportLinksStack spacing={1.5}>
<SupportLink href="#">Documents</SupportLink>
<SupportLink href="#">FAQs</SupportLink>
<SupportLink href="#">Need Help</SupportLink>
<SupportLink href="#">Contact Us</SupportLink>
</SupportLinksStack>
</Box>
</NavLinksStack>
</Box>

{/* Free Trial Section */}
<Box
flex={{ md: 3 }}
sx={{
marginLeft: { md: 4 },
gap: 3
}}
>
<ButtonTitle>Ready to Save Time?</ButtonTitle>
<CommmonButton
buttonVariant="black"
endIcon={<ArrowForwardIcon sx={{ width: '12px', height: '12px' }} />}
>
Start Your Free Trial
</CommmonButton>
</Box>
</Stack>
</Container>
</FooterWrapper>
);
}