style(credentials): refine education and certificate cards

This commit is contained in:
2026-09-06 21:59:06 +03:30
parent 224a36f3a2
commit f86cfe9725
5 changed files with 16 additions and 15 deletions

View File

@@ -7,24 +7,25 @@
.card { .card {
width: 100%; width: 100%;
background-color: transparent; background-color: var(--bg-raised);
border: 1px solid var(--border-default); border: 1px solid var(--border-default);
border-radius: var(--radius-lg); border-radius: var(--radius-lg);
padding: 1.5rem 2rem; padding: 2rem 2.5rem;
display: flex; display: flex;
align-items: center; align-items: flex-start;
gap: 2.25rem; gap: 2.25rem;
transition: transition:
border-color var(--motion-duration-fast) ease, border-color var(--motion-duration-fast) ease,
transform var(--motion-duration-default) var(--motion-ease-out); transform var(--motion-duration-default) var(--motion-ease-out);
box-shadow: 0 0.75rem 2.5rem var(--shadow-color);
} }
.crestCol { .crestCol {
width: 16.5rem; width: 16.5rem;
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;
align-items: center; align-items: flex-start;
justify-content: center; justify-content: flex-start;
} }
.crestContainer { .crestContainer {
@@ -38,6 +39,7 @@
.crestImage { .crestImage {
object-fit: contain; object-fit: contain;
object-position: left top;
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
@@ -77,13 +79,14 @@
} }
.description { .description {
max-width: 72ch;
font-size: var(--font-size-body-default); font-size: var(--font-size-body-default);
line-height: var(--line-height-body-default); line-height: var(--line-height-body-default);
color: var(--text-secondary); color: var(--text-secondary);
} }
[data-theme="dark"] .card { [data-theme="dark"] .card {
background-color: var(--bg-surface); background-color: var(--bg-raised);
} }
@media (max-width: 760px) { @media (max-width: 760px) {

View File

@@ -1,5 +1,3 @@
'use client';
import React from 'react'; import React from 'react';
import Image from 'next/image'; import Image from 'next/image';
import { education } from '@/data/education'; import { education } from '@/data/education';
@@ -9,9 +7,7 @@ export const EducationSection: React.FC = () => {
return ( return (
<section id="education" className={styles.educationSection}> <section id="education" className={styles.educationSection}>
<div className="content-container"> <div className="content-container">
{/* Section Header */}
<div className="section-header"> <div className="section-header">
<span className="section-eyebrow">EDUCATION</span>
<div className="section-title-wrap"> <div className="section-title-wrap">
<h2 className="section-title">Where I Built the Foundation</h2> <h2 className="section-title">Where I Built the Foundation</h2>
<div className="section-underline" /> <div className="section-underline" />

View File

@@ -13,7 +13,7 @@
.certCard { .certCard {
width: 100%; width: 100%;
background-color: transparent; background-color: var(--bg-raised);
border: 1px solid var(--border-default); border: 1px solid var(--border-default);
border-radius: var(--radius-lg); border-radius: var(--radius-lg);
padding: 1.5rem 2rem; padding: 1.5rem 2rem;
@@ -102,10 +102,11 @@
font-weight: 600; font-weight: 600;
color: var(--action-link); color: var(--action-link);
transition: gap 0.2s ease; transition: gap 0.2s ease;
min-height: 2.75rem;
} }
[data-theme="dark"] .certCard { [data-theme="dark"] .certCard {
background-color: var(--bg-surface); background-color: var(--bg-raised);
} }
@media (max-width: 760px) { @media (max-width: 760px) {

View File

@@ -50,13 +50,14 @@ export const MilestonesSection: React.FC = () => {
{/* View Certificate Link */} {/* View Certificate Link */}
<div className={styles.actionRow}> <div className={styles.actionRow}>
<a <a
href={item.link || '#'} href={item.link && item.link !== '#' ? item.link : item.image}
className={styles.viewCertLink} className={styles.viewCertLink}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
aria-label={`View ${item.title} certificate`}
> >
<span>View certificate</span> <span>View certificate</span>
<ExternalLink size={20} strokeWidth={2.25} /> <ExternalLink size={20} strokeWidth={2.25} aria-hidden="true" />
</a> </a>
</div> </div>
</div> </div>

View File

@@ -55,7 +55,7 @@ export const milestones: MilestoneItem[] = [
issuer: 'Quera.org', issuer: 'Quera.org',
date: 'NOVEMBER 2024', date: 'NOVEMBER 2024',
description: description:
'This bootcamp strengthened my foundations in backend development and helped turn my knowledge of Python into practical web engineering skills. Through Django, I developed a deeper understanding of backend architecture, databases, APIs, authentication, and building maintainable server-side applications—skills that later became a major part of my software engineering work.', 'This bootcamp strengthened my foundations in backend development and helped turn my knowledge of Python into practical web engineering skills. Through Django, I developed a deeper understanding of backend architecture, databases, APIs, authentication, and building maintainable server-side applications. These skills later became a major part of my software engineering work.',
image: '/images/cert-django.png', image: '/images/cert-django.png',
link: '#', link: '#',
}, },