Commit Graph

125 Commits

Author SHA1 Message Date
23f8438456 fix(business): prevent 'image' column mismatch in Supabase insert/update 2026-02-26 15:25:08 -05:00
35a29fbb0f chore: migrate AdminShuttles and old API endpoints from Axios/Render to Supabase client, remove Axios 2026-02-26 14:51:03 -05:00
30c3f092d8 feat: real-time bus ETA engine via distance approximation and routing 2026-02-26 13:13:56 -05:00
fc489c4f46 perf: optimization final phase - defineAsyncComponent for modals 2026-02-26 12:55:03 -05:00
2dd3384882 perf: optimization phases 3-5 2026-02-26 12:50:12 -05:00
7b3141e5e9 perf: optimization for maps & network 2026-02-26 12:39:15 -05:00
ba7631dc9c fix: API_URL not defined in shuttle/admin views + fix shuttle card image display 2026-02-26 11:46:37 -05:00
86726e3dfc fix(pwa): completely destroy service worker cache and fix chunk load errors to stop freezing 2026-02-26 11:05:43 -05:00
82a2c1d903 fix(rendering): handle empty supabase array safely and speed up splash screen 2026-02-26 10:57:55 -05:00
12f5871f6f fix(pwa): force service worker unregistration to distribute latest fixes 2026-02-26 09:22:38 -05:00
d329336020 perf: optimize splash screen loading and remove unused telemetry code 2026-02-26 09:09:25 -05:00
787ac6e53e chore: clean up vite config and remove devtools 2026-02-25 23:53:46 -05:00
1368e21af1 fix: enum stop_type required uppercase values in supabase 2026-02-25 23:48:33 -05:00
6303aa4b35 fix: back buttons missing router instance mapping and fix array structure in supabase route stops fetch 2026-02-25 23:38:05 -05:00
528e3989ef perf: optimize splash screen loading time (parallel map data + JWT role extraction instead of db query) 2026-02-25 23:25:07 -05:00
f38f99a4c3 fix: refactor auth register to use pinia, clean up MapView obsolete telemetry call 2026-02-25 23:07:14 -05:00
b9a1b6b57f fix: simplify login flow - JWT role instant, no DB queries blocking navigation 2026-02-25 22:47:21 -05:00
963d255ea2 fix: auth flow - logout nuclear, router redirige admin a panel, login sin bloqueo BD 2026-02-25 22:38:03 -05:00
84055a25de refactor: migrate fully to Supabase, remove Firebase/Render/Python backend
- DELETED: entire backend/ (Python/FastAPI — replaced by Supabase)
- DELETED: old/ directory (obsolete code)
- DELETED: render.yaml, inject_api.py, check_tags.py, PENDING_FOR_TOMORROW.md
- DELETED: frontend/src/firebaseConfig.ts (Firebase Auth replaced by Supabase Auth)
- DELETED: frontend/src/services/apiClient.ts (HTTP client for dead backend)

- MIGRATED services to Supabase native:
  schedulesService, favoritesService, usersService,
  telemetryService (stub), reportsService, analyticsService (stub)

- MIGRATED stores/favorites.ts to Supabase direct queries
- MIGRATED views: SplashScreen, AdminTaxis, AdminDrivers, StrategicAnalytics
- MIGRATED utils/imageUrl.ts to Supabase Storage URLs

- FIXED router/index.ts: guard now uses supabase.auth.getSession()
  instead of old localStorage auth_token (fixes logout + map loading)
- FIXED AuthView.vue: removed aggressive watch({ immediate: true })
  that caused wrong redirects on map route
