Skip to content

Commit a832188

Browse files
committed
Fix : updation in notfication bar
1 parent b009f8a commit a832188

File tree

2 files changed

+124
-64
lines changed

2 files changed

+124
-64
lines changed

app/components/footer.jsx

Lines changed: 123 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,77 @@
11
"use client";
2-
import React from 'react';
3-
import Link from 'next/link';
4-
import { useState } from 'react';
2+
import React from "react";
3+
import Link from "next/link";
4+
import { useState } from "react";
55
import PrivacyPolicyModal from "@/app/components/PrivacyPolicyModal";
6+
import { GoHomeFill } from "react-icons/go";
7+
import { MdAnimation } from "react-icons/md";
8+
import { IoMdInformationCircle } from "react-icons/io";
9+
import { HiSparkles } from "react-icons/hi2";
10+
import { RiQuestionLine } from "react-icons/ri";
611

712
const Footer = () => {
813
const [showPolicyModal, setShowPolicyModal] = useState(false);
914

1015
const quickLinks = [
11-
{ href: "/", text: "Home" },
12-
{ href: "/#features", text: "Features" },
13-
{ href: "/visualizer", text: "Visualizer" },
14-
{ href: "/#about", text: "About" },
15-
{ href: "/#faq", text: "FAQs" }
16+
{ href: "/", text: "Home", icon: GoHomeFill },
17+
{ href: "/#features", text: "Features", icon: HiSparkles },
18+
{ href: "/visualizer", text: "Visualizer", icon: MdAnimation },
19+
{ href: "/#about", text: "About", icon: IoMdInformationCircle },
20+
{ href: "/#faq", text: "FAQs", icon: RiQuestionLine },
1621
];
1722

1823
const socialLinks = [
1924
{
2025
href: "https://twitter.com",
2126
icon: (
2227
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
23-
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
28+
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" />
2429
</svg>
2530
),
26-
label: "Twitter"
31+
label: "Twitter",
2732
},
2833
{
2934
href: "https://linkedin.com",
3035
icon: (
3136
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
32-
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/>
37+
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z" />
3338
</svg>
3439
),
35-
label: "LinkedIn"
40+
label: "LinkedIn",
3641
},
3742
{
3843
href: "https://github.com",
3944
icon: (
4045
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
41-
<path fillRule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clipRule="evenodd" />
46+
<path
47+
fillRule="evenodd"
48+
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
49+
clipRule="evenodd"
50+
/>
4251
</svg>
4352
),
44-
label: "GitHub"
53+
label: "GitHub",
4554
},
4655
{
4756
href: "https://instagram.com",
4857
icon: (
4958
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
50-
<path fillRule="evenodd" d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" clipRule="evenodd" />
59+
<path
60+
fillRule="evenodd"
61+
d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"
62+
clipRule="evenodd"
63+
/>
5164
</svg>
5265
),
53-
label: "Instagram"
54-
}
66+
label: "Instagram",
67+
},
5568
];
5669

57-
const legalLinks = [
58-
{ href: "/privacy", text: "Privacy Policy", type: "modal" },
59-
{ href: "/terms", text: "Terms of Service", type: "link" },
60-
{ href: "/cookies", text: "Cookies", type: "link" }
61-
];
70+
const legalLinks = [
71+
{ href: "/privacy", text: "Privacy Policy", type: "modal" },
72+
{ href: "/terms", text: "Terms of Service", type: "link" },
73+
{ href: "/cookies", text: "Cookies", type: "link" },
74+
];
6275

