Skip to content

Commit 418e0bc

Browse files
committed
Removed social links sectionfrom Personal as they were overly redundant. Updated /Footer.tsx navifation and layout.
1 parent 9392ebb commit 418e0bc

File tree

2 files changed

+63
-131
lines changed

2 files changed

+63
-131
lines changed

src/components/layout/Footer.tsx

Lines changed: 62 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -16,124 +16,96 @@ const socialLinks = [
1616
]
1717

1818
const footerLinks = [
19-
{
20-
title: 'Navigation',
21-
links: [
22-
{ name: 'Home', href: '/' },
23-
{ name: 'About', href: '/about' },
24-
{ name: 'Projects', href: '/projects' },
25-
{ name: 'Contact', href: '/contact' },
26-
]
27-
},
28-
{
29-
title: 'Professional',
30-
links: [
31-
{ name: 'Resume', href: '/professional' },
32-
{ name: 'Experience', href: '/professional#experience' },
33-
{ name: 'Skills', href: '/professional#skills' },
34-
{ name: 'Download Resume', href: '/2025CurrentResume-DavidDonohue.pdf' },
35-
]
36-
},
37-
{
38-
title: 'Content',
39-
links: [
40-
{ name: 'Blog Posts', href: '/content' },
41-
{ name: 'Videos', href: '/content#videos' },
42-
{ name: 'Resources', href: '/content#resources' },
43-
]
44-
}
19+
{ name: 'Home', href: '/' },
20+
{ name: 'Personal', href: '/about' },
21+
{ name: 'Professional', href: '/professional' },
22+
{ name: 'Projects', href: '/projects' },
23+
{ name: 'Content', href: '/content' },
24+
{ name: 'Contact', href: '/contact' },
4525
]
4626

