diff --git a/client/components/pages/admin.jsx b/client/components/pages/admin.jsx
index 7ec0d12..93388c9 100644
--- a/client/components/pages/admin.jsx
+++ b/client/components/pages/admin.jsx
@@ -5,6 +5,7 @@ import { TokenContext } from '../utilities/token-provider';
import NewsPublisher from '../panels/news-publisher';
import NewsEditor from '../panels/news-editor';
+import PrivilegeEditor from '../panels/privilege-editor';
const Admin = props => {
//context
@@ -20,6 +21,7 @@ const Admin = props => {
Administration
+
);
};
diff --git a/client/components/panels/privilege-editor.jsx b/client/components/panels/privilege-editor.jsx
new file mode 100644
index 0000000..bec0868
--- /dev/null
+++ b/client/components/panels/privilege-editor.jsx
@@ -0,0 +1,70 @@
+import React, { useState, useRef, useContext } from 'react';
+import Select from 'react-dropdown-select';
+
+import { TokenContext } from '../utilities/token-provider';
+
+const PrivilegeEditor = props => {
+ //context
+ const authTokens = useContext(TokenContext);
+
+ //state
+ const [privilege, setPrivilege] = useState('normal');
+
+ //ref
+ const usernameRef = useRef();
+
+ return (
+
+ );
+};
+
+const handleSubmit = async (username, privilege, tokenFetch) => {
+ const result = await tokenFetch(`${process.env.AUTH_URI}/account/privilege`, {
+ method: 'PATCH',
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Access-Control-Allow-Origin': '*'
+ },
+ body: JSON.stringify({
+ username,
+ privilege
+ })
+ });
+
+ if (!result.ok) {
+ const err = `${result.status}: ${await result.text()}`;
+ console.log(err);
+ return [err, false];
+ }
+
+ return [null, true];
+};
+
+export default PrivilegeEditor;