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:
2025-06-09 09:26:30 -03:00
parent b4f67449b5
commit a16374afd0
37 changed files with 8107 additions and 0 deletions

View 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">&copy; {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>
);
}