4727
export default function Footer({ className }: FooterProps) {
4828
const currentYear = new Date().getFullYear()
4929

5030
return (
5131
<footer className={cn('bg-primary-navy border-t border-primary-blue/20', className)}>
52-
<div className="container mx-auto px-4 sm:px-6 lg:px-8 py-12">
32+
<div className="container mx-auto px-4 sm:px-6 lg:px-8 py-8">
5333
{/* Main Footer Content */}
54-
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
34+
<div className="flex flex-col md:flex-row justify-between items-center gap-6">
5535
{/* Brand Section */}
5636
<motion.div
5737
initial={{ opacity: 0, y: 20 }}
5838
whileInView={{ opacity: 1, y: 0 }}
5939
viewport={{ once: true }}
60-
className="lg:col-span-1"
40+
className="text-center md:text-left"
6141
>
62-
<h3 className="text-2xl font-bold text-primary-blue mb-4">David P. Donohue</h3>
63-
<p className="text-slate-300 mb-6 max-w-sm">
64-
Full-stack developer passionate about creating beautiful, functional web applications,
65-
lifelong learning and the sharing of knowledge with the community.
42+
<h3 className="text-xl font-bold text-primary-blue mb-2">David P. Donohue</h3>
43+
<p className="text-slate-300 text-sm max-w-sm">
44+
Full-stack developer passionate about creating beautiful, functional web applications.
6645
</p>
67-
<div className="flex space-x-4">
68-
{socialLinks.map((link) => {
69-
const Icon = link.icon
70-
return (
71-
<motion.a
72-
key={link.name}
73-
href={link.href}
74-
whileHover={{ scale: 1.1 }}
75-
whileTap={{ scale: 0.95 }}
76-
className="text-slate-300 hover:text-primary-blue transition-colors"
77-
aria-label={link.name}
78-
target="_blank"
79-
rel="noopener noreferrer"
80-
>
81-
<Icon className="w-6 h-6" />
82-
</motion.a>
83-
)
84-
})}
85-
</div>
8646
</motion.div>
8747

88-
{/* Footer Links */}
89-
{footerLinks.map((section, index) => (
90-
<motion.div
91-
key={section.title}
92-
initial={{ opacity: 0, y: 20 }}
93-
whileInView={{ opacity: 1, y: 0 }}
94-
viewport={{ once: true }}
95-
transition={{ delay: (index + 1) * 0.1 }}
96-
>
97-
<h4 className="text-white font-semibold mb-4">{section.title}</h4>
98-
<ul className="space-y-2">
99-
{section.links.map((link) => (
100-
<li key={link.name}>
101-
{link.href.startsWith('#') || link.href.startsWith('mailto:') ? (
102-
<a
103-
href={link.href}
104-
className="text-slate-300 hover:text-primary-blue transition-colors"
105-
>
106-
{link.name}
107-
</a>
108-
) : (
109-
<Link
110-
href={link.href}
111-
className="text-slate-300 hover:text-primary-blue transition-colors"
112-
>
113-
{link.name}
114-
</Link>
115-
)}
116-
</li>
117-
))}
118-
</ul>
119-
</motion.div>
120-
))}
48+
{/* Navigation Links */}
49+
<motion.div
50+
initial={{ opacity: 0, y: 20 }}
51+
whileInView={{ opacity: 1, y: 0 }}
52+
viewport={{ once: true }}
53+
transition={{ delay: 0.1 }}
54+
className="flex flex-wrap justify-center gap-6"
55+
>
56+
{footerLinks.map((link) => (
57+
<Link
58+
key={link.name}
59+
href={link.href}
60+
className="text-slate-300 hover:text-primary-blue transition-colors text-sm"
61+
>
62+
{link.name}
63+
</Link>
64+
))}
65+
</motion.div>
66+
67+
{/* Social Links */}
68+
<motion.div
69+
initial={{ opacity: 0, y: 20 }}
70+
whileInView={{ opacity: 1, y: 0 }}
71+
viewport={{ once: true }}
72+
transition={{ delay: 0.2 }}
73+
className="flex space-x-4"
74+
>
75+
{socialLinks.map((link) => {
76+
const Icon = link.icon
77+
return (
78+
<motion.a
79+
key={link.name}
80+
href={link.href}
81+
whileHover={{ scale: 1.1 }}
82+
whileTap={{ scale: 0.95 }}
83+
className="text-slate-300 hover:text-primary-blue transition-colors"
84+
aria-label={link.name}
85+
target="_blank"
86+
rel="noopener noreferrer"
87+
>
88+
<Icon className="w-5 h-5" />
89+
</motion.a>
90+
)
91+
})}
92+
</motion.div>
12193
</div>
12294

12395
{/* Bottom Section */}
12496
<motion.div
12597
initial={{ opacity: 0 }}
12698
whileInView={{ opacity: 1 }}
12799
viewport={{ once: true }}
128-
transition={{ delay: 0.4 }}
129-
className="mt-12 pt-8 border-t border-primary-blue/20 flex flex-col sm:flex-row justify-between items-center"
100+
transition={{ delay: 0.3 }}
101+
className="mt-6 pt-4 border-t border-primary-blue/20 flex flex-col sm:flex-row justify-between items-center gap-2"
130102
>
131-
<p className="text-slate-300 text-sm mb-4 sm:mb-0">
103+
<p className="text-slate-300 text-xs">
132104
© {currentYear} DavidPDonohue.com. All rights reserved.
133105
</p>
134-
<div className="flex items-center text-slate-300 text-sm">
106+
<div className="flex items-center text-slate-300 text-xs">
135107
<span>Made with</span>
136-
<Heart className="w-4 h-4 mx-1 text-red-400" />
108+
<Heart className="w-3 h-3 mx-1 text-red-400" />
137109
<span>using Next.js & TypeScript</span>
138110
</div>
139111
</motion.div>

src/components/sections/HeroSection.tsx

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export default function HeroSection() {
7272
<div className="text-primary-blue/70 font-mono text-sm">terminal@davidpdonohue.com:{terminalPath}$</div>
7373
<div className="flex gap-2">
7474
<div className="w-3 h-3 rounded-full bg-red-500"></div>
75-
<div className="w-3 h-3 rounded-full bg-primary-sunset-orange"></div>
75+
<div className="w-3 h-3 rounded-full bg-primary-sunset-orange"></div>
7676
<div className="w-3 h-3 rounded-full bg-green-500"></div>
7777
</div>
7878
</div>
@@ -115,46 +115,6 @@ export default function HeroSection() {
115115
)}
116116
</div>
117117
</div>
118-
119-
{/* Social Links */}
120-
<motion.div
121-
initial={{ opacity: 0 }}
122-
animate={{ opacity: currentLineIndex >= typingContent.length ? 1 : 0 }}
123-
transition={{ duration: 0.5 }}
124-
className="flex justify-center gap-6 mt-12"
125-
>
126-
<a
127-
href="https://github.com/sdirishguy"
128-
target="_blank"
129-
rel="noopener noreferrer"
130-
className="text-slate-400 hover:text-primary-blue transition-colors text-2xl"
131-
>
132-
<span className="sr-only">GitHub</span>
133-
<svg className="w-8 h-8" fill="currentColor" viewBox="0 0 24 24">
134-
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
135-
</svg>
136-
</a>
137-
<a
138-
href="https://linkedin.com/in/davidpatrickdonohue"
139-
target="_blank"
140-
rel="noopener noreferrer"
141-
className="text-slate-400 hover:text-primary-blue transition-colors text-2xl"
142-
>
143-
<span className="sr-only">LinkedIn</span>
144-
<svg className="w-8 h-8" fill="currentColor" viewBox="0 0 24 24">
145-
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
146-
</svg>
147-
</a>
148-
<a
149-
href="mailto:david@davidpdonohue.com"
150-
className="text-slate-400 hover:text-primary-blue transition-colors text-2xl"
151-
>
152-
<span className="sr-only">Email</span>
153-
<svg className="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
154-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
155-
</svg>
156-
</a>
157-
</motion.div>
158118
</div>
159119
</section>
160120
)

0 commit comments

Comments
 (0)