forked from canada-ca/tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserCard.js
More file actions
31 lines (29 loc) · 866 Bytes
/
UserCard.js
File metadata and controls
31 lines (29 loc) · 866 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import React from 'react'
import { Badge, Grid, Text } from '@chakra-ui/react'
import { string } from 'prop-types'
export function UserCard({ userName, displayName, role, ...props }) {
return (
<Grid templateColumns={{ base: 'auto', md: '45% auto auto' }} columnGap="1.5rem" {...props}>
<Text fontSize="md" wordBreak="break-all" ml={{ md: '1rem' }}>
{userName}
</Text>
<Text>{displayName}</Text>
{role && (
<Badge
variant="solid"
bg={role === 'USER' ? 'primary' : role === 'ADMIN' ? 'info' : role === 'PENDING' ? 'strong' : 'weak'}
pt={1}
mr={{ md: '1rem' }}
justifySelf={{ base: 'start', md: 'end' }}
>
{role}
</Badge>
)}
</Grid>
)
}
UserCard.propTypes = {
userName: string.isRequired,
displayName: string,
role: string,
}