From e9191150f941959a32cc8eae852d71ce436c843f Mon Sep 17 00:00:00 2001 From: Ethan O'Brien Date: Mon, 27 May 2024 15:48:44 -0500 Subject: [PATCH] Forgot to upload these files --- .gitignore | 1 + webui/src/admin/Admin.css | 36 ++++++++++++++++++++++++++++++ webui/src/admin/Admin.jsx | 46 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 webui/src/admin/Admin.css create mode 100644 webui/src/admin/Admin.jsx diff --git a/.gitignore b/.gitignore index 2e45ca1..84f77bd 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ python/ webui/node_modules/ webui/dist/ Cargo.lock +config.json diff --git a/webui/src/admin/Admin.css b/webui/src/admin/Admin.css new file mode 100644 index 0000000..87822a0 --- /dev/null +++ b/webui/src/admin/Admin.css @@ -0,0 +1,36 @@ +body { + background-color: #616161; +} + +#home { + width: 90%; + margin: 50px auto; + background-color: #43A047; + border-radius: 10px; + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); + font-family: "Poppins", sans-serif; + padding: 20px 10px; +} + +#logout { + border: none; + text-align: center; + text-decoration: underline; + display: inline-block; + font-size: 16px; + transition-duration: 0.4s; + float: right; + background-color: yellow; + border-radius: 30px; + padding: 5px 20px; + cursor: pointer; +} + +#logout:hover { + background-color: red; +} + +#error p { + color: orange; + grid-template-columns: auto auto auto; +} diff --git a/webui/src/admin/Admin.jsx b/webui/src/admin/Admin.jsx new file mode 100644 index 0000000..06003cb --- /dev/null +++ b/webui/src/admin/Admin.jsx @@ -0,0 +1,46 @@ +import { useState, useParams, useEffect } from 'react' +import './Admin.css' +import Request from '../Request.jsx' + +function Admin() { + const [imp, setimp] = useState(); + const [exp, setexp] = useState(); + const ids = [setimp, setexp]; + + const handleSubmit = async (id, event) => { + ids[id](event.target.checked); + await Request( + "/api/webui/admin", + { + import: !!imp, + export: !!exp + } + ); + }; + + if (imp === undefined) { + (async () => { + let resp = await Request("/api/webui/admin"); + if (resp.result !== "OK") { + window.location.href = "/?message=" + encodeURIComponent(resp.message); + return; + } + setimp(resp.data.import); + setexp(resp.data.export); + })(); + } + + return ( +
+

Admin

+
+ handleSubmit(0, i)} /> +

+ handleSubmit(1, i)} /> + +
+
+ ); +} + +export default Admin;