From d0db4bec08ba788366a6c28765e2ed002343f18a Mon Sep 17 00:00:00 2001 From: Sean O'Connor Date: Fri, 1 Aug 2025 03:23:55 -0400 Subject: [PATCH] Add equal height card styling and layout improvements --- src/app/page.tsx | 70 ++++++++++++------------- src/app/projects/accessibility/page.tsx | 32 +++++------ src/app/projects/latex-intro/page.tsx | 26 ++++----- src/app/projects/page.tsx | 6 +-- src/app/travel/page.tsx | 18 ++++--- src/styles/globals.css | 17 ++++++ 6 files changed, 94 insertions(+), 75 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index c2b88d9..1d667b8 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -65,9 +65,9 @@ export default function HomePage() { {/* Current Focus */}

Current Focus

-
+
- +
@@ -76,7 +76,7 @@ export default function HomePage() {
- +

Developing a web-based platform for HRI experiments that addresses reproducibility challenges in Wizard-of-Oz studies. @@ -88,14 +88,14 @@ export default function HomePage() {

- +
Academic Excellence
- +

Bachelor of Science in Computer Science and Engineering at Bucknell University. 3.86 Engineering GPA, Dean's List @@ -112,7 +112,7 @@ export default function HomePage() {

Experience Highlights

- +
@@ -192,13 +192,13 @@ export default function HomePage() { Technical Skills -
+
- + Languages & Frameworks - +

Java, C/C++, Python, JavaScript/TypeScript, React, Next.js, PHP, SQL @@ -208,11 +208,11 @@ export default function HomePage() {

- + Backend & DevOps - +

REST APIs, MySQL, PostgreSQL, Docker, Apache Web Server, NGINX, ROS2 @@ -222,11 +222,11 @@ export default function HomePage() {

- + Cloud & Infrastructure - +

AWS, GCP, Azure, Backblaze, Linux (RHEL/Debian), CI/CD

@@ -235,11 +235,11 @@ export default function HomePage() {
- + Development Tools - +

Git, JetBrains Suite, VS Code, Cursor, Linux CLI

@@ -255,9 +255,9 @@ export default function HomePage() { Leadership & Activities -
+
- + AIChE Chem-E-Car Competition Team @@ -266,7 +266,7 @@ export default function HomePage() { Former President, Electrical and Mechanical Team Lead - +

Pioneered team's first custom hardware solution by designing and fabricating a microcontroller-based control @@ -278,12 +278,12 @@ export default function HomePage() {

- + Bucknell Coffee Society Treasurer - +

Co-established and launched a new campus organization, managing financial operations and coordinating event @@ -294,12 +294,12 @@ export default function HomePage() {

- + RoboLab@Bucknell Founding Member - +

Led and participated in group discussions in a new lab bridging computer science and psychology perspectives on @@ -315,12 +315,12 @@ export default function HomePage() { {/* Quick Links */}

Explore More

-
+
- - - -
+ + + +
@@ -338,10 +338,10 @@ export default function HomePage() {
- - - -
+ + + +
@@ -359,10 +359,10 @@ export default function HomePage() {
- - - -
+ + + +
diff --git a/src/app/projects/accessibility/page.tsx b/src/app/projects/accessibility/page.tsx index 5346a17..1e58932 100644 --- a/src/app/projects/accessibility/page.tsx +++ b/src/app/projects/accessibility/page.tsx @@ -88,17 +88,17 @@ export default function AccessibilityPage() {

Implemented Features

-
+
{/* Image Alt Text */}
- + Image Accessibility - +

All images include descriptive alt text for screen readers

@@ -107,14 +107,14 @@ export default function AccessibilityPage() {
- + Keyboard Navigation - +

Full keyboard support for all interactive elements

@@ -127,16 +127,16 @@ export default function AccessibilityPage() { {/* Additional Features */}

Additional Features

-
+
{/* Video Accessibility */} - + Video Accessibility - +

Custom video player with comprehensive accessibility features.

@@ -158,7 +158,7 @@ export default function AccessibilityPage() {
{/* Semantic HTML */} - + @@ -225,7 +225,7 @@ export default function AccessibilityPage() { Custom Components - +

Built custom accessible components to ensure consistent user experience across the site. @@ -335,15 +335,15 @@ export default function AccessibilityPage() { {/* Resources */}

Accessibility Resources

-
- +
+ - +
@@ -360,14 +360,14 @@ export default function AccessibilityPage() { - + - +
@@ -398,7 +398,7 @@ export default function AccessibilityPage() { with user feedback and updated standards.

-
+

Regular Testing

    diff --git a/src/app/projects/latex-intro/page.tsx b/src/app/projects/latex-intro/page.tsx index 00c323b..dc0c9a5 100644 --- a/src/app/projects/latex-intro/page.tsx +++ b/src/app/projects/latex-intro/page.tsx @@ -76,16 +76,16 @@ export default function LatexTutorialPage() { {/* What You'll Learn */}

    What You'll Learn

    -
    +
    - + Getting Started - +
    • • Setting up Overleaf
    • • Basic document structure
    • @@ -97,14 +97,14 @@ export default function LatexTutorialPage() {
    - + Core Features - +
    • • Mathematical equations
    • • Document organization
    • @@ -128,7 +128,7 @@ export default function LatexTutorialPage() { and engineering fields.

      -
      +

      Academic Excellence

        @@ -153,15 +153,15 @@ export default function LatexTutorialPage() { {/* Resources */}

        Essential Resources

        -
        - +
        + - +
        @@ -178,14 +178,14 @@ export default function LatexTutorialPage() { - + - +
        @@ -202,14 +202,14 @@ export default function LatexTutorialPage() { - + - +
        diff --git a/src/app/projects/page.tsx b/src/app/projects/page.tsx index 4636205..215d78f 100644 --- a/src/app/projects/page.tsx +++ b/src/app/projects/page.tsx @@ -76,7 +76,7 @@ export default function ProjectsPage() { )} {/* Project Content */} -
        +
        @@ -148,7 +148,7 @@ export default function ProjectsPage() { {otherProjects.length > 0 && (

        Additional Projects

        -
        +
        {loading ? ( <> @@ -160,7 +160,7 @@ export default function ProjectsPage() { key={index} className={`animate-fade-in-up-delay-${Math.min(index + 1, 4)} card-hover`} > - + {project.image && (
        -
        +
        {loading ? ( <> @@ -54,7 +54,7 @@ export default function TripsPage() { key={index} className={`animate-fade-in-up-delay-${Math.min(index + 3, 4)} card-hover`} > - +
        @@ -76,12 +76,14 @@ export default function TripsPage() {
        - -
        - {trip.title} - - {trip.description} - + +
        +
        + {trip.title} + + {trip.description} + +
        {/* Show badges for tags */}
        {trip.tags.map((tag, tagIndex) => ( diff --git a/src/styles/globals.css b/src/styles/globals.css index e0933ef..9869d19 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -240,6 +240,23 @@ body { transform: translateY(-2px); box-shadow: 0 4px 8px hsl(var(--foreground) / 0.1); } + + /* Equal height cards in grid layouts */ + .grid-equal-height > * { + height: 100%; + } + + .card-full-height { + height: 100%; + display: flex; + flex-direction: column; + } + + .card-content-stretch { + flex: 1; + display: flex; + flex-direction: column; + } } @keyframes fadeIn {