28 lines
783 B
TypeScript
28 lines
783 B
TypeScript
|
|
import { useState } from 'react'
|
||
|
|
import { AdminLayout } from '../Admin'
|
||
|
|
import { Tabs } from '../../../design-system/composites/Tabs/Tabs'
|
||
|
|
import { UsersTab } from './UsersTab'
|
||
|
|
import { GroupsTab } from './GroupsTab'
|
||
|
|
import { RolesTab } from './RolesTab'
|
||
|
|
|
||
|
|
const TABS = [
|
||
|
|
{ label: 'Users', value: 'users' },
|
||
|
|
{ label: 'Groups', value: 'groups' },
|
||
|
|
{ label: 'Roles', value: 'roles' },
|
||
|
|
]
|
||
|
|
|
||
|
|
export function UserManagement() {
|
||
|
|
const [tab, setTab] = useState('users')
|
||
|
|
|
||
|
|
return (
|
||
|
|
<AdminLayout title="User Management">
|
||
|
|
<Tabs tabs={TABS} active={tab} onChange={setTab} />
|
||
|
|
<div style={{ marginTop: 16 }}>
|
||
|
|
{tab === 'users' && <UsersTab />}
|
||
|
|
{tab === 'groups' && <GroupsTab />}
|
||
|
|
{tab === 'roles' && <RolesTab />}
|
||
|
|
</div>
|
||
|
|
</AdminLayout>
|
||
|
|
)
|
||
|
|
}
|