Skip to content
Snippets Groups Projects
Commit 8e5ea175 authored by kevinle350's avatar kevinle350
Browse files

Idek at this point

parent f16676c6
No related branches found
No related tags found
No related merge requests found
...@@ -18,7 +18,8 @@ function Landing() { ...@@ -18,7 +18,8 @@ function Landing() {
// For Data Transmission testing purposes // For Data Transmission testing purposes
const handleClickSendMessage = () => { const handleClickSendMessage = () => {
sendMessage('Hello ESP32!'); const jsonMsg = JSON.stringify(plants)
sendMessage(jsonMsg);
}; };
const connectionStatus = { const connectionStatus = {
...@@ -72,6 +73,7 @@ function Landing() { ...@@ -72,6 +73,7 @@ function Landing() {
try { try {
// Parse the message data as JSON and update the state // Parse the message data as JSON and update the state
const data = JSON.parse(lastMessage.data); const data = JSON.parse(lastMessage.data);
console.log(data)
setDataObjects(data); setDataObjects(data);
} catch (e) { } catch (e) {
console.error("Failed to parse JSON:", e); console.error("Failed to parse JSON:", e);
...@@ -81,7 +83,8 @@ function Landing() { ...@@ -81,7 +83,8 @@ function Landing() {
useEffect(() => { useEffect(() => {
// Log the updated 'plants' state whenever it changes // Log the updated 'plants' state whenever it changes
console.log(plants); console.log(JSON.stringify(plants));
console.log(plants)
}, [plants]); }, [plants]);
...@@ -100,7 +103,7 @@ function Landing() { ...@@ -100,7 +103,7 @@ function Landing() {
</button> </button>
</div> </div>
<div> <div>
<p>Max Water Usage: {maxWaterUsage}</p> <p>Max Water Usage: {dataObjects.usage}</p>
</div> </div>
<div> <div>
{lastMessage ? <p>Last message from server: {lastMessage.data}</p> : "Waiting for message"} {lastMessage ? <p>Last message from server: {lastMessage.data}</p> : "Waiting for message"}
...@@ -125,7 +128,7 @@ function Landing() { ...@@ -125,7 +128,7 @@ function Landing() {
<div className='plant-container'> <div className='plant-container'>
{plants.length > 0 ? (plants.map((plant, index) => ( {plants.length > 0 ? (plants.map((plant, index) => (
<div className='new-plant' key={index}> <div className='new-plant' key={index}>
<p className='new-plant-text'>Plant {index+1}: {plant.name}</p> <p className='new-plant-text'>Plant {index}: {plant.name}</p>
<p className='new-plant-text'>{plant.minMoistureLevel}</p> <p className='new-plant-text'>{plant.minMoistureLevel}</p>
<p className='new-plant-text'>{plant.wateringHours}</p> <p className='new-plant-text'>{plant.wateringHours}</p>
<p className='new-plant-text'>{plant.wateringDays}</p> <p className='new-plant-text'>{plant.wateringDays}</p>
...@@ -140,7 +143,7 @@ function Landing() { ...@@ -140,7 +143,7 @@ function Landing() {
<p className='health-header'>Plant Health</p> <p className='health-header'>Plant Health</p>
<div className='adjust'> <div className='adjust'>
<div className='health-container'> <div className='health-container'>
{dataObjects.map((item, index) => ( {dataObjects.plant_data.map((item, index) => (
<p key={index} className='health-text'> Address: {item.address} <br /> Health: {item.health} </p> <p key={index} className='health-text'> Address: {item.address} <br /> Health: {item.health} </p>
))} ))}
</div> </div>
......
// Modal.js // Modal.js
import React, { useState, useEffect } from 'react'; import React, { useState } from 'react';
import Modal from 'react-modal'; import Modal from 'react-modal';
Modal.setAppElement('#root'); // Set the root element for accessibility Modal.setAppElement('#root'); // Set the root element for accessibility
...@@ -14,11 +14,8 @@ const MyModal = ({ isOpen, closeModal, sendDataToParent }) => { ...@@ -14,11 +14,8 @@ const MyModal = ({ isOpen, closeModal, sendDataToParent }) => {
const handleSubmit = (e) => { const handleSubmit = (e) => {
e.preventDefault(); e.preventDefault();
// Do something with formData (e.g., send it to the server) sendDataToParent(formData); // closeModal will be called inside receiveData now
sendDataToParent(formData); };
closeModal();
};
return ( return (
...@@ -26,39 +23,48 @@ const MyModal = ({ isOpen, closeModal, sendDataToParent }) => { ...@@ -26,39 +23,48 @@ const MyModal = ({ isOpen, closeModal, sendDataToParent }) => {
<h2>Fill in Information</h2> <h2>Fill in Information</h2>
<form onSubmit={handleSubmit}> <form onSubmit={handleSubmit}>
<label htmlFor="Plant Name">Plant Name:</label> <label htmlFor="plantName">Plant Name:</label>
<input <input
type="text" type="text"
id="Plant Name" id="plantName"
name="Plant Name" name="plantName"
value={formData['Plant Name']} value={formData['plantName'] || ''}
onChange={handleInputChange} onChange={handleInputChange}
/> />
<label htmlFor="Max Water Usage">Max Water Usage:</label> {/* <label htmlFor="maxWaterUsage">Max Water Usage:</label>
<input
type="text"
id="maxWaterUsage"
name="maxWaterUsage"
value={formData['maxWaterUsage'] || ''}
onChange={handleInputChange}
/> */}
<label htmlFor="minMoistureLevel">Min Moisture Level:</label>
<input <input
type="text" type="text"
id="Max Water Usage" id="minMoistureLevel"
name="Max Water Usage" name="minMoistureLevel"
value={formData['Max Water Usage']} value={formData['minMoistureLevel'] || ''}
onChange={handleInputChange} onChange={handleInputChange}
/> />
<label htmlFor="Min Moisture Level">Min Moisture Level:</label> <label htmlFor="wateringHours">Watering Hours:</label>
<input <input
type="text" type="text"
id="Min Moisture Level" id="wateringHours"
name="Min Moisture Level" name="wateringHours"
value={formData['Min Moisture Level']} value={formData['wateringHours'] || ''}
onChange={handleInputChange} onChange={handleInputChange}
/> />
<label htmlFor="Watering Hours">Watering Hours:</label> <label htmlFor="wateringDays">Watering Days:</label>
<input <input
type="text" type="text"
id="Watering Hours" id="wateringDays"
name="Watering Hours" name="wateringDays"
value={formData['Watering Hours']} value={formData['wateringDays'] || ''}
onChange={handleInputChange} onChange={handleInputChange}
/> />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment