Vitron-Front/app/components
Arda Samadi 3c7ee5b24c feat(address-map): MapLibre GL + Map.ir vector map & Persian reverse geocoding
Replace the broken-looking Leaflet/OSM address picker with a MapLibre GL
map using Map.ir vector tiles, plus Map.ir reverse geocoding for fast
coordinates -> Persian address.

- InteractiveMap: drop react-leaflet/leaflet; init a MapLibre map (Map.ir
  style via transformRequest x-api-key), a NavigationControl, and a fixed
  center pin — the map moves under the pin and the centre is reverse-
  geocoded on moveend (debounced). Wrapped dir=ltr so the map renders
  correctly inside the RTL page (fixes the scattered-tiles bug). Selected
  address shown in an overlay chip; city select / geolocation fly the map.
- reverse geocoding: Nominatim -> Map.ir (https://map.ir/reverse), which
  returns proper Persian addresses (Nominatim was weak for Iran and its
  TOS forbids production use).
- default map centre fixed to Tehran (matched the "تهران" selector).
- key via VITE_MAPIR_KEY (documented in .env.example; real key in env).
- deps: add maplibre-gl, remove leaflet/react-leaflet/@types/leaflet.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 01:20:37 +03:30
..
cart feat(cart): mockup-style item rows + separate-shipping note 2026-06-27 23:16:42 +03:30
desktop feat(desktop): add search autocomplete to desktop header 2026-06-22 19:23:12 +00:00
explore feat(search/explore): home-style product tiles with seller brand chip 2026-06-27 17:09:58 +03:30
home feat(home): search-first mobile top bar (redesign) 2026-06-27 13:58:46 +03:30
notifications feat(notifications): web push opt-in + unread nav badges 2026-06-17 14:02:56 +03:30
product feat(product): mobile redesign — brand below image, floating back, circular colors 2026-06-27 15:06:54 +03:30
sets first 2026-04-29 01:44:16 +03:30
store feat(upload): convert HEIC/HEIF to JPEG on the client before preview/upload 2026-06-23 16:43:30 +03:30
thread fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
ui first 2026-04-29 01:44:16 +03:30
AIPromoteModal.tsx first 2026-04-29 01:44:16 +03:30
AppInput.tsx first 2026-04-29 01:44:16 +03:30
AppSelectBox.tsx first 2026-04-29 01:44:16 +03:30
AppTextArea.tsx first 2026-04-29 01:44:16 +03:30
BankLogo.tsx first 2026-04-29 01:44:16 +03:30
CallDialog.tsx first 2026-04-29 01:44:16 +03:30
ClientOnly.tsx first 2026-04-29 01:44:16 +03:30
FilterDrawer.tsx first 2026-04-29 01:44:16 +03:30
HeaderWithSupport.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
HorizontalCollectionsList.tsx Desktop polish: seller header contrast, collection image crop, infinite scroll 2026-06-14 22:19:40 +03:30
HorizontalProductList.tsx feat(home): seller brand chip (logo + name) on product tiles 2026-06-27 16:38:44 +03:30
InteractiveMap.tsx feat(address-map): MapLibre GL + Map.ir vector map & Persian reverse geocoding 2026-06-28 01:20:37 +03:30
LoginRequiredDialog.tsx fix(auth): 6-digit OTP in LoginRequiredDialog 2026-06-18 17:53:01 +03:30
MondrianProductList.tsx feat(home): seller brand chip (logo + name) on product tiles 2026-06-27 16:38:44 +03:30
MyLayout.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
PersianDatePicker.tsx first 2026-04-29 01:44:16 +03:30
ProfilePagesHeader.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
SearchTopBar.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
SellerChip.tsx feat(home): seller brand chip (logo + name) on product tiles 2026-06-27 16:38:44 +03:30
SellerLogo.tsx first 2026-04-29 01:44:16 +03:30
SellerTilesGrid.tsx Add responsive desktop layout for home page 2026-06-14 20:07:47 +03:30
SunMoonToggle.tsx first 2026-04-29 01:44:16 +03:30
ThemeToggle.css first 2026-04-29 01:44:16 +03:30
ThemeToggle.tsx first 2026-04-29 01:44:16 +03:30
UiProvider.tsx first 2026-04-29 01:44:16 +03:30