From c709d8c7594daac70685dfa2f0bb03d14bfc9553 Mon Sep 17 00:00:00 2001 From: GreenWizard2015 Date: Tue, 14 May 2024 20:28:56 +0000 Subject: [PATCH 1/5] basic TeaLevel component implementation --- ui/src/App.js | 12 +++++++-- ui/src/components/TeaLevel.css | 43 +++++++++++++++++++++++++++++++ ui/src/components/TeaLevel.js | 45 +++++++++++++++++++++++++++++++++ ui/src/components/cup.jpg | Bin 0 -> 195920 bytes 4 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 ui/src/components/TeaLevel.css create mode 100644 ui/src/components/TeaLevel.js create mode 100644 ui/src/components/cup.jpg diff --git a/ui/src/App.js b/ui/src/App.js index 9d40e06..913ccc8 100644 --- a/ui/src/App.js +++ b/ui/src/App.js @@ -1,6 +1,6 @@ import React from 'react'; import './App.css'; -import { Container, Form } from 'react-bootstrap'; +import { Col, Container, Form, Row } from 'react-bootstrap'; import { connect } from 'react-redux'; import NotificationsArea from './components/NotificationsArea.js'; @@ -11,6 +11,7 @@ import SystemStatusArea from './components/SystemStatusArea.js'; import CurrentOperationInfoArea from './components/CurrentOperationInfoArea.js'; import HoldToPour from './components/HoldToPour.js'; import PowerLevel from './components/PowerLevel.js'; +import TeaLevel from './components/TeaLevel.js'; function App({ isConnected }) { return ( @@ -26,7 +27,14 @@ function App({ isConnected }) { - + + + + + + + + ) : null} diff --git a/ui/src/components/TeaLevel.css b/ui/src/components/TeaLevel.css new file mode 100644 index 0000000..76ad00b --- /dev/null +++ b/ui/src/components/TeaLevel.css @@ -0,0 +1,43 @@ +.tea-glass { + height: 100%; + position: relative; + display: flex; + justify-content: center; + align-items: center; + user-select: none; +} + +.tea-container { + position: relative; + height: 100%; + max-width: 100%; + width: fit-content; + display: flex; +} + +.cup-image { + max-height: 30vh; + max-width: 100%; + object-fit: contain; + position: relative; + z-index: 1; + cursor: pointer; +} + +.tea-level { + position: absolute; + left: 0px; + right: 0px; + height: 3px; + background-color: #76b7b2; + z-index: 2; +} + +.est-tea-level { + position: absolute; + left: 0px; + right: 0px; + height: 3px; + border-bottom: 3px dashed red; + z-index: 3; +} diff --git a/ui/src/components/TeaLevel.js b/ui/src/components/TeaLevel.js new file mode 100644 index 0000000..b46b759 --- /dev/null +++ b/ui/src/components/TeaLevel.js @@ -0,0 +1,45 @@ +import React, { useState } from 'react'; +import './TeaLevel.css'; +import cup from './cup.jpg'; + +const bottomLevel = 20; // where the tea starts (0%) +const maxLevel = 80; // where the tea ends (100%) + +function toRealLevel(level) { + const H = maxLevel - bottomLevel; + return (level / 100 * H) + bottomLevel; +} + +function toPercentage(realLevel) { + const H = maxLevel - bottomLevel; + return (realLevel - bottomLevel) / H * 100; +} + +function TeaLevel({ initialLevel=null }) { + const estimatedLevel = 50; + const [currentLevel, setCurrentLevel] = useState(initialLevel || 70); + + const handleCupClick = (e) => { + const { top, height } = e.target.getBoundingClientRect(); + const clickY = e.clientY; + const clickedPosition = top - clickY + height; + const clickedPercentage = (clickedPosition / height) * 100; + const newLevel = toPercentage(clickedPercentage); + // limit the new level to the range [0, 100] + setCurrentLevel( Math.min(Math.max(newLevel, 0), 100) ); + }; + + return ( +
+
+ Cup +
+
+
+
+ ); +} + +export default TeaLevel; diff --git a/ui/src/components/cup.jpg b/ui/src/components/cup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d95cdaa04c10e1009b06f27aea55ce1a43a8f67b GIT binary patch literal 195920 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

