refactor(footer): improve contact actions and restore brand icons

This commit is contained in:
2026-09-06 21:59:26 +03:30
parent 31a52fed2d
commit 74019cba66
2 changed files with 28 additions and 11 deletions

View File

@@ -2,7 +2,7 @@
position: relative; position: relative;
width: 100%; width: 100%;
max-width: var(--layout-frame); max-width: var(--layout-frame);
height: 30rem; height: 34rem;
overflow: hidden; overflow: hidden;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -16,7 +16,7 @@
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
height: 30rem; height: 34rem;
z-index: 1; z-index: 1;
} }
@@ -49,7 +49,12 @@
color: var(--text-secondary); color: var(--text-secondary);
font-weight: 500; font-weight: 500;
letter-spacing: var(--letter-spacing-eyebrow); letter-spacing: var(--letter-spacing-eyebrow);
margin-bottom: 1.5rem; margin-bottom: 1.25rem;
}
.emailButton {
min-height: 3rem;
margin-bottom: 2rem;
} }
.socialRow { .socialRow {
@@ -68,6 +73,8 @@
transition: transition:
color var(--motion-duration-fast) ease, color var(--motion-duration-fast) ease,
transform var(--motion-duration-default) var(--motion-ease-out); transform var(--motion-duration-default) var(--motion-ease-out);
min-width: 5rem;
min-height: 4.75rem;
} }
.socialItem:focus-visible { .socialItem:focus-visible {
@@ -89,9 +96,10 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
fill: currentColor; fill: currentColor;
stroke: none;
} }
.giteaCutout { .socialIcon .giteaCutout {
fill: var(--bg-page); fill: var(--bg-page);
} }
@@ -105,7 +113,7 @@
@media (max-width: 900px) { @media (max-width: 900px) {
.footerSection { .footerSection {
height: auto; height: auto;
min-height: 30rem; min-height: 34rem;
padding: var(--space-10) var(--layout-page-gutter) var(--space-9); padding: var(--space-10) var(--layout-page-gutter) var(--space-9);
} }
@@ -127,7 +135,7 @@
@media (max-width: 560px) { @media (max-width: 560px) {
.footerSection { .footerSection {
min-height: 35rem; min-height: 38rem;
padding-top: var(--space-9); padding-top: var(--space-9);
} }
@@ -144,6 +152,11 @@
letter-spacing: 0.08em; letter-spacing: 0.08em;
} }
.emailButton {
width: 100%;
max-width: 20rem;
}
.socialRow { .socialRow {
display: grid; display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr));

View File

@@ -2,6 +2,7 @@
import React from 'react'; import React from 'react';
import Image from 'next/image'; import Image from 'next/image';
import { Mail } from 'lucide-react';
import { useTheme } from '@/context/ThemeContext'; import { useTheme } from '@/context/ThemeContext';
import styles from './FooterSection.module.css'; import styles from './FooterSection.module.css';
@@ -61,42 +62,45 @@ export const FooterSection: React.FC = () => {
Open to opportunities and interesting projects. Open to opportunities and interesting projects.
</p> </p>
{/* 4 Social / Contact Links */} <a href="mailto:amirhosseinkhalili901@gmail.com" className={`pill-btn pill-btn-primary ${styles.emailButton}`}>
<Mail size={19} strokeWidth={2} aria-hidden="true" />
Send me an email
</a>
<div className={styles.socialRow}> <div className={styles.socialRow}>
{/* Phone */}
<a href="tel:+989388263077" className={styles.socialItem} aria-label="Call 09388263077"> <a href="tel:+989388263077" className={styles.socialItem} aria-label="Call 09388263077">
<span className={styles.socialIcon}><PhoneIcon /></span> <span className={styles.socialIcon}><PhoneIcon /></span>
<span className={styles.socialLabel}>09388263077</span> <span className={styles.socialLabel}>09388263077</span>
</a> </a>
{/* LinkedIn */}
<a <a
href="https://linkedin.com/in/amiirkhl" href="https://linkedin.com/in/amiirkhl"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className={styles.socialItem} className={styles.socialItem}
aria-label="LinkedIn profile"
> >
<span className={styles.socialIcon}><LinkedInIcon /></span> <span className={styles.socialIcon}><LinkedInIcon /></span>
<span className={styles.socialLabel}>@amiirkhl</span> <span className={styles.socialLabel}>@amiirkhl</span>
</a> </a>
{/* Git / Coffee */}
<a <a
href="https://git.amiirkhl.ir" href="https://git.amiirkhl.ir"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className={styles.socialItem} className={styles.socialItem}
aria-label="Personal Git server"
> >
<span className={styles.socialIcon}><GiteaIcon /></span> <span className={styles.socialIcon}><GiteaIcon /></span>
<span className={styles.socialLabel}>git.amiirkhl.ir</span> <span className={styles.socialLabel}>git.amiirkhl.ir</span>
</a> </a>
{/* Telegram */}
<a <a
href="https://t.me/amiirkhl" href="https://t.me/amiirkhl"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className={styles.socialItem} className={styles.socialItem}
aria-label="Telegram profile"
> >
<span className={styles.socialIcon}><TelegramIcon /></span> <span className={styles.socialIcon}><TelegramIcon /></span>
<span className={styles.socialLabel}>@amiirkhl</span> <span className={styles.socialLabel}>@amiirkhl</span>