import { Avatar, Collapse, Flex, Text, createStyles } from '@mantine/core'; import { useState } from 'react'; import { AppAvatar } from '~/components/AppAvatar'; import { GenericSessionInfo } from '~/types/api/media-server/session-info'; import { AppType } from '~/types/app'; import { DetailCollapseable } from './DetailCollapseable'; import { NowPlayingDisplay } from './NowPlayingDisplay'; interface TableRowProps { session: GenericSessionInfo; app: AppType | undefined; } export const TableRow = ({ session, app }: TableRowProps) => { const [collapseOpen, setCollapseOpen] = useState(false); const hasUserThumb = session.userProfilePicture !== undefined; const { classes } = useStyles(); return ( <> setCollapseOpen(!collapseOpen)}> {app?.appearance.iconUrl && } {session.sessionName} {hasUserThumb ? ( ) : ( {session.username?.at(0)?.toUpperCase()} )} {session.username} ); }; const useStyles = createStyles(() => ({ dataRow: { cursor: 'pointer', }, collapseTableDataCell: { border: 'none !important', padding: '0 !important', }, }));