import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { Company, Person } from '../../../generated/graphql'; import CompanyChip from '../../companies/components/CompanyChip'; import PersonPlaceholder from '../../people/components/person-placeholder.png'; import { PersonChip } from '../../people/components/PersonChip'; import { IconBuildingSkyscraper, IconCalendarEvent, IconMail, IconPhone, IconUser, IconUsers, } from '../../ui/icons'; import { getLogoUrlFromDomainName, humanReadableDate } from '../../utils/utils'; const StyledBoardCard = styled.div` color: ${(props) => props.theme.text80}; `; const StyledBoardCardHeader = styled.div` align-items: center; display: flex; flex-direction: row; font-weight: ${(props) => props.theme.fontWeightBold}; height: 24px; padding: ${(props) => props.theme.spacing(2)}; img { height: ${(props) => props.theme.iconSizeMedium}px; margin-right: ${(props) => props.theme.spacing(2)}; object-fit: cover; width: ${(props) => props.theme.iconSizeMedium}px; } `; const StyledBoardCardBody = styled.div` display: flex; flex-direction: column; gap: ${(props) => props.theme.spacing(2)}; padding: ${(props) => props.theme.spacing(2)}; span { align-items: center; display: flex; flex-direction: row; svg { color: ${(props) => props.theme.text40}; margin-right: ${(props) => props.theme.spacing(2)}; } } `; export const BoardCard = ({ item }: { item: Person | Company }) => { if (item?.__typename === 'Person') return ; if (item?.__typename === 'Company') return ; // @todo return card skeleton return null; }; const PersonBoardCard = ({ person }: { person: Person }) => { const fullname = `${person.firstname} ${person.lastname}`; const theme = useTheme(); return ( person {fullname} {person.email} {person.phone} {humanReadableDate(new Date(person.createdAt as string))} ); }; const CompanyBoardCard = ({ company }: { company: Company }) => { const theme = useTheme(); return ( {`${company.name}-company-logo`} {company.name} {company.employees} {humanReadableDate(new Date(company.createdAt as string))} ); };