Skip to content

Commit 68d7d83

Browse files
committed
add a responsive footer section
1 parent 3c4bb9f commit 68d7d83

4 files changed

Lines changed: 66 additions & 0 deletions

File tree

public/img/love-icon.svg

Lines changed: 10 additions & 0 deletions
Loading

src/components/Footer/Footer.tsx

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import Image from 'next/image';
2+
import React, { useEffect, useState } from 'react';
3+
import { ABOUT, CONTACT, EVENTS } from '../../util/routeConstants';
4+
import Logo from '../Logo';
5+
import loveIcon from '../../../public/img/love-icon.svg';
6+
7+
export default function Footer() {
8+
const [screenWidth, setScreenWidth] = useState<number | null>(null);
9+
10+
const breakpoint = 768;
11+
12+
useEffect(() => {
13+
setScreenWidth(window.innerWidth);
14+
15+
const handleResize = () => setScreenWidth(window.innerWidth);
16+
17+
window.addEventListener('resize', handleResize);
18+
19+
return () => window.removeEventListener('resize', handleResize);
20+
}, []);
21+
22+
return (
23+
<footer className="bg-[#CEEDF4] w-full md:pt-12 md:pb-[25px] py-4">
24+
<div className="lg:w-1/4 md:w-[35%] sm:w-[40%] w-[65%] mx-auto flex flex-col justify-center items-center">
25+
{screenWidth && (
26+
<div>
27+
<Logo size={screenWidth >= breakpoint ? 175 : 125} />
28+
</div>
29+
)}
30+
<div className="md:pt-5 md:pb-[70px] pb-14 pt-[18px] md:w-auto w-full">
31+
<ul className="font-montserrat md:text-base text-xs text-black flex flex-row justify-between items-center md:space-x-[30px]">
32+
<a href={ABOUT}>
33+
<li>About us</li>
34+
</a>
35+
<a href={EVENTS}>
36+
<li>Events</li>
37+
</a>
38+
<a href={CONTACT}>
39+
<li>Contact</li>
40+
</a>
41+
</ul>
42+
</div>
43+
<p className="font-montserrat md:text-xs text-[8px]">
44+
Made with &nbsp;
45+
<span>
46+
<Image src={loveIcon} alt="" width={10} height={10} />
47+
</span>
48+
&nbsp; by ReactDevsKe
49+
</p>
50+
</div>
51+
</footer>
52+
);
53+
}

src/components/Footer/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from './Footer';

src/pages/index.page.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import ContactUs from '../components/ContactUs';
44
import Events from '../components/Events/Events';
55
import MissionPillars from '../components/MissionPillars/MissionPillars';
66
import HeroHeader from '../components/HeroHeader';
7+
import Footer from '../components/Footer';
78

89
export default function Home() {
910
return (
@@ -29,6 +30,7 @@ export default function Home() {
2930
<MissionPillars />
3031
<Events />
3132
<ContactUs />
33+
<Footer />
3234
</main>
3335
</div>
3436
);

0 commit comments

Comments
 (0)