added a goal

This commit is contained in:
Sunrise
2023-04-30 18:46:45 -04:00
parent 19343cb9ab
commit 176882d34b
3 changed files with 100 additions and 59 deletions

View File

@@ -3761,6 +3761,26 @@
"deep-equal": "^2.0.5" "deep-equal": "^2.0.5"
} }
}, },
"babel-eslint": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
"integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
"requires": {
"@babel/code-frame": "^7.0.0",
"@babel/parser": "^7.7.0",
"@babel/traverse": "^7.7.0",
"@babel/types": "^7.7.0",
"eslint-visitor-keys": "^1.0.0",
"resolve": "^1.12.0"
},
"dependencies": {
"eslint-visitor-keys": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
"integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
}
}
},
"babel-jest": { "babel-jest": {
"version": "27.5.1", "version": "27.5.1",
"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
@@ -5364,6 +5384,11 @@
} }
} }
}, },
"eslint-config-prettier": {
"version": "8.8.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz",
"integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA=="
},
"eslint-config-react-app": { "eslint-config-react-app": {
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz",
@@ -5515,6 +5540,14 @@
} }
} }
}, },
"eslint-plugin-prettier": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
"integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
"requires": {
"prettier-linter-helpers": "^1.0.0"
}
},
"eslint-plugin-react": { "eslint-plugin-react": {
"version": "7.32.2", "version": "7.32.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
@@ -5817,6 +5850,11 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
}, },
"fast-diff": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
"integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w=="
},
"fast-glob": { "fast-glob": {
"version": "3.2.12", "version": "3.2.12",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
@@ -8728,6 +8766,18 @@
"tmpl": "1.0.5" "tmpl": "1.0.5"
} }
}, },
"material-ui-numeric-input": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/material-ui-numeric-input/-/material-ui-numeric-input-3.2.0.tgz",
"integrity": "sha512-y9C2AdupPI5bXsSFDDrh+S20D/loiyG89NmhOUfZHPScfGznLbh6P1MfcZJonFgjtphdVUlipWNA2HH/IQGF8Q==",
"requires": {
"babel-eslint": "^10.1.0",
"eslint": "^8.9.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-react": "^7.28.0"
}
},
"mdn-data": { "mdn-data": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
@@ -10004,6 +10054,14 @@
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
}, },
"prettier-linter-helpers": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
"integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
"requires": {
"fast-diff": "^1.1.2"
}
},
"pretty-bytes": { "pretty-bytes": {
"version": "5.6.0", "version": "5.6.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
@@ -10194,8 +10252,7 @@
"react-client-session": { "react-client-session": {
"version": "0.0.8", "version": "0.0.8",
"resolved": "https://registry.npmjs.org/react-client-session/-/react-client-session-0.0.8.tgz", "resolved": "https://registry.npmjs.org/react-client-session/-/react-client-session-0.0.8.tgz",
"integrity": "sha512-wHCTD4lEE8mzl6kxL8viL4q5kGx2TJJNaWdvzmx3KeiMgP+Yv5/Bx476jCpPD0pKc5VvdVuhkH4EM20XqtT/sQ==", "integrity": "sha512-wHCTD4lEE8mzl6kxL8viL4q5kGx2TJJNaWdvzmx3KeiMgP+Yv5/Bx476jCpPD0pKc5VvdVuhkH4EM20XqtT/sQ=="
"requires": {}
}, },
"react-dev-utils": { "react-dev-utils": {
"version": "12.0.1", "version": "12.0.1",

View File

@@ -9,6 +9,7 @@
"@testing-library/jest-dom": "^5.16.5", "@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0", "@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0", "@testing-library/user-event": "^13.5.0",
"material-ui-numeric-input": "^3.2.0",
"react": "^18.2.0", "react": "^18.2.0",
"react-client-session": "^0.0.8", "react-client-session": "^0.0.8",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",

View File

@@ -2,32 +2,15 @@ import React,{useState} from 'react';
import {Routes, Route, useNavigate} from 'react-router-dom'; import {Routes, Route, useNavigate} from 'react-router-dom';
import './Login.css'; import './Login.css';
import Button from "@mui/material/Button"; import Button from "@mui/material/Button";
import Card from "@mui/material/Card";
import TextField from "@mui/material/TextField"; import TextField from "@mui/material/TextField";
import FormControlLabel from "@mui/material/FormControlLabel";
import Checkbox from "@mui/material/Checkbox";
import Link from "@mui/material/Link";
import Grid from "@mui/material/Grid";
import Box from "@mui/material/Box";
import Typography from "@mui/material/Typography";
import Container from "@mui/material/Container";
import AppBar from '@mui/material/AppBar'; import AppBar from '@mui/material/AppBar';
import Toolbar from '@mui/material/Toolbar'; import Toolbar from '@mui/material/Toolbar';
import IconButton from '@mui/material/IconButton';
import Avatar from '@mui/material/Avatar';
import Tooltip from '@mui/material/Tooltip';
import Menu from '@mui/material/Menu';
import MenuIcon from '@mui/material/Menu'
import MenuItem from '@mui/material/MenuItem';
import {red, green, lightBlue, lightGreen} from '@mui/material/colors'; import {red, green, lightBlue, lightGreen} from '@mui/material/colors';
import { ThemeProvider, createTheme } from '@mui/material/styles'; import { ThemeProvider, createTheme } from '@mui/material/styles';
import { ReactSession } from 'react-client-session'; import { ReactSession } from 'react-client-session';
import { Axios } from 'axios'; import Axios from 'axios';
import Chip from '@mui/material/Chip'; import Chip from '@mui/material/Chip';
import Stack from '@mui/material/Stack'; import Stack from '@mui/material/Stack';
import Select, { SelectChangeEvent } from '@mui/material/Select';
import InputLabel from '@mui/material/InputLabel';
import FormControl from '@mui/material/FormControl';
import { Table, TableBody, TableCell, TableContainer,TableHead, TableRow, Paper} from '@mui/material'; import { Table, TableBody, TableCell, TableContainer,TableHead, TableRow, Paper} from '@mui/material';
@@ -88,17 +71,17 @@ const net_id = ReactSession.get("net_id");
//to set nutritional goal for the week //to set nutritional goal for the week
const [goalInput, setGoalInput] = useState({ const [goalInput, setGoalInput] = useState({
total_cal: "", total_cal: 0,
total_fat: "", total_fat: 0,
total_sat_fat: "", total_sat_fat: 0,
total_trans_fat: "", total_trans_fat: 0,
total_carbs: "", total_carbs: 0,
total_fiber: "", total_fiber: 0,
total_sugar: "", total_sugar: 0,
total_protein: "", total_protein: 0,
total_sodium: "", total_sodium: 0,
total_potassium: "", total_potassium: 0,
total_cholesterol: "", total_cholesterol: 0,
} }
); );
@@ -112,19 +95,23 @@ const changeGoalHandler = evt =>{
const submitGoalHandler = evt => { const submitGoalHandler = evt => {
evt.preventDefault(); evt.preventDefault();
console.log(goalInput) console.log(goalInput)
Axios.post("http://3.219.93.142:8000/api/", console.log(net_id)
console.log(weekStart())
Axios.post("http://3.219.93.142:8000/api/goal",
{ {
total_cal: total_cal[0], net_id: net_id,
total_fat: total_fat[0], week_date: weekStart(),
total_sat_fat: total_sat_fat[0], total_cal: Number(total_cal[0]),
total_trans_fat: total_trans_fat[0], total_fat: Number(total_fat[0]),
total_carbs: total_carbs[0], total_sat_fat: Number(total_sat_fat[0]),
total_fiber: total_fiber[0], total_trans_fat: Number(total_trans_fat[0]),
total_sugar: total_sugar[0], total_carbs: Number(total_carbs[0]),
total_protein: total_protein[0], total_fiber: Number(total_fiber[0]),
total_sodium: total_sodium[0], total_sugar: Number(total_sugar[0]),
total_potassium: total_potassium[0], total_protein: Number(total_protein[0]),
total_cholesterol: total_cholesterol[0] total_sodium: Number(total_sodium[0]),
total_potassium: Number(total_potassium[0]),
total_cholesterol: Number(total_cholesterol[0])
}).then((response) => { }).then((response) => {
console.log(response); console.log(response);
console.log(response.status); console.log(response.status);
@@ -150,7 +137,7 @@ const submitGoalHandler = evt => {
); );
const {item_name, calories, fat_g, sat_fat_g, trans_fat_g, carbs_g, fiber_g,sugar_g, protein_g, const {item_name, calories, fat_g, sat_fat_g, trans_fat_g, carbs_g, fiber_g,sugar_g, protein_g,
sodium_mg, potassium_mg, cholesterol_mg, } = offCampusInput sodium_mg, potassium_mg, cholesterol_mg} = offCampusInput
const changeOffCampusHandler = evt => { const changeOffCampusHandler = evt => {
setOffCampusInput({ ...offCampusInput, [evt.target.name]: [evt.target.value] }) setOffCampusInput({ ...offCampusInput, [evt.target.name]: [evt.target.value] })
@@ -216,6 +203,7 @@ const submitGoalHandler = evt => {
label="Calories" label="Calories"
name="total_cal" name="total_cal"
size="small" size="small"
type="number"
value={total_cal} value={total_cal}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -225,6 +213,7 @@ const submitGoalHandler = evt => {
label="Fat (g)" label="Fat (g)"
size="small" size="small"
name="total_fat" name="total_fat"
type="number"
value={total_fat} value={total_fat}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -234,6 +223,7 @@ const submitGoalHandler = evt => {
label="Saturated Fat (g)" label="Saturated Fat (g)"
size="small" size="small"
name="total_sat_fat" name="total_sat_fat"
type="number"
value={total_sat_fat} value={total_sat_fat}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -243,6 +233,7 @@ const submitGoalHandler = evt => {
label="Trans Fat (g)" label="Trans Fat (g)"
size="small" size="small"
name="total_trans_fat" name="total_trans_fat"
type="number"
value={total_trans_fat} value={total_trans_fat}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -252,6 +243,7 @@ const submitGoalHandler = evt => {
label="Carbs (g)" label="Carbs (g)"
size="small" size="small"
name="total_carbs" name="total_carbs"
type="number"
value={total_carbs} value={total_carbs}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -262,6 +254,7 @@ const submitGoalHandler = evt => {
label="Fiber (g)" label="Fiber (g)"
size="small" size="small"
name="total_fiber" name="total_fiber"
type="number"
value={total_fiber} value={total_fiber}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -271,6 +264,7 @@ const submitGoalHandler = evt => {
label="Sugar (g)" label="Sugar (g)"
size="small" size="small"
name="total_sugar" name="total_sugar"
type="number"
value={total_sugar} value={total_sugar}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -280,6 +274,7 @@ const submitGoalHandler = evt => {
label="Protein (g)" label="Protein (g)"
size="small" size="small"
name="total_protein" name="total_protein"
type="number"
value={total_protein} value={total_protein}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -289,6 +284,7 @@ const submitGoalHandler = evt => {
label="Sodium (mg)" label="Sodium (mg)"
size="small" size="small"
name="total_sodium" name="total_sodium"
type="number"
value={total_sodium} value={total_sodium}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -298,6 +294,7 @@ const submitGoalHandler = evt => {
label="Potassium (mg)" label="Potassium (mg)"
size="small" size="small"
name="total_potassium" name="total_potassium"
type="number"
value={total_potassium} value={total_potassium}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -307,6 +304,7 @@ const submitGoalHandler = evt => {
label="Cholesterol (mg)" label="Cholesterol (mg)"
size="small" size="small"
name="total_cholesterol" name="total_cholesterol"
type="number"
value={total_cholesterol} value={total_cholesterol}
onChange={changeGoalHandler} onChange={changeGoalHandler}
/> />
@@ -446,21 +444,6 @@ const submitGoalHandler = evt => {
On-Campus On-Campus
</h3> </h3>
<form> <form>
&nbsp; &nbsp;
<FormControl sx={{minWidth:170 }}>
<InputLabel id="dining-location-select-label">Dining Location</InputLabel>
<Select labelId="dining-location-select-label" id="dining-location-select" label="Dining Location">
<MenuItem>DH</MenuItem>
<MenuItem>Chick-fil-a</MenuItem>
<MenuItem>Smashburger</MenuItem>
<MenuItem>Flip Kitchen</MenuItem>
<MenuItem>ABP</MenuItem>
<MenuItem>Starbucks</MenuItem>
<MenuItem>Modern Market</MenuItem>
<MenuItem>Taco Bell</MenuItem>
</Select>
</FormControl>
&nbsp; &nbsp; &nbsp; &nbsp;
<TextField <TextField
id="keywordsearch" id="keywordsearch"