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 ( +
+

Privilege Editor

+
{ + evt.preventDefault(); + const [err, result] = await handleSubmit(usernameRef.current.value, privilege, authTokens.tokenFetch); + + if (err) { + alert(err); + } + + if (result) { + alert('Privilege set'); + usernameRef.current.value = ''; + } + }}> +
+ + +
+ +