Skip to content

Commit d7bf7cf

Browse files
committed
Global
1 parent a929f4e commit d7bf7cf

File tree

3 files changed

+85
-0
lines changed

3 files changed

+85
-0
lines changed

package-lock.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"lucide-react": "^0.460.0",
2020
"react": "^18.2.0",
2121
"react-dom": "^18.2.0",
22+
"react-fast-marquee": "^1.6.5",
2223
"react-helmet": "^6.1.0",
2324
"react-icons": "^5.4.0",
2425
"react-router-dom": "^6.22.0",

src/Page/Opportunities.jsx

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, { useState } from 'react';
22
import { ArrowLeft, Search } from 'lucide-react';
33
import { Footer } from '../components/Footer/Footer';
44
import styled from 'styled-components'; // Import styled-components
5+
import Marquee from 'react-fast-marquee'; // Import Marquee
56

67
const Navbar = () => {
78
return (
@@ -57,6 +58,78 @@ const Hero = () => {
5758
);
5859
};
5960

61+
const Tags = () => {
62+
const tags = [
63+
'Hybrid Jobs',
64+
'Onsite Jobs',
65+
'Remote Jobs',
66+
'Internships',
67+
'Freelancing',
68+
'Offline Hackathons',
69+
'Online Hackathons',
70+
'Competitions',
71+
'Tech Events',
72+
'Tech Fest',
73+
'Bootcamps',
74+
'Certifications',
75+
'Skill Development',
76+
'OpenSource Program',
77+
'Coding Challenges',
78+
'Mentorship Programs',
79+
'Workshops',
80+
'Networking Events',
81+
'Scholarships',
82+
'Startup Incubators',
83+
];
84+
85+
return (
86+
<section id="tags" className="w-full pt-12 sm:py-16">
87+
<h2 className="text-md text-primary mb-8 text-center font-bold lg:text-xl">Opportunities in one frame</h2>
88+
89+
{/* Right to Left Scrolling */}
90+
<Marquee gradient={false} speed={40} pauseOnHover={true} loop={0} className="w-full">
91+
<div className="flex w-full flex-nowrap items-center">
92+
{[...tags, ...tags, ...tags].map((text, index) => (
93+
<span key={index} className="tag-item mr-6">
94+
{text}
95+
</span>
96+
))}
97+
</div>
98+
</Marquee>
99+
100+
<div className="my-4"></div>
101+
102+
{/* Left to Right Scrolling */}
103+
<Marquee gradient={false} speed={40} pauseOnHover={true} loop={0} direction="right" className="w-full">
104+
<div className="flex w-full flex-nowrap items-center">
105+
{[...tags, ...tags, ...tags].map((text, index) => (
106+
<span key={index} className="tag-item mr-6">
107+
{text}
108+
</span>
109+
))}
110+
</div>
111+
</Marquee>
112+
113+
<style jsx>{`
114+
.tag-item {
115+
display: inline-flex;
116+
align-items: center;
117+
justify-content: center;
118+
white-space: nowrap;
119+
padding: 0.5rem 1.5rem;
120+
border-radius: 9999px;
121+
border: 1px solid #00a6fb;
122+
background-color: rgba(1, 11, 31, 0.58);
123+
color: #e2e8f0;
124+
font-size: 0.875rem;
125+
text-align: center;
126+
min-width: max-content;
127+
}
128+
`}</style>
129+
</section>
130+
);
131+
};
132+
60133
const OpportunitiesCards = () => {
61134
const [searchTerm, setSearchTerm] = useState('');
62135

@@ -370,6 +443,7 @@ const Opportunities = () => {
370443
<div className="background-wrapper min-h-screen bg-gray-900">
371444
<Navbar />
372445
<Hero />
446+
<Tags />
373447
<OpportunitiesCards />
374448
<Footer />
375449
</div>

0 commit comments

Comments
 (0)