6376
return (
6477
<footer className="bg-black text-gray-400">
@@ -67,18 +80,31 @@ const legalLinks = [
6780
{/* Brand Column */}
6881
<div className="md:col-span-2 space-y-6">
6982
<div className="flex items-center">
70-
<span className="text-2xl font-bold text-white">DSA<span className="text-blue-500">Visualizer</span></span>
83+
<span className="text-2xl font-bold text-white">
84+
DSA<span className="text-blue-500">Visualizer</span>
85+
</span>
7186
</div>
7287
<p className="text-gray-500 leading-relaxed">
73-
Interactive visualization tools for mastering data structures and algorithms.
88+
Interactive visualization tools for mastering data structures and
89+
algorithms.
7490
</p>
7591
<div className="space-y-3">
7692
<div className="flex items-start">
77-
<svg className="w-5 h-5 mt-0.5 mr-3 flex-shrink-0" fill="red" viewBox="0 0 24 24">
78-
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 6 4 4 6.5 4c1.74 0 3.41 1.01 4.13 2.44h1.74C14.09 5.01 15.76 4 17.5 4 20 4 22 6 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
93+
<svg
94+
className="w-5 h-5 mt-0.5 mr-3 flex-shrink-0"
95+
fill="red"
96+
viewBox="0 0 24 24"
97+
>
98+
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 6 4 4 6.5 4c1.74 0 3.41 1.01 4.13 2.44h1.74C14.09 5.01 15.76 4 17.5 4 20 4 22 6 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
7999
</svg>
80100
<span>
81-
Made with ♥ by <a href="https://www.linkedin.com/in/sohan-rout/" className="text-blue-400 hover:text-blue-300">Sohan Rout</a>
101+
Made with ♥ by{" "}
102+
<a
103+
href="https://www.linkedin.com/in/sohan-rout/"
104+
className="text-blue-400 hover:text-blue-300"
105+
>
106+
Sohan Rout
107+
</a>
82108
</span>
83109
</div>
84110
{/*
@@ -89,19 +115,38 @@ const legalLinks = [
89115
<a href="mailto:[email protected]" className="hover:text-blue-400 transition">[email protected]</a>
90116
</div>
91117
*/}
118+
<div className="flex justify-left">
119+
<a
120+
className="border rounded-xl"
121+
href="https://www.producthunt.com/products/dsa-visualizer?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-dsa&#0045;visualizer"
122+
target="_blank"
123+
rel="noopener noreferrer"
124+
>
125+
<img
126+
src={`https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=974127&theme=dark&t=1749182745821`}
127+
alt="DSA&#0032;Visualizer - Visualize&#0032;&#0038;&#0032;learn&#0032;dsa&#0032;the&#0032;smart&#0032;way | Product Hunt"
128+
style={{ width: 250, height: 54 }}
129+
width="250"
130+
height="54"
131+
/>
132+
</a>
133+
</div>
92134
</div>
93135
</div>
94136

95137
{/* Quick Links */}
96138
<div>
97-
<h3 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Navigation</h3>
139+
<h3 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">
140+
Navigation
141+
</h3>
98142
<ul className="space-y-3">
99143
{quickLinks.map((link, index) => (
100144
<li key={index}>
101-
<Link href={link.href} className="hover:text-blue-400 transition flex items-center group">
102-
<svg className="w-4 h-4 mr-2 opacity-0 group-hover:opacity-100 transition" fill="none" stroke="currentColor" viewBox="0 0 24 24">
103-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M9 5l7 7-7 7" />
104-
</svg>
145+
<Link
146+
href={link.href}
147+
className="hover:text-blue-400 transition flex items-center gap-2 group"
148+
>
149+
{link.icon && <link.icon className="text-xl" />}
105150
{link.text}
106151
</Link>
107152
</li>
@@ -112,41 +157,45 @@ const legalLinks = [
112157
{/* Legal + Social */}
113158
<div className="space-y-8">
114159
<div>
115-
<h3 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Legal</h3>
160+
<h3 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">
161+
Legal
162+
</h3>
116163
<ul className="space-y-3">
117-
{legalLinks.map((link, index) => (
118-
<li key={index}>
119-
{link.type === "modal" ? (
120-
<button
121-
onClick={() => setShowPolicyModal(true)}
122-
className="text-gray-500 hover:text-blue-400 transition"
123-
>
124-
{link.text}
125-
</button>
126-
) : (
127-
<Link
128-
href={link.href}
129-
className="text-gray-500 hover:text-blue-400 transition"
130-
>
131-
{link.text}
132-
</Link>
133-
)}
134-
</li>
135-
))}
136-
</ul>
164+
{legalLinks.map((link, index) => (
165+
<li key={index}>
166+
{link.type === "modal" ? (
167+
<button
168+
onClick={() => setShowPolicyModal(true)}
169+
className="text-gray-500 hover:text-blue-400 transition"
170+
>
171+
{link.text}
172+
</button>
173+
) : (
174+
<Link
175+
href={link.href}
176+
className="text-gray-500 hover:text-blue-400 transition"
177+
>
178+
{link.text}
179+
</Link>
180+
)}
181+
</li>
182+
))}
183+
</ul>
137184
</div>
138185

139186
{/* Render the modal */}
140-
<PrivacyPolicyModal
141-
isOpen={showPolicyModal}
142-
onClose={() => setShowPolicyModal(false)}
143-
/>
187+
<PrivacyPolicyModal
188+
isOpen={showPolicyModal}
189+
onClose={() => setShowPolicyModal(false)}
190+
/>
144191

145192
<div>
146-
<h3 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">Connect</h3>
193+
<h3 className="text-sm font-semibold text-white uppercase tracking-wider mb-4">
194+
Connect
195+
</h3>
147196
<div className="flex space-x-4">
148197
{socialLinks.map((social, index) => (
149-
<a
198+
<a
150199
key={index}
151200
href={social.href}
152201
aria-label={social.label}
@@ -164,11 +213,22 @@ const legalLinks = [
164213
<div className="mt-16 pt-8 border-t border-gray-900">
165214
<div className="flex flex-col md:flex-row justify-between items-center">
166215
<p className="text-sm text-gray-500">
167-
&copy; {new Date().getFullYear()} DSAVisualizer. All rights reserved.
216+
&copy; {new Date().getFullYear()} DSAVisualizer. All rights
217+
reserved.
168218
</p>
169219
<div className="flex space-x-6 mt-4 md:mt-0">
170-
<Link href="/sitemap-0.xml" className="text-sm text-gray-500 hover:text-blue-400 transition">Sitemap</Link>
171-
<Link href="/#review" className="text-sm text-gray-500 hover:text-blue-400 transition">Contact</Link>
220+
<Link
221+
href="/sitemap-0.xml"
222+
className="text-sm text-gray-500 hover:text-blue-400 transition"
223+
>
224+
Sitemap
225+
</Link>
226+
<Link
227+
href="/#review"
228+
className="text-sm text-gray-500 hover:text-blue-400 transition"
229+
>
230+
Contact
231+
</Link>
172232
</div>
173233
</div>
174234
</div>
@@ -177,4 +237,4 @@ const legalLinks = [
177237
);
178238
};
179239

180-
export default Footer;
240+
export default Footer;

app/components/hero.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ const HeroSection = () => {
5050
className="path"
5151
/>
5252
</svg>
53-
New: New Blogs added!
53+
Updates: Stack Visualization Updated !
5454
</span>
5555
<Link href="./blogs">
5656
<button className="text-blue-600 hover:text-blue-700 dark:hover:text-blue-700">

0 commit comments

Comments
 (0)