diff --git a/client/src/Structures/Dropdown.js b/client/src/Structures/Dropdown.js new file mode 100644 index 0000000..a5fbee4 --- /dev/null +++ b/client/src/Structures/Dropdown.js @@ -0,0 +1,37 @@ +import React from "react"; +import '../css/Structures.css'; + +const DropdownItem = ({ onUpdate, id, item: {name, value}}) => { + + return ( +
+ + +
+ ); + +}; + +const Dropdown = ({items, name, onUpdate}) => { + + return ( +
+ {name} +
+ {items.map(item => { + const id = `${name}:${item.name}`; + return ; + })} +
+
+ ); + +}; + +export default Dropdown; \ No newline at end of file diff --git a/client/src/pages/Panel.js b/client/src/pages/Panel.js index ad74748..65ea9fe 100644 --- a/client/src/pages/Panel.js +++ b/client/src/pages/Panel.js @@ -1,11 +1,39 @@ import React, { useEffect, useState } from "react"; import '../css/Panel.css'; +import Dropdown from "../Structures/Dropdown"; const User = ({user}) => { + const { permissions } = user; + const perms = Object.entries(permissions) + .map(([name, value]) => { return { name, value }; }); + + const onUpdate = (event) => { + console.log(permissions); + const perm = event.target.name; + const value = event.target.checked; + permissions[perm] = value; + }; + return ( -
- {user.tag} +
+
+ {user.tag} ({user.id}) +
+ +
+ +
+ +
+ Manage Uploads +
+ +
+ +
); @@ -27,8 +55,15 @@ const Panel = () => { }, []); return ( -
- {users.length ? users.map(user => ):'No users'} +
+ {users.length ? users.map(user => ) : 'No users'} + +
+ +
+
);