Fix syntax errors in MapView.vue and improve backend production robustness (CORS, DB URL, auto-migrations, and seeding)

This commit is contained in:
2026-02-22 16:00:52 -05:00
parent 33154169c8
commit 532aad16df
18 changed files with 2460 additions and 2995 deletions

BIN
frontend/build_debug.txt Normal file

Binary file not shown.

BIN
frontend/build_error.txt Normal file

Binary file not shown.

BIN
frontend/build_trace.txt Normal file

Binary file not shown.

Binary file not shown.

BIN
frontend/build_try.txt Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{
"name": "frontend",
"private": true,
"version": "0.0.0",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
@ -41,4 +41,4 @@
"vite-plugin-vue-devtools": "^8.0.5",
"vue-tsc": "^3.1.4"
}
}
}

View File

@ -1,7 +1,22 @@
@import "tailwindcss";
/* Global styles are now managed in App.vue and component-specific styles.
Tailwind v4 handles utility classes automatically. */
@theme {
--color-primary: #fee715;
--color-primary-hover: #e5cf12;
--color-bg-hud: #0F1115;
--color-card-hud: #1C1F26;
--font-space: "Space Grotesk", sans-serif;
}
/* Global styles */
* {
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
background-color: #0F1115;
color: white;
font-family: "Space Grotesk", sans-serif;
}

View File

@ -1053,66 +1053,49 @@ function clearNavigation() {
</div>
<!-- Results -->
<div v-if="filteredSearchResults.length > 0" class="uber-results">
<div
v-for="stop in filteredSearchResults"
:key="stop.id"
class="uber-result-item"
@click="selectStopFromSearch(stop)"
>
<div class="result-icon">
<span class="material-icons">directions_bus</span>
<div class="uber-results">
<!-- Bus Stop Results -->
<template v-if="!showRoutesToggle">
<div
v-for="stop in filteredSearchResults"
:key="stop.id"
class="uber-result-item"
@click="selectStopFromSearch(stop)"
>
<div class="result-icon">
<span class="material-icons">directions_bus</span>
</div>
<div class="result-content">
<div class="result-name">{{ stop.name }}</div>
<div class="result-address">Parada de Autobús</div>
</div>
<span class="material-icons check-icon">chevron_right</span>
</div>
<div class="result-content">
<div class="result-name">{{ stop.name }}</div>
<div class="result-address">Parada de Autobús</div>
</template>
<!-- Routes List -->
<template v-else>
<div
v-for="route in routeStore.allRoutes"
:key="route.id"
class="uber-result-item"
:class="{ 'selected-route': route.id === routeStore.selectedRouteId }"
@click="selectRouteAndClose(route.id, route.name)"
>
<div class="result-icon">
<span class="material-icons">route</span>
</div>
<div class="result-info">
<div class="result-name">{{ route.name }}</div>
<div class="result-address">Ruta de transporte público</div>
</div>
<span v-if="route.id === routeStore.selectedRouteId" class="material-icons check-icon">check_circle</span>
</div>
<span class="material-icons check-icon">chevron_right</span>
</div>
</template>
</div>
</div>
</Transition>
<!-- Routes List (Visible when toggle is on) -->
<div v-if="showRoutesToggle" class="uber-results routes-list">
<div
v-for="route in routeStore.allRoutes"
:key="route.id"
class="uber-result-item"
:class="{ 'selected-route': route.id === routeStore.selectedRouteId }"
@click="selectRouteAndClose(route.id, route.name)"
>
<div class="result-icon">
<span class="material-icons">route</span>
</div>
<div class="result-info">
<div class="result-name">{{ route.name }}</div>
<div class="result-address">Ruta de transporte público</div>
</div>
<span v-if="route.id === routeStore.selectedRouteId" class="material-icons check-icon">check_circle</span>
</div>
</div>
<!-- Search Results -->
<div v-if="filteredSearchResults.length > 0 && !showRoutesToggle" class="uber-results">
<div
v-for="stop in filteredSearchResults"
:key="stop.id"
class="uber-result-item"
@click="selectStopFromSearch(stop)"
>
<div class="result-icon">
<span class="material-icons">history</span>
</div>
<div class="result-info">
<div class="result-name">{{ stop.name }}</div>
<div class="result-address">Parada de bus cercana</div>
</div>
</div>
</div>
</div>
</Transition>
</div>
</div>
<!-- Floating Promos Carousel -->
<Transition name="promo-slide">

0
frontend/tsc_errors.txt Normal file
View File