diff --git a/frontend/src/pages/Watering/Watering.js b/frontend/src/pages/Watering/Watering.js index e972956..edecd45 100644 --- a/frontend/src/pages/Watering/Watering.js +++ b/frontend/src/pages/Watering/Watering.js @@ -183,6 +183,31 @@ const Watering = () => { return Math.ceil((gallonsNeeded / gpm)); }, [sprinklerForm.gpm, coverageSqft, targetInches]); + // Select a point to edit (enables popup edits too) + const onSelectPoint = (pt) => { + setSelectedPointId(pt.id); + setEditForm({ + durationMinutes: pt.duration_minutes || 0, + mountType: pt.sprinkler_mount, + sprinklerHeadType: pt.sprinkler_head_type, + gpm: Number(pt.sprinkler_gpm||0), + throwFeet: Number(pt.sprinkler_throw_feet||0), + degrees: Number(pt.sprinkler_degrees||360), + lengthFeet: Number(pt.sprinkler_length_feet||0), + widthFeet: Number(pt.sprinkler_width_feet||0), + headingDegrees: Number(pt.sprinkler_heading_degrees||0) + }); + }; + + // Persist changes to a point and refresh it in local state + const updatePointField = async (id, patch) => { + try { + const r = await wateringAPI.updatePoint(id, patch); + const np = r.data?.data?.point; + setPoints(prev => prev.map(p=> p.id===id? np: p)); + } catch(e){ toast.error('Failed to update point'); } + }; + return (

Watering - Sprinklers