import { CogIcon, UserIcon } from '@heroicons/react/solid'; import Link from 'next/link'; import React from 'react'; import { defineMessages, useIntl } from 'react-intl'; import { Permission, User, useUser } from '../../../hooks/useUser'; import Button from '../../Common/Button'; const messages = defineMessages({ settings: 'Edit Settings', profile: 'View Profile', joindate: 'Joined {joindate}', userid: 'User ID: {userid}', }); interface ProfileHeaderProps { user: User; isSettingsPage?: boolean; } const ProfileHeader: React.FC = ({ user, isSettingsPage, }) => { const intl = useIntl(); const { user: loggedInUser, hasPermission } = useUser(); const subtextItems: React.ReactNode[] = [ intl.formatMessage(messages.joindate, { joindate: intl.formatDate(user.createdAt, { year: 'numeric', month: 'long', day: 'numeric', }), }), ]; if (hasPermission(Permission.MANAGE_REQUESTS)) { subtextItems.push(intl.formatMessage(messages.userid, { userid: user.id })); } return (

{user.displayName} {user.email && ( ({user.email}) )}

{subtextItems.reduce((prev, curr) => ( <> {prev} | {curr} ))}

{(loggedInUser?.id === user.id || (user.id !== 1 && hasPermission(Permission.MANAGE_USERS))) && !isSettingsPage ? ( ) : ( isSettingsPage && ( ) )}
); }; export default ProfileHeader;