2
2
mirror of https://github.com/Thream/website.git synced 2024-07-21 09:28:32 +02:00
website/components/Application/Members/Member.tsx

49 lines
1.4 KiB
TypeScript
Raw Permalink Normal View History

2022-08-30 21:30:06 +02:00
import { memo } from 'react'
import Image from 'next/image'
import Link from 'next/link'
2022-08-31 21:44:33 +02:00
import type { MemberWithPublicUser } from '../../../models/Member'
import { Emoji } from '../../Emoji'
export interface MemberProps {
member: MemberWithPublicUser
}
2022-08-30 21:30:06 +02:00
const MemberMemo: React.FC<MemberProps> = (props) => {
const { member } = props
return (
<Link href={`/application/users/${member.user.id}`}>
2023-04-03 00:11:19 +02:00
<div className='flex cursor-pointer items-center overflow-hidden px-6 py-2 pr-10 hover:bg-gray-300 dark:hover:bg-gray-900'>
2022-12-13 11:38:07 +01:00
<div className='flex min-w-[50px] rounded-full'>
<Image
src={
member.user.logo == null
? '/images/data/user-default.png'
: member.user.logo
}
alt={"Users's profil picture"}
height={50}
width={50}
draggable={false}
className='rounded-full'
/>
</div>
2022-12-13 11:38:07 +01:00
<div className='ml-5'>
<p data-cy='member-user-name' className='flex truncate font-bold'>
{member.user.name}
{member.isOwner && (
<span className='ml-4'>
<Emoji value=':crown:' size={18} />
</span>
)}
</p>
{member.user.status != null && member.user.status}
</div>
</div>
</Link>
)
}
2022-08-30 21:30:06 +02:00
export const Member = memo(MemberMemo)