ADD new frontend

This commit is contained in:
Urtzi Alfaro
2025-08-28 10:41:04 +02:00
parent 9c247a5f99
commit 0fd273cfce
492 changed files with 114979 additions and 1632 deletions

View File

@@ -1,170 +1,27 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Primary Meta Tags -->
<title>PanIA - Inteligencia Artificial para tu Panadería en Madrid</title>
<meta name="title" content="PanIA - Inteligencia Artificial para tu Panadería en Madrid" />
<meta name="description" content="La primera IA diseñada para panaderías españolas. Reduce desperdicios hasta un 25%, aumenta ganancias y optimiza producción con predicciones precisas en Madrid." />
<meta name="keywords" content="inteligencia artificial panadería, predicción ventas panadería, IA para panaderías Madrid, sistema predicción panadería, optimización panadería, reducir desperdicios panadería" />
<meta name="author" content="PanIA Team" />
<meta name="robots" content="index, follow" />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://pania.es/" />
<meta property="og:title" content="PanIA - Inteligencia Artificial para tu Panadería en Madrid" />
<meta property="og:description" content="La primera IA diseñada para panaderías españolas. Reduce desperdicios hasta un 25% y optimiza tu producción con predicciones precisas." />
<meta property="og:image" content="https://pania.es/og-image.jpg" />
<meta property="og:locale" content="es_ES" />
<meta property="og:site_name" content="PanIA" />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content="https://pania.es/" />
<meta property="twitter:title" content="PanIA - Inteligencia Artificial para tu Panadería en Madrid" />
<meta property="twitter:description" content="La primera IA diseñada para panaderías españolas. Reduce desperdicios hasta un 25% y optimiza tu producción con predicciones precisas." />
<meta property="twitter:image" content="https://pania.es/twitter-image.jpg" />
<!-- Favicon -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<!-- Preconnect to important domains -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet" />
<!-- Local Business Schema.org markup -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "PanIA",
"description": "Inteligencia Artificial para panaderías en Madrid",
"url": "https://pania.es",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Web",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "EUR",
"description": "30 días de prueba gratuita"
},
"provider": {
"@type": "Organization",
"name": "PanIA",
"url": "https://pania.es",
"address": {
"@type": "PostalAddress",
"addressLocality": "Madrid",
"@country": "España"
}
},
"targetAudience": {
"@type": "Audience",
"name": "Panaderías en Madrid"
},
"featureList": [
"Predicciones de demanda con IA",
"Reducción de desperdicios",
"Optimización de producción",
"Gestión inteligente de pedidos"
]
}
</script>
<!-- Performance and Analytics -->
<link rel="dns-prefetch" href="//api.pania.es" />
<!-- Prevent FOUC (Flash of Unstyled Content) -->
<style>
/* Critical CSS for initial paint */
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
margin: 0;
padding: 0;
background-color: #fafafa;
}
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Plataforma inteligente de gestión para panaderías con predicción de demanda impulsada por IA" />
<meta name="theme-color" content="#f97316" />
/* Loading spinner for initial load */
.initial-loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #fff7ed 0%, #fed7aa 100%);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
}
<!-- PWA Meta Tags -->
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" href="/icons/icon-192.png" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
.loading-content {
text-align: center;
}
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600;700&display=swap" rel="stylesheet" />
.bakery-icon {
width: 80px;
height: 80px;
background: #f97316;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
font-size: 32px;
animation: pulse 2s ease-in-out infinite;
}
.loading-text {
color: #9a3412;
font-size: 18px;
font-weight: 500;
}
@keyframes pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.05); }
}
</style>
</head>
<body>
<!-- Initial loading screen -->
<div id="initial-loading" class="initial-loading">
<div class="loading-content">
<div class="bakery-icon">🥖</div>
<div class="loading-text">Cargando PanIA...</div>
</div>
</div>
<!-- React app container -->
<div id="root"></div>
<!-- Hide loading screen once React loads -->
<script>
// Hide loading screen when React app is ready
window.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
const loadingScreen = document.getElementById('initial-loading');
if (loadingScreen) {
loadingScreen.style.opacity = '0';
loadingScreen.style.transition = 'opacity 0.5s ease-out';
setTimeout(() => {
loadingScreen.style.display = 'none';
}, 500);
}
}, 1000); // Show loading for at least 1 second
});
</script>
<!-- Main application script -->
<script type="module" src="/src/main.tsx"></script>
</body>
<title>Bakery AI - Gestión Inteligente para Panaderías</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>