s{pSxwUi#f}G=m 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 Date: Wed, 15 May 2024 10:13:44 +0000 Subject: [PATCH 2/5] semi working version of the UI --- ui/src/components/TeaLevel.js | 69 +++++++++++++++----- ui/src/contexts/WaterPumpAPIContext.js | 87 ++++++++++++++++---------- ui/src/store/slices/Temp.js | 41 ++++++++++++ ui/src/store/slices/UI.js | 8 ++- ui/src/store/slices/index.js | 3 +- 5 files changed, 157 insertions(+), 51 deletions(-) create mode 100644 ui/src/store/slices/Temp.js diff --git a/ui/src/components/TeaLevel.js b/ui/src/components/TeaLevel.js index b46b759..b2efe63 100644 --- a/ui/src/components/TeaLevel.js +++ b/ui/src/components/TeaLevel.js @@ -1,6 +1,9 @@ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import './TeaLevel.css'; import cup from './cup.jpg'; +import { connect } from 'react-redux'; +import { changeEstimatedTeaLevel, changeStartTeaLevel } from '../store/slices/Temp'; +import { changeSpeed } from '../store/slices/UI'; const bottomLevel = 20; // where the tea starts (0%) const maxLevel = 80; // where the tea ends (100%) @@ -15,9 +18,17 @@ function toPercentage(realLevel) { return (realLevel - bottomLevel) / H * 100; } -function TeaLevel({ initialLevel=null }) { - const estimatedLevel = 50; - const [currentLevel, setCurrentLevel] = useState(initialLevel || 70); +function TeaLevel({ + lastOperationDuration, speed, startTeaLevel, estimatedTeaLevel, + changeStartTeaLevel, changeEstimatedTeaLevel, changeSpeed, lastTeaLevel +}) { + const [calcSpeed, setCalcSpeed] = useState(speed); + // update the estimated level if speed or duration changes + useEffect(() => { + const estimatedLevel = startTeaLevel + speed * lastOperationDuration / 1000; + console.log(startTeaLevel, speed, lastOperationDuration, estimatedLevel); + changeEstimatedTeaLevel(estimatedLevel); + }, [lastOperationDuration, speed, startTeaLevel, changeEstimatedTeaLevel]); const handleCupClick = (e) => { const { top, height } = e.target.getBoundingClientRect(); @@ -26,20 +37,50 @@ function TeaLevel({ initialLevel=null }) { const clickedPercentage = (clickedPosition / height) * 100; const newLevel = toPercentage(clickedPercentage); // limit the new level to the range [0, 100] - setCurrentLevel( Math.min(Math.max(newLevel, 0), 100) ); + changeStartTeaLevel( Math.min(Math.max(newLevel, 0), 100) ); + // find speed + const newSpeed = (newLevel - lastTeaLevel) / (lastOperationDuration / 1000); + setCalcSpeed(newSpeed); }; + function onSpeedSet(e) { + e.preventDefault(); + changeSpeed(calcSpeed); + } + return ( -

-
- Cup -
-
+ <> +
+
+
+ Cup +
+
+
+
+
+
+

speed: {speed} %/s

+

duration: {lastOperationDuration} ms

+

last tea level: {lastTeaLevel.toFixed(2)}%

+
+
+ +
-
+ ); } -export default TeaLevel; +export default connect( + state => ({ + lastOperationDuration: state.Temp.lastOperationDuration, + speed: state.UI.speed, + startTeaLevel: state.Temp.startTeaLevel, + estimatedTeaLevel: state.Temp.estimatedTeaLevel, + lastTeaLevel: state.Temp.prevTeaLevel, + }), + { changeStartTeaLevel, changeEstimatedTeaLevel, changeSpeed } +)(TeaLevel); \ No newline at end of file diff --git a/ui/src/contexts/WaterPumpAPIContext.js b/ui/src/contexts/WaterPumpAPIContext.js index 92ff269..0e4c9ae 100644 --- a/ui/src/contexts/WaterPumpAPIContext.js +++ b/ui/src/contexts/WaterPumpAPIContext.js @@ -1,7 +1,8 @@ -import React from 'react'; +import React, { useState, useEffect, useMemo, useRef, useCallback } from 'react'; import { connect } from 'react-redux'; import { CWaterPumpAPI } from '../api/CWaterPumpAPI.js'; import { updateSystemStatus } from '../store/slices/SystemStatus.js'; +import { changeLastOperationDuration, pumpStartedEvent } from '../store/slices/Temp.js'; const WaterPumpAPIContext = React.createContext(); @@ -11,22 +12,30 @@ export function useWaterPumpAPI() { const FETCH_STATUS_INTERVAL = 5000; -function _publicWrapper({ apiObject, apiQueue, _pouringTime, _powerLevel }) { - if(null == apiObject) return { API: null }; +function _publicWrapper({ + apiObject, apiQueue, _pouringTime, _powerLevel, startTimeRef, onPumpStart +}) { + if (null == apiObject) return { API: null }; return { API: { stopPump: () => { apiQueue.push({ - action: async () => await apiObject.stop(), + action: async () => { + startTimeRef.current = null; // reset the start time + return await apiObject.stop(); + }, failMessage: 'Failed to stop the pump' }); }, startPump: () => { apiQueue.push({ - action: async () => await apiObject.start( - _pouringTime.current, - _powerLevel.current - ), + action: async () => { + if (startTimeRef.current === null) { + startTimeRef.current = Date.now(); + await onPumpStart(); + } + return await apiObject.start(_pouringTime.current, _powerLevel.current); + }, failMessage: 'Failed to start the pump' }); }, @@ -44,17 +53,17 @@ function _makeStatusAction(apiObject) { async function _processQueue({ apiQueue, lastUpdateTime, statusAction, updateStatus }) { const deltaTime = Date.now() - lastUpdateTime.current; const hasTasks = (0 < apiQueue.length); - if((deltaTime < FETCH_STATUS_INTERVAL) && !hasTasks) return; - + if ((deltaTime < FETCH_STATUS_INTERVAL) && !hasTasks) return; + const action = hasTasks ? apiQueue.shift() : statusAction; const oldTime = lastUpdateTime.current; lastUpdateTime.current = Number.MAX_SAFE_INTEGER; // prevent concurrent tasks, just in case try { await updateStatus(action); lastUpdateTime.current = Date.now(); - } catch(error) { + } catch (error) { lastUpdateTime.current = oldTime; - if(hasTasks) { // re-queue the action if it failed + if (hasTasks) { // re-queue the action if it failed apiQueue.unshift(action); } throw error; @@ -65,40 +74,47 @@ function WaterPumpAPIProviderComponent({ children, apiHost, pouringTime, powerLevel, updateStatus, + changeLastOperationDuration, + onPumpStart, }) { - // to prevent the callbacks from changing when the pouringTime or powerLevel changes - const _pouringTime = React.useRef(pouringTime); - React.useEffect(() => { _pouringTime.current = pouringTime; }, [pouringTime]); - - const _powerLevel = React.useRef(powerLevel); - React.useEffect(() => { _powerLevel.current = powerLevel; }, [powerLevel]); - - const { apiObject, apiQueue } = React.useMemo( + const _pouringTime = useRef(pouringTime); + useEffect(() => { _pouringTime.current = pouringTime; }, [pouringTime]); + + const _powerLevel = useRef(powerLevel); + useEffect(() => { _powerLevel.current = powerLevel; }, [powerLevel]); + + const startTimeRef = useRef(null); + const { apiObject, apiQueue } = useMemo( () => ({ apiObject: new CWaterPumpAPI({ URL: apiHost }), apiQueue: [] }), [apiHost] ); - //////////////// - const statusAction = React.useMemo(() => _makeStatusAction(apiObject), [apiObject]); - const lastUpdateTime = React.useRef(0); - const onTick = React.useCallback( - async () => _processQueue({ apiQueue, lastUpdateTime, statusAction, updateStatus }), - [apiQueue, lastUpdateTime, updateStatus, statusAction] + + const statusAction = useMemo(() => _makeStatusAction(apiObject), [apiObject]); + const lastUpdateTime = useRef(0); + const onTick = useCallback( + async () => { + if(null != startTimeRef.current) { // update the total duration of the last operation + const T = Date.now() - startTimeRef.current; + changeLastOperationDuration(T); + } + _processQueue({ apiQueue, lastUpdateTime, statusAction, updateStatus }); + }, + [apiQueue, lastUpdateTime, statusAction, updateStatus, changeLastOperationDuration] ); - // Run the timer - React.useEffect(() => { + useEffect(() => { const timer = setInterval(onTick, 100); return () => { clearInterval(timer); }; }, [onTick]); - //////////////// - const value = React.useMemo( - () => _publicWrapper({ apiObject, apiQueue, _pouringTime, _powerLevel }), - [apiObject, apiQueue, _pouringTime, _powerLevel] + const value = useMemo( + () => _publicWrapper({ apiObject, apiQueue, _pouringTime, _powerLevel, startTimeRef, onPumpStart }), + [apiObject, apiQueue, _pouringTime, _powerLevel, startTimeRef, onPumpStart] ); + return ( {children} @@ -112,8 +128,11 @@ const WaterPumpAPIProvider = connect( pouringTime: state.UI.pouringTime, powerLevel: state.UI.powerLevelInPercents, }), - { updateStatus: updateSystemStatus } + { + updateStatus: updateSystemStatus, changeLastOperationDuration, + onPumpStart: pumpStartedEvent + } )(WaterPumpAPIProviderComponent); export default WaterPumpAPIProvider; -export { WaterPumpAPIProvider }; \ No newline at end of file +export { WaterPumpAPIProvider }; diff --git a/ui/src/store/slices/Temp.js b/ui/src/store/slices/Temp.js new file mode 100644 index 0000000..de4651e --- /dev/null +++ b/ui/src/store/slices/Temp.js @@ -0,0 +1,41 @@ +import { createAsyncThunk, createSlice } from '@reduxjs/toolkit'; + +const initialState = { + lastOperationDuration: 0, + prevTeaLevel: 0, + startTeaLevel: 0, + estimatedTeaLevel: 50, +} + +export const TempSlice = createSlice({ + name: 'Temp', + initialState: initialState, + reducers: { + changeLastOperationDuration: (state, action) => { + state.lastOperationDuration = action.payload; + }, + changeEstimatedTeaLevel: (state, action) => { + state.estimatedTeaLevel = action.payload; + }, + changePrevTeaLevel: (state, action) => { + state.prevTeaLevel = action.payload; + }, + pumpStartedEvent: (state, action) => { + state.prevTeaLevel = state.startTeaLevel; + }, + changeStartTeaLevel: (state, action) => { + state.startTeaLevel = action.payload; + state.estimatedTeaLevel = state.startTeaLevel; + state.lastOperationDuration = 0; + }, + } +}); + +export const actions = TempSlice.actions; +export const { + changeLastOperationDuration, + changeEstimatedTeaLevel, + changePrevTeaLevel, + pumpStartedEvent, + changeStartTeaLevel +} = actions; \ No newline at end of file diff --git a/ui/src/store/slices/UI.js b/ui/src/store/slices/UI.js index b936cae..3dd055e 100644 --- a/ui/src/store/slices/UI.js +++ b/ui/src/store/slices/UI.js @@ -13,6 +13,7 @@ const INITIAL_STATE = { pouringTime: 1000, powerLevelInPercents: 100, apiHost: '', + speed: 10, }; // slice for system status export const UISlice = createSlice({ @@ -27,9 +28,12 @@ export const UISlice = createSlice({ }, updatePowerLevel(state, action) { state.powerLevelInPercents = validatePowerLevel(action.payload); - } + }, + changeSpeed(state, action) { + state.speed = action.payload; + }, }, }); export const actions = UISlice.actions; -export const { updatePouringTime, updateAPIHost, updatePowerLevel } = actions; \ No newline at end of file +export const { updatePouringTime, updateAPIHost, updatePowerLevel, changeSpeed } = actions; \ No newline at end of file diff --git a/ui/src/store/slices/index.js b/ui/src/store/slices/index.js index 9031b1d..51f47a2 100644 --- a/ui/src/store/slices/index.js +++ b/ui/src/store/slices/index.js @@ -1,8 +1,9 @@ import { SystemStatusSlice } from "./SystemStatus"; import { UISlice } from "./UI"; import { NotificationsSlice } from "./Notifications"; +import { TempSlice } from "./Temp"; -const slices = [ SystemStatusSlice, UISlice, NotificationsSlice ]; +const slices = [ SystemStatusSlice, UISlice, NotificationsSlice, TempSlice ]; // export all slices as an object { [sliceName]: slice } export const ALL_APP_SLICES = slices.reduce((acc, slice) => { acc[slice.name] = slice; From 52418ea3bda0f9e8d70c20c4426f45081bc18d66 Mon Sep 17 00:00:00 2001 From: GreenWizard2015 Date: Wed, 15 May 2024 13:08:18 +0000 Subject: [PATCH 3/5] misc adjustments and stop logic for pouring --- ui/src/components/HoldToPour.js | 11 ++++++++++- ui/src/components/TeaLevel.css | 17 +++++++++++++++++ ui/src/components/TeaLevel.js | 23 ++++++++++++++++------- ui/src/store/slices/Temp.js | 12 ++++++------ 4 files changed, 49 insertions(+), 14 deletions(-) diff --git a/ui/src/components/HoldToPour.js b/ui/src/components/HoldToPour.js index 1cdab7e..f2552af 100644 --- a/ui/src/components/HoldToPour.js +++ b/ui/src/components/HoldToPour.js @@ -3,12 +3,20 @@ import { connect } from 'react-redux'; import { Container, Form } from 'react-bootstrap'; import { useWaterPumpAPI } from '../contexts/WaterPumpAPIContext'; -export function HoldToPourComponent({ interval }) { +export function HoldToPourComponent({ interval, estimatedTeaLevel }) { const { API }= useWaterPumpAPI(); const [isPouring, setIsPouring] = useState(false); const [clickToPour, setClickToPour] = useState(false); // continuously pour water while the button is pressed const lastPouringTime = React.useRef(0); + // stop pouring if estimated level is greater than 100% + useEffect(() => { + if(!isPouring) return; + if(estimatedTeaLevel >= 100) { + setIsPouring(false); + } + }, [isPouring, estimatedTeaLevel]); + const onTick = React.useCallback( async () => { if(Date.now() < lastPouringTime.current) return; @@ -77,6 +85,7 @@ function HoldToPourComponent_withExtras({ pouringTime, ...props }) { export default connect( state => ({ pouringTime: state.UI.pouringTime, + estimatedTeaLevel: state.Temp.estimatedTeaLevel, }), { } )(HoldToPourComponent_withExtras); \ No newline at end of file diff --git a/ui/src/components/TeaLevel.css b/ui/src/components/TeaLevel.css index 76ad00b..2869bf9 100644 --- a/ui/src/components/TeaLevel.css +++ b/ui/src/components/TeaLevel.css @@ -13,6 +13,7 @@ max-width: 100%; width: fit-content; display: flex; + padding: 1rem; } .cup-image { @@ -31,6 +32,7 @@ height: 3px; background-color: #76b7b2; z-index: 2; + color: #76b7b2; } .est-tea-level { @@ -40,4 +42,19 @@ height: 3px; border-bottom: 3px dashed red; z-index: 3; + text-align: right; + padding-bottom: 2rem; + color: red; } + +.prev-tea-level { + position: absolute; + left: 0px; + right: 0px; + height: 3px; + border-bottom: 3px dashed black; + z-index: 3; + text-align: center; + padding-bottom: 2rem; + color: black; +} \ No newline at end of file diff --git a/ui/src/components/TeaLevel.js b/ui/src/components/TeaLevel.js index b2efe63..47c4a0a 100644 --- a/ui/src/components/TeaLevel.js +++ b/ui/src/components/TeaLevel.js @@ -20,13 +20,12 @@ function toPercentage(realLevel) { function TeaLevel({ lastOperationDuration, speed, startTeaLevel, estimatedTeaLevel, - changeStartTeaLevel, changeEstimatedTeaLevel, changeSpeed, lastTeaLevel + changeStartTeaLevel, changeEstimatedTeaLevel, changeSpeed, lastTeaLevel, }) { const [calcSpeed, setCalcSpeed] = useState(speed); // update the estimated level if speed or duration changes useEffect(() => { const estimatedLevel = startTeaLevel + speed * lastOperationDuration / 1000; - console.log(startTeaLevel, speed, lastOperationDuration, estimatedLevel); changeEstimatedTeaLevel(estimatedLevel); }, [lastOperationDuration, speed, startTeaLevel, changeEstimatedTeaLevel]); @@ -37,9 +36,10 @@ function TeaLevel({ const clickedPercentage = (clickedPosition / height) * 100; const newLevel = toPercentage(clickedPercentage); // limit the new level to the range [0, 100] - changeStartTeaLevel( Math.min(Math.max(newLevel, 0), 100) ); + const level = Math.min(Math.max(newLevel, 0), 100); + changeStartTeaLevel( level ); // find speed - const newSpeed = (newLevel - lastTeaLevel) / (lastOperationDuration / 1000); + const newSpeed = (level - lastTeaLevel) / (lastOperationDuration / 1000); setCalcSpeed(newSpeed); }; @@ -56,8 +56,17 @@ function TeaLevel({ Cup -
-
+
+ {startTeaLevel.toFixed(0)}% +
+ +
+ {estimatedTeaLevel.toFixed(0)}% +
+ +
+ {lastTeaLevel.toFixed(0)}% +
@@ -67,7 +76,7 @@ function TeaLevel({

last tea level: {lastTeaLevel.toFixed(2)}%

- +
diff --git a/ui/src/store/slices/Temp.js b/ui/src/store/slices/Temp.js index de4651e..83c9776 100644 --- a/ui/src/store/slices/Temp.js +++ b/ui/src/store/slices/Temp.js @@ -5,6 +5,7 @@ const initialState = { prevTeaLevel: 0, startTeaLevel: 0, estimatedTeaLevel: 50, + estimation: true, } export const TempSlice = createSlice({ @@ -15,18 +16,18 @@ export const TempSlice = createSlice({ state.lastOperationDuration = action.payload; }, changeEstimatedTeaLevel: (state, action) => { - state.estimatedTeaLevel = action.payload; - }, - changePrevTeaLevel: (state, action) => { - state.prevTeaLevel = action.payload; + if (state.estimation) { + state.estimatedTeaLevel = action.payload; + } }, pumpStartedEvent: (state, action) => { state.prevTeaLevel = state.startTeaLevel; + state.estimation = true; }, changeStartTeaLevel: (state, action) => { state.startTeaLevel = action.payload; state.estimatedTeaLevel = state.startTeaLevel; - state.lastOperationDuration = 0; + state.estimation = false; }, } }); @@ -35,7 +36,6 @@ export const actions = TempSlice.actions; export const { changeLastOperationDuration, changeEstimatedTeaLevel, - changePrevTeaLevel, pumpStartedEvent, changeStartTeaLevel } = actions; \ No newline at end of file From 9166fa245320df480352d62357a4368e749c87ac Mon Sep 17 00:00:00 2001 From: GreenWizard2015 Date: Wed, 15 May 2024 13:48:28 +0000 Subject: [PATCH 4/5] fix edit --- ui/src/components/TeaLevel.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/src/components/TeaLevel.js b/ui/src/components/TeaLevel.js index 47c4a0a..9f2eec7 100644 --- a/ui/src/components/TeaLevel.js +++ b/ui/src/components/TeaLevel.js @@ -76,7 +76,11 @@ function TeaLevel({

last tea level: {lastTeaLevel.toFixed(2)}%

- + setCalcSpeed(parseFloat(e.target.value))} + />
From 21540fecc2968f0bbded29f34cedb012ecf9acba Mon Sep 17 00:00:00 2001 From: GreenWizard2015 Date: Thu, 16 May 2024 16:59:49 +0000 Subject: [PATCH 5/5] remove debug code and adjust css --- ui/src/App.css | 1 - ui/src/components/TeaLevel.js | 5 ----- 2 files changed, 6 deletions(-) diff --git a/ui/src/App.css b/ui/src/App.css index 2914275..8018e3a 100644 --- a/ui/src/App.css +++ b/ui/src/App.css @@ -10,6 +10,5 @@ .hold-to-pour-image { object-fit: contain; - width: 25%; height: auto; } \ No newline at end of file diff --git a/ui/src/components/TeaLevel.js b/ui/src/components/TeaLevel.js index 9f2eec7..3a4045f 100644 --- a/ui/src/components/TeaLevel.js +++ b/ui/src/components/TeaLevel.js @@ -70,11 +70,6 @@ function TeaLevel({ -
-

speed: {speed} %/s

-

duration: {lastOperationDuration} ms

-

last tea level: {lastTeaLevel.toFixed(2)}%

-