chore: create initial project snapshot
Capture the portfolio source, design references, and production assets with repository-specific ignore rules.
This commit is contained in:
92
src/components/FooterSection.tsx
Normal file
92
src/components/FooterSection.tsx
Normal file
@@ -0,0 +1,92 @@
|
||||
'use client';
|
||||
|
||||
import React from 'react';
|
||||
import Image from 'next/image';
|
||||
import { Phone, Send, Coffee } from 'lucide-react';
|
||||
import { useTheme } from '@/context/ThemeContext';
|
||||
import styles from './FooterSection.module.css';
|
||||
|
||||
export const FooterSection: React.FC = () => {
|
||||
const { theme } = useTheme();
|
||||
|
||||
return (
|
||||
<footer id="footer" className={styles.footerSection}>
|
||||
{/* Background artwork */}
|
||||
<div className={styles.bgContainer}>
|
||||
<Image
|
||||
src={
|
||||
theme === 'dark'
|
||||
? '/assets/footer-background-dark.png'
|
||||
: '/assets/footer-background 1.png'
|
||||
}
|
||||
alt="Footer mountains background"
|
||||
fill
|
||||
className={styles.bgImage}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Content */}
|
||||
<div className={styles.content}>
|
||||
<h2 className={`font-display ${styles.ctaTitle}`}>
|
||||
Let's build something meaningful.
|
||||
</h2>
|
||||
|
||||
<p className={styles.ctaSubtitle}>
|
||||
Open to opportunities and interesting projects.
|
||||
</p>
|
||||
|
||||
{/* 4 Social / Contact Links */}
|
||||
<div className={styles.socialRow}>
|
||||
{/* Phone */}
|
||||
<a href="tel:+989388263077" className={styles.socialItem}>
|
||||
<div className={styles.iconCircle}>
|
||||
<Phone size={24} />
|
||||
</div>
|
||||
<span className={styles.socialLabel}>09388263077</span>
|
||||
</a>
|
||||
|
||||
{/* LinkedIn */}
|
||||
<a
|
||||
href="https://linkedin.com/in/amiirkhl"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className={styles.socialItem}
|
||||
>
|
||||
<div className={styles.iconCircle}>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.46 8.76a1.64 1.64 0 0 0 1.64-1.64A1.64 1.64 0 0 0 6.46 5.5a1.64 1.64 0 0 0-1.64 1.62c0 .9.74 1.64 1.64 1.64m1.39 9.74v-8.37H5.07v8.37h2.78Z" />
|
||||
</svg>
|
||||
</div>
|
||||
<span className={styles.socialLabel}>@amiirkhl</span>
|
||||
</a>
|
||||
|
||||
{/* Git / Coffee */}
|
||||
<a
|
||||
href="https://git.amiirkhl.ir"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className={styles.socialItem}
|
||||
>
|
||||
<div className={styles.iconCircle}>
|
||||
<Coffee size={24} />
|
||||
</div>
|
||||
<span className={styles.socialLabel}>git.amiirkhl.ir</span>
|
||||
</a>
|
||||
|
||||
{/* Telegram */}
|
||||
<a
|
||||
href="https://t.me/amiirkhl"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className={styles.socialItem}
|
||||
>
|
||||
<div className={styles.iconCircle}>
|
||||
<Send size={24} />
|
||||
</div>
|
||||
<span className={styles.socialLabel}>@amiirkhl</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user