La sección Principal (Hero) es lo primero que ven los visitantes. Cada tema posee su propio diseño de Hero exclusivo con animaciones personalizadas, fondos y diseño propios.
Variantes del Tema
| Tema | Componente | Diseño |
|---|---|---|
| Liquid | HeroLiquid.astro | Formas (blobs) SVG animadas líquidas, texto en degradado |
| Glass | HeroGlass.astro | Tarjeta principal de cristal esmerilado con fondos desenfocados |
| Neo | HeroNeo.astro | Tipografía llamativa, alto contraste |
| Luxury | HeroLuxury.astro | Acentos dorados, diseño premium |
| Minimal | HeroMinimal.astro | Limpio, centrado, sin distracciones |
| Aurora | HeroAurora.astro | Malla en degradado, elementos geométricos |
Todas las variantes se encuentran en src/components/sections/hero/.
Cómo Funciona
Cada variante Hero es un componente Astro autónomo que:
- Importa e inicializa
useTranslations()para el idioma actual. - Renderiza su propia estructura HTML única con CSS específico para el tema.
- Carga claves (keys) de traducción como
hero.title,hero.subtitle,hero.ctayhero.liveBadgedesdesrc/locales/{lang}/hero.json.
---import { useTranslations } from '../../../utils/i18n';import { getLocaleFromUrl } from '../../../utils/locale-utils';
const locale = getLocaleFromUrl(Astro.url);const t = useTranslations(locale);---
<section> <h1>{t('hero.title')}</h1> <p>{t('hero.subtitle')}</p> <a href="#explore">{t('hero.cta')}</a></section>ℹ️
Sin Propiedades (Props)
Los componentes Hero no reciben propiedades externas. Para cambiar el titular, subtitular o texto del CTA, edita src/locales/es/hero.json (o el archivo de idioma correspondiente).
Personalizando un Hero
Para personalizar el componente Hero de un tema específico:
- Abre
src/components/sections/hero/Hero{Theme}.astro. - Modifica la estructura HTML, las clases o las animaciones según tus necesidades.
- Para los cambios en CSS, edita
src/styles/components/hero/Hero{Theme}.css. - Para los cambios de texto, edita
src/locales/{lang}/hero.json.