Update requirements and insfra versions

This commit is contained in:
Urtzi Alfaro
2025-10-17 23:09:40 +02:00
parent 7e089b80cf
commit 312e36c893
81 changed files with 524 additions and 476 deletions

View File

@@ -76,7 +76,7 @@ const LandingPage: React.FC = () => {
</h1>
<p className="mt-6 max-w-3xl mx-auto text-lg text-[var(--text-secondary)] sm:text-xl">
{t('landing:hero.subtitle', 'Plataforma de IA diseñada para panaderías artesanales que quieren producir exactamente lo que van a vender. Reduce desperdicio alimentario, mejora márgenes y ahorra tiempo en planificación. 100% española, tus datos son tuyos.')}
{t('landing:hero.subtitle', 'Plataforma de IA diseñada para panaderías que quieren producir exactamente lo que van a vender. Reduce desperdicio alimentario, mejora márgenes y ahorra tiempo en planificación. 100% española, tus datos son tuyos.')}
</p>
{/* Pilot Launch Banner */}
@@ -202,7 +202,7 @@ const LandingPage: React.FC = () => {
<Award className="w-6 h-6 text-green-600 dark:text-green-400" />
</div>
<div className="text-lg font-bold text-[var(--text-primary)]">Founders Beta</div>
<div className="text-sm text-[var(--text-secondary)] mt-2">Acceso de por vida con 40% descuento</div>
<div className="text-sm text-[var(--text-secondary)] mt-2">Acceso de por vida con 20% descuento</div>
</div>
<div className="text-center p-6 bg-white dark:bg-gray-800 rounded-xl shadow-sm">
@@ -353,7 +353,7 @@ const LandingPage: React.FC = () => {
<div className="mt-6">
<h3 className="text-xl font-bold text-[var(--text-primary)]">IA Avanzada de Predicción</h3>
<p className="mt-4 text-[var(--text-secondary)]">
Algoritmos de machine learning de última generación analizan patrones históricos, clima, eventos y tendencias para predecir demanda con precisión quirúrgica.
Algoritmos de Inteligencia Artificial de última generación analizan patrones históricos, clima, eventos y tendencias para predecir demanda con precisión quirúrgica.
</p>
<div className="mt-6 space-y-3">
<div className="flex items-center text-sm">
@@ -550,7 +550,7 @@ const LandingPage: React.FC = () => {
<div className="text-center mb-16">
<h2 className="text-3xl lg:text-4xl font-extrabold text-[var(--text-primary)]">
El Problema Que Resolvemos
<span className="block text-[var(--color-primary)]">Para Panaderías Artesanales</span>
<span className="block text-[var(--color-primary)]">Para Panaderías</span>
</h2>
<p className="mt-6 text-lg text-[var(--text-secondary)] max-w-3xl mx-auto">
Sabemos lo frustrante que es tirar pan al final del día, o quedarte sin producto cuando llegan clientes.
@@ -687,7 +687,7 @@ const LandingPage: React.FC = () => {
Sin Riesgo. Sin Ataduras.
</h2>
<p className="mt-4 max-w-2xl mx-auto text-lg text-[var(--text-secondary)]">
Somos transparentes: esto es un piloto. Estamos construyendo la mejor herramienta para panaderías artesanales, y necesitamos tu ayuda.
Somos transparentes: esto es un piloto. Estamos construyendo la mejor herramienta para panaderías, y necesitamos tu ayuda.
</p>
</div>
@@ -707,7 +707,7 @@ const LandingPage: React.FC = () => {
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
<span className="text-[var(--text-secondary)]"><strong>40% de descuento de por vida</strong> si decides continuar después del piloto</span>
<span className="text-[var(--text-secondary)]"><strong>20% de descuento de por vida</strong> si decides continuar después del piloto</span>
</li>
<li className="flex items-start gap-3">
<Check className="w-5 h-5 text-green-600 dark:text-green-400 mt-1 flex-shrink-0" />
@@ -797,7 +797,7 @@ const LandingPage: React.FC = () => {
</div>
<h4 className="font-semibold text-[var(--text-primary)] mb-2">Equipo Experto</h4>
<p className="text-sm text-[var(--text-secondary)]">
Fundadores con experiencia en IA + hostelería. Conocemos el sector de dentro.
Fundadores con experiencia en proyectos de alto valor tecnológico + proyectos internacionales.
</p>
</div>
</div>
@@ -896,30 +896,35 @@ const LandingPage: React.FC = () => {
<span className="block text-white/90 mt-2">En Probar Esta Tecnología</span>
</h2>
<p className="mt-6 text-lg text-white/90 max-w-2xl mx-auto">
No es para todo el mundo. Buscamos panaderías artesanales que quieran <strong>reducir desperdicios y aumentar ganancias</strong>
No es para todo el mundo. Buscamos panaderías que quieran <strong>reducir desperdicios y aumentar ganancias</strong>
con ayuda de IA, a cambio de feedback honesto.
</p>
<div className="mt-10 flex flex-col sm:flex-row gap-6 justify-center">
<Link to="/register?pilot=true">
<Button
size="lg"
className="px-10 py-5 text-lg font-bold bg-white text-[var(--color-primary)] hover:bg-[var(--bg-tertiary)] shadow-2xl hover:shadow-3xl transform hover:scale-105 transition-all duration-200 rounded-xl"
>
Solicitar Plaza en el Piloto
<ArrowRight className="ml-2 w-6 h-6" />
</Button>
</Link>
<Link to="/demo">
<Button
size="lg"
variant="outline"
className="px-10 py-5 text-lg font-semibold border-2 border-white text-white hover:bg-white hover:text-[var(--color-primary)] transition-all duration-200 rounded-xl"
>
<Play className="mr-2 w-5 h-5" />
Ver Cómo Funciona
</Button>
</Link>
<Link to="/register?pilot=true" className="w-full sm:w-auto">
<Button
size="lg"
className="w-full sm:w-auto group relative px-10 py-5 text-lg font-bold bg-gradient-to-r from-[var(--color-primary)] to-orange-600 hover:from-[var(--color-primary-dark)] hover:to-orange-700 text-white shadow-2xl hover:shadow-3xl transform hover:scale-105 transition-all duration-300 rounded-xl overflow-hidden"
>
<span className="absolute inset-0 w-full h-full bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-100%] group-hover:translate-x-[100%] transition-transform duration-700"></span>
<span className="relative flex items-center justify-center gap-2">
Solicitar Plaza en el Piloto
<ArrowRight className="w-6 h-6 group-hover:translate-x-1 transition-transform duration-200" />
</span>
</Button>
</Link>
<Link to="/demo" className="w-full sm:w-auto">
<Button
variant="outline"
size="lg"
className="w-full sm:w-auto group px-10 py-5 text-lg font-semibold border-3 border-[var(--color-primary)] text-[var(--text-primary)] hover:bg-[var(--color-primary)] hover:text-white hover:border-[var(--color-primary-dark)] shadow-lg hover:shadow-xl transition-all duration-300 rounded-xl backdrop-blur-sm bg-white/50 dark:bg-gray-800/50"
>
<span className="flex items-center justify-center gap-2">
<Play className="w-5 h-5 group-hover:scale-110 transition-transform duration-200" />
{t('landing:hero.cta_secondary', 'Ver Demo')}
</span>
</Button>
</Link>
</div>
{/* Social Proof Alternative - Loss Aversion */}
@@ -930,7 +935,7 @@ const LandingPage: React.FC = () => {
<div className="grid grid-cols-1 sm:grid-cols-3 gap-6 text-sm">
<div className="flex flex-col items-center">
<Award className="w-8 h-8 text-white mb-2" />
<div className="text-white font-semibold">40% descuento de por vida</div>
<div className="text-white font-semibold">20% descuento de por vida</div>
<div className="text-white/70">Solo primeros 20</div>
</div>
<div className="flex flex-col items-center">