Repository navigation
feat(nav): HUD tipo Organic Maps (piel AEGIS) - #123
Blackleets wants to merge 1 commit into
Conversation
Simplify active navigation chrome: maneuver+distance column, clean instruction banner, trip metrics row, driving-only speed chip. Remove CSS hacks that fought the HUD; glanceable step distances.
|
Deployment failed for project aegis with the following error: Learn More: https://vercel.com/nfyns-projects-b0cc0f41?upgradeToPro=build-rate-limit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2bd4e496a7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| data-hidden={navigationSpeedKmh === null ? 'true' : 'false'} | ||
| aria-label={`Velocidad ${navigationSpeedKmh === null ? 'no disponible' : `${Math.round(navigationSpeedKmh)} kilómetros por hora`}. ${gpsQualityLabel}`} |
There was a problem hiding this comment.
Stop displaying stale speed after GPS failure
When watchPosition fails after a valid fix, src/app/page.tsx updates gpsSignalStatus but leaves navigationSpeedKmh unchanged; this new chip therefore continues showing the last numeric speed while the visible GPS-quality warning has been removed. If failure occurs before the first fix, data-hidden instead removes the only element carrying that warning, so denied and unavailable states have no visible feedback. Keep the GPS state visible and do not present the retained speed as current.
AGENTS.md reference: AGENTS.md:L17-L18
Useful? React with 👍 / 👎.
| <div className="text-[20px] font-bold leading-none tracking-[-0.03em] text-[color:var(--text-primary)] tabular-nums">{durationLabel}</div> | ||
| <div className="mt-1 text-[10px] font-medium text-[color:var(--text-muted)]">Restante</div> |
There was a problem hiding this comment.
Compute Restante from the remaining journey
After navigation has progressed, this field still renders durationLabel, which is derived from the original routeSnapshot.durationSeconds, while the adjacent label now explicitly calls it “Restante.” Consequently a one-hour route can still report one hour remaining near the destination even though liveArrivalLabel already uses remaining progress; derive this metric from the remaining distance/time calculation as well.
AGENTS.md reference: AGENTS.md:L17-L18
Useful? React with 👍 / 👎.
| height: 2.55rem !important; | ||
| stroke-width: 2.25 !important; | ||
| filter: drop-shadow(0 3px 7px rgba(0, 0, 0, 0.38)); | ||
| @media (max-width: 640px) { |
There was a problem hiding this comment.
Style the speed chip across the mobile breakpoint
The application renders this cockpit for widths below 768px, and also for landscape devices below 1024px when their height is under 500px, but all positioning, container styling, and even the data-hidden rule for the newly extracted speed chip are limited to 640px. On 641–767px portrait tablets and common landscape phones, the chip becomes a bare in-flow div and remains visible as — km/h when speed is unavailable; align this media query with the actual mobile predicate.
AGENTS.md reference: AGENTS.md:L55-L59
Useful? React with 👍 / 👎.
| <span className="text-[23px] font-bold leading-none tracking-[-0.04em] text-white tabular-nums">{liveArrivalLabel}</span> | ||
| <span className="text-[8px] font-mono uppercase tracking-[0.16em] text-cyan-200/60">llegada</span> | ||
| <div className="aegis-nav-trip flex items-center gap-2 px-3 py-3"> | ||
| <div className="grid min-w-0 flex-1 grid-cols-3 gap-1 text-center"> |
There was a problem hiding this comment.
Allow the trip metrics enough width on narrow phones
On a 320px viewport, the four non-shrinking action buttons, four 8px gaps, and horizontal padding leave only about 60px total for this three-column grid, so arrival, duration, and distance values overflow or collide with one another and the controls. Standard 375–390px devices still leave each metric only about 39–44px, which is narrower than routine values such as 22:03 or 12.3 km; stack or otherwise compact the metrics/actions at narrow widths.
AGENTS.md reference: AGENTS.md:L57-L58
Useful? React with 👍 / 👎.
| <div className="aegis-nav-trip flex items-center gap-2 px-3 py-3"> | ||
| <div className="grid min-w-0 flex-1 grid-cols-3 gap-1 text-center"> |
There was a problem hiding this comment.
Surface the active rerouting state
During an automatic reroute, handleRouteRequest sets routeLoading and navigationRerouting; the top instruction banner is consequently hidden, while this active bottom branch now renders only the unchanged trip metrics and actions. Since the previous “Buscando mejor ruta” indicator was removed, a slow or failed reroute looks like the navigation UI silently froze until the request completes; retain a loading/recalculation indication in this branch.
AGENTS.md reference: AGENTS.md:L60-L60
Useful? React with 👍 / 👎.
Summary
El copiloto activo se veía sobrecargado (banner + chips + velocímetro CSS peleándose). Rehacemos el HUD activo con layout de GPS gratis tipo Organic Maps / OsmAnd Free, pintado con tokens AEGIS.
formatStepDistance:Ahora/ pasos glanceables (no “1 m”)navigation-mobile.css: se eliminan los overrides que rompían el UIBase:
feat/nav-citymapper-journey-board(#119).Test plan