Skip to content

Commit e636d5a

Browse files
committed
feat: standardize terminal animations and clean up codebase
- Standardize typingContent structure across all section components - Update terminal headers to use davidpdonohue.com domain - Implement centralized font sizing utilities in utils.ts - Remove redundant social links from HeroSection - Update footer navigation to match header structure - Fix linting errors (remove unused motion import) - Improve code consistency and maintainability Files modified: - src/components/sections/AboutSection.tsx - src/components/sections/ContactSection.tsx - src/components/sections/HeroSection.tsx - src/components/sections/ProfessionalSection.tsx - src/components/sections/ProjectsSection.tsx - src/lib/utils.ts
1 parent 418e0bc commit e636d5a

File tree

6 files changed

+24
-19
lines changed

6 files changed

+24
-19
lines changed

src/components/sections/AboutSection.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,11 @@ interface AboutContent {
3232

3333
// Typing animation content
3434
const typingContent = [
35-
{ greeting: "Hey, It's me, David! Just making sure you haven't gotten lost!", color: "text-primary-blue" },
36-
{ intro: "Welcome to my digital living room!", color: "text-primary-sunset-orange" },
37-
{ body: "Here you'll find the stories that shaped me and the quirks that make me... well, me!", color: "text-primary-yellow" },
38-
{ narrative: "Click around to discover what makes me tick beyond just lines of code.", color: "text-primary-magenta" }
35+
{ greeting: "Welcome to my digital living room!", color: "text-primary-blue" },
36+
{ intro: "Thanks for taking a look around!", color: "text-primary-green"},
37+
{ intro: "Here you'll find fun facts and stories that shaped me and the quirks that make me... well, me!", color: "text-primary-sunset-orange" },
38+
{ body: "Click the buttons below to discover what makes me tick beyond just lines of code.", color: "text-primary-yellow" },
39+
{ narrative: "Go on then! Enjoy!", color: "text-primary-magenta" }
3940
];
4041

4142
// About content - restructured for better engagement

src/components/sections/ContactSection.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import { getTerminalPath, getTypingFontSize, getLineText, getLineColor } from '@
1010

1111
// Typing animation content
1212
const typingContent = [
13-
{ greeting: "Still can't get enough, huh? Let's connect! 🤝", color: "text-primary-sunset-orange" },
13+
{ greeting: "Still can't get enough, huh?", color: "text-primary-sunset-orange" },
14+
{ intro: " Let's connect! 🤝", color: "text-primary-blue"},
1415
{ intro: "I'm always interested in new opportunities, collaborations, and interesting conversations.", color: "text-primary-magenta" },
1516
{ body: "I've got several options for you get in touch with me, scroll down and pick your preferred method!", color: "text-primary-yellow" },
1617
{ narrative: "I can't wait to hear from you! Cheers!", color: "text-primary-blue" }

src/components/sections/HeroSection.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
'use client'
22

33
import { useState, useEffect } from 'react'
4-
import { motion } from 'framer-motion'
54
import { usePathname } from 'next/navigation'
65
import { getTerminalPath, getTypingFontSize, getLineText, getLineColor } from '@/lib/utils'
76

87
// Content to be typed
98
const typingContent = [
109
{ greeting: "Welcome to David P Donohue.com!! I'm so happy you stopped by!", color: "text-primary-sunset-orange" },
1110
{ intro: "I'm David, and I'll be your guide as you explore my website!", color: "text-primary-blue" },
12-
{ body: "I am a Full Stack Web Developer,", color: "text-primary-magenta" },
13-
{ body: "a Project Manager,", color: "text-primary-magenta" },
14-
{ body: "an IT Professional,", color: "text-primary-magenta" },
15-
{ body: "and a human being.", color: "text-primary-magenta" },
16-
{ narrative: "I'm passionate about Healthcare, FinTech, Cybersecurity, Artificial Intelligence and creating elegant, functional solutions that solve real-world problems.", color: "text-primary-yellow" },
17-
{ narrative: "Use the navigation links at the top of the page to explore and learn more about me! Enjoy!", color: "text-primary-yellow" }
11+
{ body: "The site is divided up into 5 sections: Personal, Professional, Projects and Content amd Contact.", color: "text-primary-magenta" },
12+
{ body: "I'm a curious guy with interests and passions covering topics ranging from healthcare, fintech, cybersecurity, and artificial intelligence.", color: "text-primary-blue" },
13+
{ narrative: "To sports like tennis and soccer, traveling, and food to politics, philosohpy and religion", color: "text-primary-blue" },
14+
{ narrative: "Use the navigation links at the top of the page to explore and learn more about me!", color: "text-primary-yellow" },
15+
{ narrative: "Enjoy!", color: "text-primary-magenta" }
1816
];
1917

2018
export default function HeroSection() {

src/components/sections/ProfessionalSection.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@ import {
2121

2222
// Typing animation content
2323
const typingContent = [
24-
{ greeting: "Hi again! Guess you just couldn't get enough of me!! Lucky you and very lucky me!", color: "text-primary-yellow" },
25-
{ intro: "Let me welcome you to the Professional section of my website!", color: "text-primary-magenta" },
24+
{ greeting: "Still here? Sweet!", color: "text-primary-yellow" },
25+
{ intro: "Let me welcome you to the Professional section of my website!", color: "text-primary-blue" },
26+
{ body: "This is where you'll learn that I am a Full Stack Web Developer", color: "text-primary-magenta"},
27+
{ bosy: "a Project Manager", color: "text-primary-magenta"},
28+
{ body: "an IT Projessional", color: "text-primary-magenta"},
29+
{ body: "and a life long learner", color: "text-primary-magenta"},
2630
{ body: "Use the navigation buttons appearing shortly to learn all about my professional journey, skills, experience, education, and certifications.", color: "text-primary-blue" },
2731
{ narrative: "If you're interested, click on the piece of paper icon at the top right of the page to download a PDF version of my resume.", color: "text-primary-sunset-orange" },
2832
{ narrative: "Cheers!", color: "text-primary-blue" }

src/components/sections/ProjectsSection.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ import { getTerminalPath, getTypingFontSize, getLineText, getLineColor } from '@
1313
// Typing animation content
1414
const typingContent = [
1515
{ greeting: "Welcome to my project showcase! 🚀", color: "text-primary-sunset-orange" },
16-
{ intro: "These are the tools and applications I've built to solve real-world problems.", color: "text-primary-blue" },
16+
{ intro: "Here are the most recent projects I've worked on from my personal and professional life.", color: "text-primary-blue" },
1717
{ body: "Feel free to explore each one and check out the source code on GitHub.", color: "text-primary-magenta" },
18-
{ narrative: "Ready to dive in? Let's go!", color: "text-primary-yellow" }
18+
{ body: "Ready to dive in?", color: "text-primary-yellow" },
19+
{ narrative: "Have at it!", color: "text-primary-magenta" }
1920
];
2021

2122
// Projects content from JSON

src/lib/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@ export function getTerminalPath(pathname: string): string {
8888
export function getTypingFontSize(lineType: 'greeting' | 'intro' | 'body' | 'narrative' | string): string {
8989
switch (lineType) {
9090
case 'greeting':
91-
return "text-2xl md:text-3xl lg:text-4xl font-bold";
91+
return "text-2xl md:text-2xl lg:text-3xl font-bold";
9292
case 'intro':
93-
return "text-2xl font-bold";
93+
return "text-1xl md: text-1xl lg:text-2xl font-bold";
9494
case 'body':
9595
case 'narrative':
9696
default:
97-
return "text-lg";
97+
return "text-lxl font-bold";
9898
}
9999
}
100100

0 commit comments

Comments
 (0)