Skip to content

Commit 1153101

Browse files
committed
Add animation and first round at doing sidebar for editing permissions
1 parent 5438848 commit 1153101

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

resources/scripts/components/server/users/UsersContainer.tsx

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
33
import { faUserPlus } from '@fortawesome/free-solid-svg-icons/faUserPlus';
44
import { ServerContext } from '@/state/server';
55
import Spinner from '@/components/elements/Spinner';
6+
import { Subuser } from '@/state/server/subusers';
7+
import { CSSTransition } from 'react-transition-group';
68

79
export default () => {
810
const [ loading, setLoading ] = useState(true);
11+
const [ editSubuser, setEditSubuser ] = useState<Subuser | null>(null);
12+
913
const uuid = ServerContext.useStoreState(state => state.server.data!.uuid);
1014
const subusers = ServerContext.useStoreState(state => state.subusers.data);
1115
const getSubusers = ServerContext.useStoreActions(actions => actions.subusers.getSubusers);
@@ -22,7 +26,7 @@ export default () => {
2226
if (subusers.length > 0) {
2327
setLoading(false);
2428
}
25-
}, [subusers]);
29+
}, [ subusers ]);
2630

2731
return (
2832
<div className={'flex my-10'}>
@@ -47,23 +51,39 @@ export default () => {
4751
<p className={'text-sm'}>{subuser.email}</p>
4852
</div>
4953
<div className={'ml-4'}>
50-
<button className={'btn btn-xs btn-primary'}>
54+
<button
55+
className={'btn btn-xs btn-primary'}
56+
onClick={() => setEditSubuser(subuser)}
57+
>
5158
Edit
5259
</button>
53-
<button className={'ml-2 btn btn-xs btn-red btn-secondary'}>
60+
<button
61+
className={'ml-2 btn btn-xs btn-red btn-secondary'}
62+
onClick={() => setEditSubuser(null)}
63+
>
5464
Remove
5565
</button>
5666
</div>
5767
</div>
5868
))
5969
}
6070
</div>
61-
<div className={'flex justify-end mt-4'}>
71+
<div className={'flex justify-end mt-6'}>
6272
<button className={'btn btn-primary btn-sm'}>
6373
<FontAwesomeIcon icon={faUserPlus} className={'mr-1'}/> New User
6474
</button>
6575
</div>
6676
</div>
77+
{editSubuser &&
78+
<CSSTransition timeout={250} classNames={'fade'} appear={true} in={true}>
79+
<div className={'flex-1 ml-6'}>
80+
<h2 className={'text-neutral-300 mb-4'}>Edit {editSubuser.email}</h2>
81+
<div className={'border-t-4 border-primary-400 grey-box mt-0'}>
82+
<p>Edit permissions here.</p>
83+
</div>
84+
</div>
85+
</CSSTransition>
86+
}
6787
</div>
6888
);
6989
};

0 commit comments

Comments
 (0)