Skip to content

Mobile map layout and address/coordinate search (#49)#57

Open
aivanchenk wants to merge 6 commits into
mainfrom
49-ui-layout
Open

Mobile map layout and address/coordinate search (#49)#57
aivanchenk wants to merge 6 commits into
mainfrom
49-ui-layout

Conversation

@aivanchenk

Copy link
Copy Markdown
Collaborator

Implements the UI layout proposal from #49.

Mobile layout (<=900px)

  • Header controls move onto the map as two stacked, plain-icon "islands" (8px radius) on the right edge:
    • view toggle (map/globe icon buttons)
    • zoom-to-selection + patch toggle (shown once a cell is selected)
  • The control panel (MapReadout) opens as a full-screen drawer via a menu button placed to the left of the logo.
  • Desktop (>900px) is unchanged — controls stay in the header, sidebar stays inline.

Search

  • Floating search box over the map: top-center max 400px on desktop, full width on mobile, 8px radius.
  • Addresses geocode via Nominatim (keyless OSM); raw lat, lon input resolves locally.
  • Selecting a result or pressing Enter drops a point through the existing pick flow (fly-to, selection/patch, time series).
  • Recent-search history (localStorage), an empty state, and a / focus shortcut with keyboard navigation.

Includes a merge of the latest main.

Anastasiia Ivanchenko added 3 commits July 14, 2026 11:34
On narrow layouts (<=900px) the header controls move onto the map:
the view toggle and crosshair/patch controls become plain icon buttons
in floating right-edge islands, and the control panel opens as a
full-screen drawer via a menu button beside the logo.
A floating search box (top-center max 400px on desktop, full width on
mobile) geocodes addresses via Nominatim and parses raw coordinates
locally. Selecting a result or pressing Enter drops a point through the
existing pick flow. Includes recent-search history, an empty state, and
a "/" focus shortcut.
@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown

🚀 Vercel preview deployed

Preview URL: https://earth-prints-ictjj8mtc-anastasiia-s-projects10.vercel.app

@aivanchenk
aivanchenk requested a review from lazarusA July 14, 2026 08:58

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a mobile-responsive layout for the map editor, including a slide-out controls drawer, floating map controls, and a geocoding-enabled search input with history persistence. The review feedback highlights several critical improvements: resolving an accessibility issue where the desktop sidebar is hidden from screen readers, preventing React hydration mismatches by deferring localStorage access to a client-side effect, avoiding shortcut conflicts with system modifier keys, disabling browser autocomplete on the search input, defensively handling non-array API responses, and adjusting tooltip positioning to prevent visual overlap.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src/components/layout/EditorShell.tsx
Comment thread src/components/map/MapSearch.tsx Outdated
Comment thread src/components/map/MapSearch.tsx
Comment thread src/components/map/MapSearch.tsx
Comment thread src/lib/search/geocode.ts Outdated
Comment thread src/components/map/MapSideControls.tsx
Comment thread src/components/map/MapSearch.tsx Outdated
@lazarusA

Copy link
Copy Markdown
Member
Screenshot 2026-07-14 at 12 39 36

I was thinking that the time-series option should be after the grid icon, and then the next one, finger-print afterwards. The current hamburger works but is not the best place IMHO.

  • Also note that the name get's trimmed, at the top.
  • Tooltip should align left ? having them in the center there is too much overlap, also consider adding a soft background to them.

Anastasiia Ivanchenko added 2 commits July 21, 2026 22:44
The hamburger trigger moves out of the header and onto the map's
floating islands as a fingerprint button, and the mobile drawer now
slides up from the bottom with a drag handle that closes it on tap,
swipe or flick.

Also trims the readout header down to one provenance line and locks
the shell to svh so the sheet no longer overshoots the viewport.
@aivanchenk

Copy link
Copy Markdown
Collaborator Author

@lazarusA all three are in:

  • The hamburger is gone. The drawer trigger is now a fingerprint button in the floating islands, right after the view toggle and the crosshair/grid pair, so it sits where your thumb already is.
  • Header no longer clips the name. Below 900px the first column is auto width instead of being pinned to the sidebar width.
  • Tooltips on the islands are left aligned now, so no more overlap with the buttons.

Bonus while I was in there: the mobile drawer became a bottom sheet you can tap or swipe down to close, and the readout header lost the redundant FLUXCOM-X NEE badge.

@lazarusA

Copy link
Copy Markdown
Member

preview still shows the previous layout.

@aivanchenk

Copy link
Copy Markdown
Collaborator Author

@lazarusA it is now rebuilt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants