mirror of https://github.com/MaxLeiter/Drift
client/server: clean-up admin page, re-implement user deletion/role toggling
parent
3d2bec0d5e
commit
be6de7c796
@ -0,0 +1,43 @@
|
|||||||
|
import { Popover, Button } from "@geist-ui/core"
|
||||||
|
import { MoreVertical } from "@geist-ui/icons"
|
||||||
|
|
||||||
|
type Action = {
|
||||||
|
title: string
|
||||||
|
onClick: () => void
|
||||||
|
}
|
||||||
|
|
||||||
|
const ActionDropdown = ({
|
||||||
|
title = "Actions",
|
||||||
|
actions,
|
||||||
|
showTitle = false,
|
||||||
|
}: {
|
||||||
|
title?: string,
|
||||||
|
showTitle?: boolean,
|
||||||
|
actions: Action[]
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<Popover
|
||||||
|
title={title}
|
||||||
|
content={
|
||||||
|
<>
|
||||||
|
{showTitle && <Popover.Item title>
|
||||||
|
{title}
|
||||||
|
</Popover.Item>}
|
||||||
|
{actions.map(action => (
|
||||||
|
<Popover.Item
|
||||||
|
onClick={action.onClick}
|
||||||
|
key={action.title}
|
||||||
|
>
|
||||||
|
{action.title}
|
||||||
|
</Popover.Item>
|
||||||
|
))}
|
||||||
|
</>
|
||||||
|
}
|
||||||
|
hideArrow
|
||||||
|
>
|
||||||
|
<Button iconRight={<MoreVertical />} auto></Button>
|
||||||
|
</Popover>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ActionDropdown
|
||||||
Loading…
Reference in New Issue