ew/webui/src/admin/Admin.jsx
Ethan O'Brien a6592beed0 hmm
2024-05-27 16:15:45 -05:00

47 lines
1.3 KiB
JavaScript

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) => {
await Request(
"/api/webui/admin",
{
import: !!imp,
export: !!exp
}
);
ids[id](event.target.checked);
};
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 (
<div id="home">
<h1>Admin</h1>
<div>
<input type="checkbox" id="import" name="import" checked={!!imp} onClick={(i)=>handleSubmit(0, i)} />
<label for="import">Allow account imports</label><br/><br/>
<input type="checkbox" id="exp" name="exp" checked={!!exp} onClick={(i)=>handleSubmit(1, i)} />
<label for="exp">Allow account exports</label>
</div>
</div>
);
}
export default Admin;