Skip to content

Commit 6e3c2f8

Browse files
committed
feat: added about us component for landing page
1 parent f8120d7 commit 6e3c2f8

File tree

5 files changed

+118
-0
lines changed

5 files changed

+118
-0
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"prop-types": "^15.8.1",
2525
"react": "^18.2.0",
2626
"react-dom": "^18.2.0",
27+
"react-fast-marquee": "^1.6.5",
2728
"react-router-dom": "^6.22.1",
2829
"react-toastify": "^10.0.4",
2930
"vite": "^5.1.0"

src/components/AboutUs/index.jsx

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import Marquee from 'react-fast-marquee'
2+
import Card from '@/components/Card';
3+
4+
export default function AboutSection() {
5+
const images1 = [
6+
{ src: '/placeholder.svg?height=250&width=250', id: 'image1-1' },
7+
{ src: '/placeholder.svg?height=250&width=250', id: 'image1-2' },
8+
{ src: '/placeholder.svg?height=250&width=250', id: 'image1-3' },
9+
{ src: '/placeholder.svg?height=250&width=250', id: 'image1-4' }
10+
];
11+
12+
const images2 = [
13+
{ src: '/placeholder.svg?height=250&width=250', id: 'image2-1' },
14+
{ src: '/placeholder.svg?height=250&width=250', id: 'image2-2' },
15+
{ src: '/placeholder.svg?height=250&width=250', id: 'image2-3' },
16+
{ src: '/placeholder.svg?height=250&width=250', id: 'image2-4' }
17+
];
18+
19+
return (
20+
<>
21+
<section className="relative min-h-fit bg-secondary-dark text-white py-12 px-4 md:px-6 lg:px-8 overflow-hidden">
22+
<div className="absolute top-4 -left-1 w-8 h-8 bg-white rounded-full opacity-100" />
23+
<div className="absolute -top-2 right-20 w-20 h-20 bg-primary-dark rounded-full opacity-100 z-10" />
24+
<div className="max-w-full mx-auto px-24 relative z-20">
25+
<h1
26+
className="text-secondary-dark shadow-black font-poppins font-extrabold text-4xl md:text-6xl lg:text-8xl mb-12 relative z-20"
27+
style={{
28+
WebkitTextStroke: '2px #737373'
29+
}}
30+
>
31+
ABOUT US
32+
</h1>
33+
34+
<div className="mb-16 max-w-full relative">
35+
<p className="text-xl md:text-3xl font-poppins font-bold leading-relaxed">
36+
<span className="text-text-aboutuslight">Codex is the coding club at </span>
37+
<span className="text-text-aboutusorange">Symbiosis Institute of Technology</span>
38+
<span className="text-text-aboutuslight"> that brings together students passionate about technology and programming. Our club is committed to creating an engaging environment </span>
39+
<span className="text-text-aboutusdark">where members can learn, collaborate, and grow their coding expertise through a variety of activities and events.</span>
40+
</p>
41+
<button type="button" className="absolute -bottom-6 right-0 text-xl underline text-text-aboutuslight hover:text-text-light transition-colors">
42+
Know More
43+
</button>
44+
</div>
45+
</div>
46+
</section>
47+
<div className="space-y-8 w-full px-0">
48+
<div className="absolute bottom-0 -right-2 w-24 h-24 bg-white rounded-full opacity-100" />
49+
<Marquee
50+
gradient
51+
gradientColor={[28, 28, 28]}
52+
speed={40}
53+
className="overflow-hidden w-full"
54+
>
55+
{images1.map((image) => (
56+
<Card key={image.id} className="mx-4 overflow-hidden bg-zinc-800 border-zinc-700">
57+
<img
58+
src={image.src}
59+
alt={`Gallery ${image.id}`}
60+
className="h-[150px] w-[150px] md:h-[250px] md:w-[250px] object-cover hover:scale-105 transition-transform duration-300"
61+
/>
62+
</Card>
63+
))}
64+
</Marquee>
65+
66+
<Marquee
67+
gradient
68+
gradientColor={[28, 28, 28]}
69+
speed={40}
70+
direction="right"
71+
className="overflow-hidden w-full"
72+
>
73+
{images2.map((image) => (
74+
<Card key={image.id} className="mx-4 overflow-hidden bg-zinc-800 border-zinc-700">
75+
<img
76+
src={image.src}
77+
alt={`Gallery ${image.id}`}
78+
className="h-[150px] w-[150px] md:h-[250px] md:w-[250px] object-cover hover:scale-105 transition-transform duration-300"
79+
/>
80+
</Card>
81+
))}
82+
</Marquee>
83+
</div>
84+
</>
85+
);
86+
}

src/components/Card/index.jsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import PropTypes from 'prop-types';
2+
3+
export function Card({ children, className }) {
4+
return (
5+
<div className={`rounded-3xl shadow-lg ${className}`}>
6+
{children}
7+
</div>
8+
);
9+
}
10+
11+
Card.propTypes = {
12+
children: PropTypes.node,
13+
className: PropTypes.string,
14+
};
15+
16+
Card.defaultProps = {
17+
children: null,
18+
className: '',
19+
};
20+
21+
export default Card;

src/routes/index.jsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,15 @@ import Gallery from "@/pages/Gallery/Gallery";
55
import Contact from "@/pages/Contact";
66
import PageNotFound from "../pages/PageNotFound";
77
import Loader from "@/components/Loader";
8+
import AboutSection from "@/components/AboutUs";
89

910
const routes = [
11+
{
12+
label: "AboutUs",
13+
path: "/about-us-test",
14+
requireAuth: false,
15+
render: <AboutSection />
16+
},
1017
{
1118
label: "Loader",
1219
path: "/loader",

tailwind.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ export default {
2323
text: {
2424
light: "#F7F7F7",
2525
dark: "#232323",
26+
aboutuslight: "#B7AB98",
27+
aboutusdark: "#595959",
28+
aboutusorange: "#E76941"
2629
},
2730
gradient: {
2831
light: "#383838",

0 commit comments

Comments
 (0)