feat: initialize frontend with Next.js, Tailwind CSS, and internationalization support
- Added package.json for project dependencies and scripts - Configured PostCSS with Tailwind CSS - Created global styles and theme context for dark mode support - Implemented layout and routing for internationalization using next-intl - Developed main components: Header, Footer, Hero, About, Skills, Projects, Contact - Added language switcher and contact form with validation - Created project card component to display project details - Set up localization files for English and Portuguese - Configured Tailwind CSS for styling and responsive design - Added favicon and logo assets
This commit is contained in:
26
frontend/src/app/components/Footer.tsx
Normal file
26
frontend/src/app/components/Footer.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { useTranslations } from 'next-intl';
|
||||
import Link from 'next/link';
|
||||
import { FaGithub, FaLinkedin, FaTwitter } from 'react-icons/fa';
|
||||
|
||||
export default function Footer() {
|
||||
const t = useTranslations('footer');
|
||||
|
||||
return (
|
||||
<footer className="border-t border-[var(--color-border)] py-8 text-[var(--color-text-secondary)]">
|
||||
<div className="container mx-auto flex flex-col md:flex-row justify-between items-center gap-4 px-4 sm:px-6 lg:px-8">
|
||||
<p className="text-sm">© {new Date().getFullYear()} João Loureiro. {t('copyright')}</p>
|
||||
<div className="flex items-center space-x-4">
|
||||
<Link href="#" aria-label="GitHub" target="_blank" className="hover:text-[var(--color-primary)] transition-colors">
|
||||
<FaGithub size={20} />
|
||||
</Link>
|
||||
<Link href="#" aria-label="LinkedIn" target="_blank" className="hover:text-[var(--color-primary)] transition-colors">
|
||||
<FaLinkedin size={20} />
|
||||
</Link>
|
||||
<Link href="#" aria-label="Twitter" target="_blank" className="hover:text-[var(--color-primary)] transition-colors">
|
||||
<FaTwitter size={20} />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user