diff --git a/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationDialog.tsx b/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationDialog.tsx index 9fc6eef..d8eb4a9 100644 --- a/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationDialog.tsx +++ b/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationDialog.tsx @@ -64,7 +64,11 @@ export default function TagMissingLocationDialog({
- +
diff --git a/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationSearchLatLong.tsx b/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationSearchLatLong.tsx index 5c2afa1..81b222c 100644 --- a/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationSearchLatLong.tsx +++ b/src/components/assets/missing-location/TagMissingLocationDialog/TagMissingLocationSearchLatLong.tsx @@ -5,7 +5,7 @@ import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { useToast } from "@/components/ui/use-toast"; import { IPlace } from "@/types/common"; -import React, { useMemo, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; interface TagMissingLocationSearchLatLongProps { onSubmit: (place: IPlace) => Promise; @@ -24,6 +24,8 @@ export default function TagMissingLocationSearchLatLong( ) { const { toast } = useToast(); + const [latLong, setLatLong] = useState(""); + const [formData, setFormData] = useState({ latitude: location.latitude, longitude: location.longitude, @@ -32,34 +34,16 @@ export default function TagMissingLocationSearchLatLong( const [submitting, setSubmitting] = useState(false); const isValid = useMemo(() => { - if (formData.latitude === 0 || formData.longitude === 0) { - return false; - } if (isNaN(formData.latitude) || isNaN(formData.longitude)) { return false; } + if (formData.latitude === 0 || formData.longitude === 0) { + return false; + } + return true; }, [formData]); - const handleChange = (key: string, value: string) => { - // if somebody pastes a combination of "lat, long" - if (key === "latitude" && value.includes(",")) { - const latLong = value.split(","); - if (latLong.length === 2) { - setFormData({ - ...formData, - latitude: parseFloat(latLong[0]), - longitude: parseFloat(latLong[1]), - }); - } - } else { - setFormData({ - ...formData, - [key]: value, - }); - } - } - const handleSubmit = () => { if (!isValid) { return; @@ -103,32 +87,35 @@ export default function TagMissingLocationSearchLatLong( onLocationChange(place); } + useEffect(() => { + if (latLong) { + const [latitude, longitude] = latLong.split(","); + setFormData({ + ...formData, + latitude: parseFloat(latitude), + longitude: parseFloat(longitude), + }); + } + }, [latLong]); + return (
- + + + Enter lat and long in comma separated values + { - handleChange("latitude", e.target.value); - }} - onBlur={(e) => handleBlur()} - /> -
-
- - { - handleChange("longitude", e.target.value); + setLatLong(e.target.value); }} onBlur={(e) => handleBlur()} /> + +
diff --git a/src/components/ui/lazy-grid-image.tsx b/src/components/ui/lazy-grid-image.tsx index 3f39d61..f32ad5c 100644 --- a/src/components/ui/lazy-grid-image.tsx +++ b/src/components/ui/lazy-grid-image.tsx @@ -42,7 +42,7 @@ export default function LazyGridImage( ) return ( -
+
{props.imageProps.alt {props.item.isVideo &&