Skip to content
Snippets Groups Projects
Unverified Commit 3997bd11 authored by CTFang@WireLab's avatar CTFang@WireLab
Browse files

fix: add back last update time

parent 6db2e47b
No related branches found
No related tags found
No related merge requests found
......@@ -85,7 +85,7 @@ function Dashboard(props: DashboardProps) {
const { user, setUser } = useContext(LoginContext);
const navigation = useNavigate();
const [time, setTime] = useState(Date.now());
const [time, setTime] = useState<Date>(new Date());
const [refreshInterval, setRefreshInterval] = useState(0);
const [refreshString, setRefreshString] = useState("manual");
......@@ -93,20 +93,19 @@ function Dashboard(props: DashboardProps) {
// update the time value every x ms, which triggers refresh (see below)
useEffect(() => {
if (refreshInterval === 0) {
console.log("refreshInterval is 0")
console.log("refreshInterval is 0");
return;
}
const interval = setInterval(() => setTime(Date.now()), refreshInterval);
const interval = setInterval(() => setTime(new Date()), refreshInterval);
return () => {
console.log("clear refreshInterval")
console.log("clear refreshInterval");
clearInterval(interval);
};
}, [refreshInterval]);
// refresh every time the 'time' value changes
useEffect(() => {
console.log("reload page at", time);
//setChildKey(prev => prev + 1);
console.log("reload page at", time.toISOString());
props.refreshAction();
}, [time]);
......@@ -189,9 +188,17 @@ function Dashboard(props: DashboardProps) {
borderColor: "white",
}}
/>
<SimpleListMenu title={`Refresh: ${refreshString}`} options={refreshStrings} handleMenuItemClick={handleRefreshClick} />
<SimpleListMenu
title={`Refresh: ${refreshString}`}
options={refreshStrings}
handleMenuItemClick={handleRefreshClick}
/>
</Box>
<SimpleListMenu title={user?.username} options={["Change Password", "Logout"]} handleMenuItemClick={handleUserNameClick} />
<SimpleListMenu
title={user?.username}
options={["Change Password", "Logout"]}
handleMenuItemClick={handleUserNameClick}
/>
</Toolbar>
</AppBar>
<Drawer variant="permanent" open={open}>
......
......@@ -10,6 +10,7 @@ import { Button, Grid } from "@mui/material";
export default function ChargingTable() {
const [expand, setExpand] = useState(true);
const [refresh, setRefresh] = useState<boolean>(false);
const [updateTime, setUpdateTime] = useState<Date>(new Date());
const [onlineChargingData, setOnlineChargingData] = useState<ChargingData[]>([]);
const [offlineChargingData, setOfflineChargingData] = useState<ChargingData[]>([]);
......@@ -44,10 +45,10 @@ export default function ChargingTable() {
};
const onRefresh = () => {
console.log("refreshing charging data");
fetchChargingData("Online", setOnlineChargingData);
fetchChargingData("Offline", setOfflineChargingData);
fetchChargingRecord();
setUpdateTime(new Date());
};
useEffect(() => {
......@@ -71,6 +72,21 @@ export default function ChargingTable() {
{expand ? "Fold" : "Expand"}
</Button>
</Grid>
<Grid item>
<Button
color="secondary"
variant="contained"
onClick={() => onRefresh()}
sx={{ m: 2, backgroundColor: "blue", "&:hover": { backgroundColor: "blue" } }}
>
Refresh
</Button>
</Grid>
<Grid item>
<Button color="success" variant="contained" sx={{ m: 2 }} disabled>
Last update: {updateTime.toISOString().slice(0, 19).replace("T", " ")}
</Button>
</Grid>
</Grid>
<br />
<ChargingList
......
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