import { DetailItem, TitlePageAsideLayout, } from '@app/titles/pages/title-page/title-page-aside-layout'; import {PersonPoster} from '@app/people/person-poster/person-poster'; import {Trans} from '@common/i18n/trans'; import {FormattedDate} from '@common/i18n/formatted-date'; import React from 'react'; import {PersonAge} from '@app/people/person-age'; import {GetPersonResponse} from '@app/people/requests/use-person'; import {ShareMenuTrigger} from '@app/sharing/share-menu-trigger'; import {Button} from '@common/ui/buttons/button'; import {ShareIcon} from '@common/icons/material/Share'; import {Person} from '@app/titles/models/person'; import {getPersonLink} from '@app/people/person-link'; import {IconButton} from '@common/ui/buttons/icon-button'; import {Link} from 'react-router-dom'; import {EditIcon} from '@common/icons/material/Edit'; import {useAuth} from '@common/auth/use-auth'; interface Props { data: GetPersonResponse; } export function PersonPageAside({data: {person, total_credits_count}}: Props) { const {hasPermission} = useAuth(); const age = ( }} /> ); return ( {hasPermission('titles.update') && ( )} } > {person.known_for && ( }> )} {person.gender && ( }> )} {total_credits_count ? ( }> {total_credits_count} ) : null} {person.birth_date ? ( }> {' '} {!person.death_date && age} ) : null} {person.birth_place ? ( }> {person.birth_place} ) : null} {person.death_date ? ( }> ({age}) ) : null} ); } interface ShareButtonProps { person: Person; } function ShareButton({person}: ShareButtonProps) { const link = getPersonLink(person, {absolute: true}); return ( } className="mt-14 md:min-h-40 md:w-full" > ); }