diff --git a/frontend/public/landing-bg.png b/frontend/public/landing-bg.png new file mode 100644 index 0000000..09a4f4f Binary files /dev/null and b/frontend/public/landing-bg.png differ diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json index 6924b44..cbc6194 100644 --- a/frontend/src/i18n/locales/en.json +++ b/frontend/src/i18n/locales/en.json @@ -375,5 +375,36 @@ "error": "There was an error sending the report. Please try again.", "cancel": "Cancel", "send": "Send Report" + }, + "landing": { + "hero": { + "title": "The city in your hands", + "tagline": "The entire transport network and local offers in one place.", + "launchApp": "Launch Application", + "howToInstall": "How to install?" + }, + "features": { + "realtime": "Real-Time", + "realtimeDesc": "Track buses and check exact schedules.", + "localOffers": "Local Offers", + "localOffersDesc": "Save with exclusive discounts at local stores.", + "noDownload": "No Downloads", + "noDownloadDesc": "Install instantly without taking up space." + }, + "install": { + "title": "Install SIB on your mobile", + "ios": "For iPhone (Safari)", + "iosStep1": "Tap the 'Share' icon in Safari.", + "iosStep2": "Select 'Add to Home Screen'.", + "iosStep3": "Confirm by tapping 'Add'.", + "android": "For Android (Chrome)", + "androidStep1": "Tap the 3 dots in the top corner.", + "androidStep2": "Select 'Install app'.", + "androidStep3": "Confirm the installation." + }, + "footer": { + "rights": "© 2026 SIB System. All rights reserved.", + "dev": "Developed for smart mobility." + } } } \ No newline at end of file diff --git a/frontend/src/i18n/locales/es.json b/frontend/src/i18n/locales/es.json index 16dddc6..9270d6b 100644 --- a/frontend/src/i18n/locales/es.json +++ b/frontend/src/i18n/locales/es.json @@ -379,5 +379,36 @@ "error": "Hubo un error al enviar el reporte. Por favor, intenta de nuevo.", "cancel": "Cancelar", "send": "Enviar Reporte" + }, + "landing": { + "hero": { + "title": "La ciudad en tus manos", + "tagline": "Toda la red de transporte y ofertas locales en un solo lugar.", + "launchApp": "Lanzar Aplicación", + "howToInstall": "¿Cómo instalar?" + }, + "features": { + "realtime": "Tiempo Real", + "realtimeDesc": "Rastrea buses y consulta horarios exactos.", + "localOffers": "Ofertas Locales", + "localOffersDesc": "Ahorra con descuentos exclusivos en comercios.", + "noDownload": "Sin Descargas", + "noDownloadDesc": "Instálalo al instante sin ocupar espacio." + }, + "install": { + "title": "Instala SIB en tu móvil", + "ios": "Para iPhone (Safari)", + "iosStep1": "Toca el icono de 'Compartir' en Safari.", + "iosStep2": "Selecciona 'Agregar a la pantalla de inicio'.", + "iosStep3": "Confirma tocando 'Agregar'.", + "android": "Para Android (Chrome)", + "androidStep1": "Toca los 3 puntos en la esquina superior.", + "androidStep2": "Selecciona 'Instalar aplicación'.", + "androidStep3": "Confirma la instalación." + }, + "footer": { + "rights": "© 2026 SIB System. Todos los derechos reservados.", + "dev": "Desarrollado para la movilidad inteligente." + } } } \ No newline at end of file diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 7755cdd..aa782dd 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -9,6 +9,11 @@ const router = createRouter({ // ─── Vistas Públicas Core ─────────────────────────────────────────── { path: '/', + name: 'landing', + component: () => import('@/views/LandingView.vue'), + }, + { + path: '/splash', name: 'splash', component: () => import('@/views/SplashScreen.vue'), }, diff --git a/frontend/src/views/LandingView.vue b/frontend/src/views/LandingView.vue new file mode 100644 index 0000000..c7b39d3 --- /dev/null +++ b/frontend/src/views/LandingView.vue @@ -0,0 +1,552 @@ + + + + + diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index eddd03d..ee3e001 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -30,7 +30,7 @@ export default defineConfig(() => { display: 'standalone', orientation: 'portrait', scope: '/', - start_url: '/', + start_url: '/splash', icons: [ { src: 'icono.png',