Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
notebooks
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
kevinle2
notebooks
Commits
8e5ea175
Commit
8e5ea175
authored
1 year ago
by
kevinle350
Browse files
Options
Downloads
Patches
Plain Diff
Idek at this point
parent
f16676c6
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
ui-subsystem/src/components/Landing.js
+8
-5
8 additions, 5 deletions
ui-subsystem/src/components/Landing.js
ui-subsystem/src/components/Modal.js
+28
-22
28 additions, 22 deletions
ui-subsystem/src/components/Modal.js
with
36 additions
and
27 deletions
ui-subsystem/src/components/Landing.js
+
8
−
5
View file @
8e5ea175
...
@@ -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
:
{
maxWaterU
sage
}
<
/p
>
<
p
>
Max
Water
Usage
:
{
dataObjects
.
u
sage
}
<
/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
>
...
...
This diff is collapsed.
Click to expand it.
ui-subsystem/src/components/Modal.js
+
28
−
22
View file @
8e5ea175
// 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
=
"
P
lant
Name
"
>
Plant
Name
:
<
/label
>
<
label
htmlFor
=
"
p
lantName
"
>
Plant
Name
:
<
/label
>
<
input
<
input
type
=
"
text
"
type
=
"
text
"
id
=
"
P
lant
Name
"
id
=
"
p
lantName
"
name
=
"
P
lant
Name
"
name
=
"
p
lantName
"
value
=
{
formData
[
'
P
lant
Name
'
]}
value
=
{
formData
[
'
p
lantName
'
]
||
''
}
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
=
"
W
atering
Hour
s
"
>
Watering
Hour
s
:
<
/label
>
<
label
htmlFor
=
"
w
atering
Day
s
"
>
Watering
Day
s
:
<
/label
>
<
input
<
input
type
=
"
text
"
type
=
"
text
"
id
=
"
W
atering
Hour
s
"
id
=
"
w
atering
Day
s
"
name
=
"
W
atering
Hour
s
"
name
=
"
w
atering
Day
s
"
value
=
{
formData
[
'
W
atering
Hours
'
]
}
value
=
{
formData
[
'
w
atering
Days
'
]
||
''
}
onChange
=
{
handleInputChange
}
onChange
=
{
handleInputChange
}
/
>
/
>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment