From daae74f118b5290e11ced1ade666c29d86fc657f Mon Sep 17 00:00:00 2001
From: roy-bme
Date: Thu, 14 May 2026 19:16:34 +0100
Subject: [PATCH] Make add-business location field editable
---
components/ops/Map/AddBusinessDialog.tsx | 37 +++++++++++++++---------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/components/ops/Map/AddBusinessDialog.tsx b/components/ops/Map/AddBusinessDialog.tsx
index 26c0241..94968b0 100644
--- a/components/ops/Map/AddBusinessDialog.tsx
+++ b/components/ops/Map/AddBusinessDialog.tsx
@@ -74,6 +74,7 @@ export default function AddBusinessDialog({
const [submitting, setSubmitting] = useState(false);
const [error, setError] = useState(null);
const [address, setAddress] = useState(null);
+ const [addressInput, setAddressInput] = useState("");
const [addressLoading, setAddressLoading] = useState(false);
const [sectorOptions, setSectorOptions] = useState>([]);
@@ -82,6 +83,7 @@ export default function AddBusinessDialog({
setForm(emptyForm(lastSector));
setError(null);
setAddress(null);
+ setAddressInput("");
}, [open, lastSector]);
useEffect(() => {
@@ -94,8 +96,14 @@ export default function AddBusinessDialog({
setAddressLoading(true);
setAddress(null);
reverseGeocode(coords.lat, coords.lng, controller.signal)
- .then((resolved) => setAddress(resolved))
- .catch(() => setAddress(null))
+ .then((resolved) => {
+ setAddress(resolved);
+ setAddressInput(resolved ?? "");
+ })
+ .catch(() => {
+ setAddress(null);
+ setAddressInput("");
+ })
.finally(() => setAddressLoading(false));
return () => controller.abort();
}, [open, coords]);
@@ -137,6 +145,7 @@ export default function AddBusinessDialog({
setForm(emptyForm(lastSector));
setError(null);
setAddress(null);
+ setAddressInput("");
onClose();
}
@@ -171,7 +180,7 @@ export default function AddBusinessDialog({
zone_id: form.zone_id || null,
lat: coords.lat,
lng: coords.lng,
- address: address ?? null,
+ address: addressInput.trim() || null,
est_monthly_volume: volume,
notes: form.notes.trim() || null,
},
@@ -238,24 +247,26 @@ export default function AddBusinessDialog({
Tap the map first to place a pin.
) : (
-
-
- Location
-
-
- {locationDisplay}
+
+
setAddressInput(e.target.value)}
+ placeholder={locationDisplay}
+ />
+
{addressLoading ? (
) : null}
-
- {!address && !addressLoading ? (
-
+
{formatCoords(coords.lat, coords.lng)}
- ) : null}
+
)}