- FIXED SplashScreen.vue: navigate() now reads Supabase session + role
- FIXED RLS: added INSERT policy on public.users for trigger
- CONFIRMED: admin@sibu.com assigned ADMIN role in Supabase
2026-02-25 21:49:26 -05:00
7cd97365f2 🚀 Feat(Core): Migración oficial y total B a Supabase (Auth, DB, APIs) + Eliminación de Backend Python y Fixes Firebase + Soporte Vite Vercel 2026-02-25 21:01:18 -05:00
87752d8214 fix/debug: anado trycatch para ver detalladamente el error 500 al guardar 2026-02-25 20:14:39 -05:00
7d26d0bc10 fix: Enum RouteStatus uppercase conflict with postgres type 2026-02-25 20:09:51 -05:00
dc827bcbf4 fix: manejar error 401 automaticamente y agregar migracion de columnas routes 2026-02-25 19:49:29 -05:00
fd95df461b fix: critical bug fixes - routes UUID, image paths, favorites loading, bottom nav debounce 2026-02-25 16:29:13 -05:00
c449083171 Fix: Shuttle UI and offer favorites removal 2026-02-25 12:30:28 -05:00
ad9bafe63d Restore basic health check to fix Render deploy 2026-02-25 12:06:01 -05:00
8f021c55b0 Allow all origins and add DB check to health endpoint 2026-02-25 11:55:07 -05:00
9b9d788ca7 Add backend error logging and increase frontend timeout 2026-02-25 11:49:42 -05:00
a9097b82d2 Refactor shuttle and route management: price separation, premium preview design, and simplified route creation form 2026-02-25 10:34:38 -05:00
4bf75d3302 Fix favorites system, add support for bus stops and tourist trips, and improve UI consistency 2026-02-24 21:55:52 -05:00
973483fa35 Hide Google login buttons for initial MVP deployment 2026-02-24 20:53:07 -05:00
ac4c9e8389 Fix Google Login CORS and role-based redirection 2026-02-24 20:52:11 -05:00
259bbd1fed feat: update routes with color and direction, improve admin routes view, and update firebase config/auth 2026-02-24 16:39:38 -05:00
c4046541a5 Fix: Map offers button design, bottom nav cleanup, sidebar theme toggle simplification, and tourist trip auto-scroll animation 2026-02-24 13:02:19 -05:00
6d4f50cafb feat: habilitar set completo de APIs de Google Maps y actualizar llaves funcionales para produccion 2026-02-24 10:46:17 -05:00
5d14ef61d3 fix: mejorar legibilidad texto en tarjetas shuttle y login sidebar Chrome Android 2026-02-23 20:59:42 -05:00
a6c33d0845 fix: ajuste panel ofertas sobre nav inferior y tamaño buscador de rutas 2026-02-23 19:51:55 -05:00
f5fa086356 fix: Google Sign-In - Firebase Admin credentials via env var + mobile redirect flow 2026-02-23 19:31:47 -05:00
b75c4cc0a7 feat: add Google Sign-In to register form
- Added 'Registrarse con Google' button at the top of the register form
- Same googleLogin endpoint as login — backend auto-creates account if new user
- Logs analytics event sign_up with method:'google'
- Redirects to /map (or role-based route) immediately after registration
- Divider 'o con correo' separates Google from the manual form
- Identical button style to LoginForm for visual consistency
- Error message shown inline if Google auth fails
2026-02-23 17:45:22 -05:00
6e26d9e27b feat: redesign offers button and carousel as clean FAB + bottom sheet
- Offers FAB: clean circular yellow button (52px) replaces OffersBadge with energy rings
- Badge: red numbered badge top-right of FAB showing coupon count
- FAB flips to X/gray when panel is open (no confusing state)
- Carousel panel: bottom sheet anchored above navbar (not floating center modal)
- Sheet handle bar at top, drag-friendly feel
- Sheet header: star icon + 'Ofertas SIBU' title + count badge + close X
- Promo card: horizontal layout (88px square image + discount badge + info column)
- Business name in yellow, promo title bold, 2-line desc, yellow CTA pill button
- Chevron arrows inside the sheet on both sides, disabled when only 1 coupon
- Animated dot indicators: wide pill for active, small circle for rest
- Smooth slide-up/down transition on open/close
- Removed unused OffersBadge component import
2026-02-23 15:21:13 -05:00
68dc26b2b0 feat: redesign DiscoverView with friendly UX, sections and filter chips
- Friendly header with 'Explora Chiriquí!' greeting and prominent search bar
- Horizontal category chips with emojis (Restaurante, Hotel, Cafe, etc.)
- Sticky chips row for quick filtering while scrolling
- 'Destacados' section: 2 large portrait cards with image, gradient overlay, category badge
- 'Por Area' chips: David, Boquete, Volcan, etc. — click to filter
- 'Todos los lugares' 2-col grid with image, cat badge, area label
- When filtering: results counter, reset button, 'no results' empty state
- 'Busca algo mas' CTA card at bottom of filtered results
- Full dark/light mode via CSS variables
2026-02-23 14:44:55 -05:00
48e83d4a94 feat: redesign SchedulesView with visual dropdown, status-coded cards, day filter chips
- Custom visual route dropdown (replaces native select) with animation, icons, checkmark
- Schedule cards with left accent bar and status system: Departing (yellow glow), On-time (green), Upcoming (blue)
- Time shown large and bold in active-color (theme-aware)
- Pulsing 'SALIENDO' badge on most immediate departure
- Day filter chips: Hoy / Mañana / Todos
- Live green dot indicator for real-time feel
- 'Ver en mapa' shortcut button
- Empty state with SVG clock illustration before route is selected
- Full dark/light mode support via CSS variables
2026-02-23 14:11:52 -05:00
779fc7136c feat: redesign FavoritesView with card chips, type-specific cards, heart button
- Replace dropdown filter with horizontal scrollable chip pills (Todos/Rutas/Taxis/Negocios/Eventos)
- Differentiated cards per item type: bus routes with yellow icon, taxis with photo, businesses in 2-col grid with image, events with gradient icon
- Heart button to remove favorites (instead of X button) - more friendly UX
- Improved empty state with SVG heart illustration and 'Explorar ahora' CTA
- Full dark/light mode support via CSS variables (no hardcoded colors)
- Sticky chips row for easy filtering while scrolling
2026-02-23 13:42:18 -05:00
69061a081f fix: redesign auth UI to match SIBU design system, fix login bug
- AuthView: removed Tailwind/HUD aesthetic, uses SIBU CSS variables and Space Grotesk font, tab-based login/register switch
- LoginForm: fix critical bug - email now sent lowercase to backend (was causing 401 errors), added show/hide password toggle, human labels replacing sci-fi terminology
- RegisterForm: same fixes - lowercase email, human UX, SIBU theme variables
- Both forms: removed all hardcoded Tailwind colors, now consistent with dark/light theme system
2026-02-22 18:04:52 -05:00
a1ba74cd49 fix: remove duplicate headers, fix i18n keys, unify theme colors in Discover and Schedules views
- DiscoverView: removed internal header (duplicate of AppHeader), replaced Tailwind hardcoded colors with CSS theme variables (--bg-primary, --active-color, etc.)
- SchedulesView: removed internal header (duplicate of AppHeader), replaced Tailwind hardcoded colors with CSS theme variables
- es.json: add missing keys discover.searchPlaceholder, schedules.placeholder, schedules.upcoming, schedules.noSchedules, schedules.types
- en.json: same missing keys added for English
2026-02-22 17:41:50 -05:00
c20733afc3 ci: add GitHub Actions workflow for automatic Firebase frontend deploy 2026-02-22 16:50:56 -05:00
e370f8166d chore: remove remaining build log files 2026-02-22 16:22:00 -05:00
2b7e193906 perf: optimize build — chunk splitting, remove VueDevTools from prod, fix firebase-tools to devDeps
- vite.config.ts: Remove VueDevTools from production build (dev only)
- vite.config.ts: Add manualChunks for firebase, charts, pdf, vue, maps vendors
- vite.config.ts: Increase chunkSizeWarningLimit to 700KB for Google Maps
- package.json: Move firebase-tools from dependencies to devDependencies
- router/index.ts: Add webpackChunkName groups (transport, discover, user, admin, roles)
- Clean up build log files (build_debug.txt, build_error*.txt, etc.)

Build time improvement: chunks now load on demand per user role
2026-02-22 16:19:27 -05:00
b0d6aacc6e chore: add .gitignore rules for logs, build artifacts and Firebase cache 2026-02-22 16:02:54 -05:00
532aad16df Fix syntax errors in MapView.vue and improve backend production robustness (CORS, DB URL, auto-migrations, and seeding) 2026-02-22 16:00:52 -05:00