Improve public pages

This commit is contained in:
Urtzi Alfaro
2025-10-17 18:14:28 +02:00
parent d4060962e4
commit 7e089b80cf
46 changed files with 5734 additions and 1084 deletions

View File

@@ -194,10 +194,9 @@ export const Footer = forwardRef<FooterRef, FooterProps>(({
id: 'company',
title: t('common:footer.sections.company', 'Empresa'),
links: [
{ id: 'about', label: t('common:footer.links.about', 'Acerca de'), href: '/about', external: true },
{ id: 'blog', label: t('common:footer.links.blog', 'Blog'), href: 'https://blog.panaderia-ia.com', external: true },
{ id: 'careers', label: t('common:footer.links.careers', 'Carreras'), href: 'https://careers.panaderia-ia.com', external: true },
{ id: 'press', label: t('common:footer.links.press', 'Prensa'), href: '/press', external: true },
{ id: 'about', label: t('common:footer.links.about', 'Acerca de'), href: '/about' },
{ id: 'blog', label: t('common:footer.links.blog', 'Blog'), href: '/blog' },
{ id: 'careers', label: t('common:footer.links.careers', 'Carreras'), href: '/careers' },
],
},
];

View File

@@ -1,6 +1,7 @@
import React, { forwardRef } from 'react';
import { clsx } from 'clsx';
import { Link } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import { Button, ThemeToggle } from '../../ui';
import { CompactLanguageSelector } from '../../ui/LanguageSelector';
@@ -62,6 +63,7 @@ export const PublicHeader = forwardRef<PublicHeaderRef, PublicHeaderProps>(({
navigationItems = [],
variant = 'default',
}, ref) => {
const { t } = useTranslation();
const headerRef = React.useRef<HTMLDivElement>(null);
// Default navigation items
@@ -180,7 +182,7 @@ export const PublicHeader = forwardRef<PublicHeaderRef, PublicHeaderProps>(({
size="md"
className="hidden sm:inline-flex font-medium hover:bg-[var(--bg-secondary)] transition-all duration-200"
>
Iniciar Sesión
{t('common:header.login')}
</Button>
</Link>
<Link to="/register">
@@ -188,8 +190,8 @@ export const PublicHeader = forwardRef<PublicHeaderRef, PublicHeaderProps>(({
size="md"
className="bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-primary-dark)] hover:opacity-90 text-white font-semibold shadow-lg hover:shadow-xl transition-all duration-200 px-6"
>
<span className="hidden sm:inline">Comenzar Gratis</span>
<span className="sm:hidden">Registro</span>
<span className="hidden sm:inline">{t('common:header.start_free')}</span>
<span className="sm:hidden">{t('common:header.register')}</span>
</Button>
</Link>
</div>
@@ -210,7 +212,7 @@ export const PublicHeader = forwardRef<PublicHeaderRef, PublicHeaderProps>(({
variant="ghost"
size="sm"
className="p-2"
aria-label="Abrir menú de navegación"
aria-label={t('common:header.open_menu')}
onClick={() => {
// TODO: Implement mobile menu
console.log('Mobile menu toggle');
@@ -237,7 +239,7 @@ export const PublicHeader = forwardRef<PublicHeaderRef, PublicHeaderProps>(({
{showLanguageSelector && (
<div className="py-2 border-b border-[var(--border-primary)] sm:hidden">
<div className="text-sm font-medium text-[var(--text-secondary)] mb-2">
Idioma
{t('common:header.language')}
</div>
<CompactLanguageSelector className="w-full" />
</div>
@@ -252,7 +254,7 @@ export const PublicHeader = forwardRef<PublicHeaderRef, PublicHeaderProps>(({
size="md"
className="w-full font-medium border border-[var(--border-primary)] hover:bg-[var(--bg-secondary)]"
>
Iniciar Sesión
{t('common:header.login')}
</Button>
</Link>
<Link to="/register">
@@ -260,7 +262,7 @@ export const PublicHeader = forwardRef<PublicHeaderRef, PublicHeaderProps>(({
size="md"
className="w-full bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-primary-dark)] hover:opacity-90 text-white font-semibold shadow-lg"
>
Comenzar Gratis
{t('common:header.start_free')}
</Button>
</Link>
</div>