Skip to content

Commit d8d0f6b

Browse files
Merge pull request #38 from CivicTechAtlanta/AV-14
Av 14 - Create drip rate calculator
2 parents 3600349 + 860122c commit d8d0f6b

File tree

5 files changed

+24
-15
lines changed

5 files changed

+24
-15
lines changed
File renamed without changes.

src/app/refill-time/page.tsx renamed to src/app/drip-rate/page.tsx

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,44 @@ import { useEffect, useState } from "react";
44
import { useTranslation } from "react-i18next";
55
import LanguageSelector from "../components/LanguageSelector/LanguageSelector";
66

7-
import './RefillTime.scss';
7+
import './DripRate.scss';
88
import Home from "../components/Home/Home";
99

10-
export default function RefillTimeFormula() {
10+
export default function DripRateFormula() {
1111
const { t } = useTranslation();
1212

1313
const [motherSolutionVolume, setMotherSolutionVolume] = useState<number>(0)
1414
const [dripRate, setDripRate] = useState<number>(0)
1515
const [refillTime, setRefillTime] = useState<number>(0)
1616

1717
useEffect(() => {
18-
if (dripRate <= 0) {
19-
setRefillTime(0)
20-
return;
21-
}
22-
setRefillTime(motherSolutionVolume / dripRate)
23-
}, [motherSolutionVolume, dripRate])
18+
// The mother solution is in liters. The refill time is in days. We want the drip rate in milliliters per minute.
19+
// We convert liters to milliliters and days to minutes and perform the division.
20+
const calculatedDripRate = refillTime > 0 ? (motherSolutionVolume * 1000) / (refillTime * 1440) : 0
21+
setDripRate(calculatedDripRate)
22+
}, [motherSolutionVolume, refillTime])
2423

2524
return (
2625
<div className="center">
2726
<Home></Home>
28-
<h1>{t('Refill Time Formula')}</h1>
27+
<h1>{t('Drip Rate Formula')}</h1>
2928
<div className="input-wrapper">
3029

3130
<div className="input-group">
32-
<label>{t('Mother Solution Volume')}</label>
31+
<label>{`${t('Mother Solution Volume')} (${t('L')})`}</label>
3332
<input type="number" value={motherSolutionVolume} onChange={(event) => { setMotherSolutionVolume(Number(event.target.value)) }} />
3433
</div>
3534

3635
<div className="input-group">
37-
<label>{t('Drip Rate')}</label>
38-
<input type="number" value={dripRate} onChange={(event) => { setDripRate(Number(event.target.value)) }} />
36+
<label>{`${t('Refill time')} (${t('days')})`}</label>
37+
<input type="number" value={refillTime} onChange={(event) => { setRefillTime(Number(event.target.value)) }} />
3938
</div>
4039

41-
<h2>{`${t('Refill time is')}: ${refillTime} ${t('hours')}`}</h2>
40+
<h2>{`${t('Drip Rate is')}: ${dripRate.toFixed(2)} ${t('milliliters')}/${t('minute')}`}</h2>
4241

4342
<button className="button" onClick={() => {
4443
setMotherSolutionVolume(0)
45-
setDripRate(0)
44+
setRefillTime(0)
4645
}}>{t('Clear')}</button>
4746
</div>
4847

src/app/locales/en.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"button": "Switch Language",
55
"Home": "Home",
66
"Chlorine Weight Formula": "Chlorine Weight Formula",
7+
"Drip Rate Formula": "Drip Rate Formula",
78
"Mother Solution Concentration": "Mother Solution Concentration",
89
"Refill Time": "Refill Time",
910
"Reservoir Ingress": "Reservoir Ingress",
@@ -12,6 +13,7 @@
1213
"Water Ingress": "Water Ingress",
1314
"Desired Concentration": "Desired Concentration",
1415
"Drip Rate": "Drip Rate",
16+
"Drip Rate is": "Drip Rate is",
1517
"Chlorine Percentage": "Chlorine Percentage",
1618
"Show Chlorine Weight": "Show Chlorine Weight",
1719
"The weight of chlorine needed is": "The weight of chlorine needed is",
@@ -24,10 +26,13 @@
2426
"Refill time is": "Refill time is",
2527
"Reservoir Ingress Formula": "Reservoir Ingress Formula",
2628
"The ingress formula is": "The ingress formula is",
29+
"days": "days",
2730
"hours": "hours",
2831
"liters": "liters",
32+
"minute": "minute",
2933
"second": "second",
3034
"milligrams": "milligrams",
35+
"milliliters": "milliliters",
3136
"grams": "grams",
3237
"mg": "mg",
3338
"L": "L",

src/app/locales/es.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"button": "Cambiar Idioma",
55
"Home": "Inicio",
66
"Chlorine Weight Formula": "Fórmula de peso de cloro",
7+
"Drip Rate Formula": "Fórmula de Goteo",
78
"Mother Solution Concentration": "Concentración de la Solución Madre",
89
"Refill Time": "Tiempo de Recarga",
910
"Reservoir Ingress": "Entrada al Reservorio",
@@ -12,6 +13,7 @@
1213
"Water Ingress": "Entrada de Agua",
1314
"Desired Concentration": "Concentración Deseada",
1415
"Drip Rate": "Taza de Goteo",
16+
"Drip Rate is": "El taza de goteo",
1517
"Chlorine Percentage": "Porcentaje de Cloro",
1618
"Show Chlorine Weight": "Mostrar Peso de Cloro",
1719
"The weight of chlorine needed is": "El peso de cloro necesario es",
@@ -24,9 +26,12 @@
2426
"Refill time is": "El tiempo de recarga es",
2527
"Reservoir Ingress Formula": "Fórmula de Entrada al Reservorio",
2628
"The ingress formula is": "La fórmula de entrada es",
29+
"days": "días",
2730
"hours": "horas",
2831
"liters": "litros",
2932
"second": "segundo",
33+
"minute": "minuto",
34+
"milliliters": "millilitros",
3035
"milligrams": "miligramos",
3136
"grams": "gramos",
3237
"mg": "mg",

src/app/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export default function Home() {
1515
<main className='main'>
1616
<Link className='go-to-page' href="/chlorine-weight">{t('Chlorine Weight Formula')}</Link>
1717
<Link className='go-to-page' href="/mother-solution-concentration">{t('Mother Solution Concentration')}</Link>
18-
<Link className='go-to-page' href="/refill-time">{t('Refill Time')}</Link>
18+
<Link className='go-to-page' href="/drip-rate">{t('Drip Rate')}</Link>
1919
<Link className='go-to-page' href="/reservoir-ingress">{t('Reservoir Ingress')}</Link>
2020
<Link className='go-to-page' href="/mother-tank-maximum-weight">{t('Mother Tank Maximum Weight')}</Link>
2121
{/* <Link className='go-to-page' href="/lang-test">{t('Language Test')}</Link> */}

0 commit comments

Comments
 (0)