diff --git a/pages/time.js b/pages/time.js
index edad8c3..505a10c 100644
--- a/pages/time.js
+++ b/pages/time.js
@@ -4,6 +4,9 @@ import {
Alert,
Snackbar,
Button,
+ FormGroup,
+ FormControlLabel,
+ Checkbox,
Stack,
Dialog,
DialogTitle,
@@ -36,6 +39,8 @@ export default function Time(props) {
const [token, setToken] = useState("");
const [stats, setStats] = useState({});
+ const [onlyShowAvaliable, setOnlyShowAvaliable] = useState(true);
+
const [modifyTime, setModifyTime] = useState({});
const router = useRouter();
@@ -136,8 +141,6 @@ export default function Time(props) {
};
const refreshRanges = () => {
- getLimit();
- getStats();
fetch(`${prefix}/api/time/ranges`)
.then((res) => res.json())
.then((res) => {
@@ -219,11 +222,17 @@ export default function Time(props) {
useEffect(() => {
refreshRanges();
+ getLimit();
+ getStats();
const interval = setInterval(() => {
- refreshRanges();
+ getLimit();
+ getStats();
+ if (!onlyShowAvaliable) {
+ refreshRanges();
+ }
}, 1000);
return () => clearInterval(interval);
- }, []);
+ }, [onlyShowAvaliable]);
/*
useEffect(() => {
@@ -324,6 +333,17 @@ export default function Time(props) {
>
Refresh
+
+ setOnlyShowAvaliable(e.target.checked)}
+ />
+ }
+ label="仅显示空余"
+ />
+
当前每人数量上限: {limit}
@@ -340,43 +360,48 @@ export default function Time(props) {
- {ranges.map((range) => (
-
- {range.name}
- {range.range}
-
-
- {isAdmin() && (
- <>
-
-
- >
- )}
-
-
- ))}
+ {ranges.map((range) => {
+ if (onlyShowAvaliable && range.username !== "") {
+ return;
+ }
+ return (
+
+ {range.name}
+ {range.range}
+
+
+ {isAdmin() && (
+ <>
+
+
+ >
+ )}
+
+
+ );
+ })}