Improve admin photo view on mobile

This commit is contained in:
Sam Becker 2025-05-24 18:35:07 -05:00
parent ed8d3e4d7e
commit 79bd96ac13
2 changed files with 24 additions and 20 deletions

View File

@ -60,7 +60,7 @@ export default function AdminPhotosTable({
className={opacityForPhotoId(photo.id)} className={opacityForPhotoId(photo.id)}
/> />
<div className={clsx( <div className={clsx(
'flex flex-col lg:flex-row', 'flex flex-col lg:flex-row min-w-0',
opacityForPhotoId(photo.id), opacityForPhotoId(photo.id),
)}> )}>
<Link <Link
@ -70,16 +70,19 @@ export default function AdminPhotosTable({
prefetch={false} prefetch={false}
> >
<span className={clsx( <span className={clsx(
'flex w-full gap-1.5',
photo.hidden && 'text-dim', photo.hidden && 'text-dim',
)}> )}>
{titleForPhoto(photo, false)} <span className="truncate">
{photo.hidden && <span className="whitespace-nowrap"> {titleForPhoto(photo, false)}
{' '} </span>
<IconHidden {photo.hidden &&
className="inline translate-y-[-0.5px]" <span>
size={16} <IconHidden
/> className="inline translate-y-[-0.5px]"
</span>} size={16}
/>
</span>}
</span> </span>
{photo.priorityOrder !== null && {photo.priorityOrder !== null &&
<span className={clsx( <span className={clsx(
@ -91,21 +94,22 @@ export default function AdminPhotosTable({
</span>} </span>}
</Link> </Link>
<div className={clsx( <div className={clsx(
'flex min-w-0 gap-1.5 w-full',
'lg:w-[50%] uppercase', 'lg:w-[50%] uppercase',
'text-dim', 'text-dim',
)}> )}>
{<> <PhotoDate
<PhotoDate {...{ photo, dateType, timezone }} /> {...{ photo, dateType, timezone }}
{photoNeedsToBeSynced(photo) && className="truncate"
/>
{photoNeedsToBeSynced(photo) &&
<span>
<Tooltip <Tooltip
content={getPhotoSyncStatusText(photo)} content={getPhotoSyncStatusText(photo)}
classNameTrigger={clsx( classNameTrigger="text-blue-600 dark:text-blue-400"
'ml-1.5',
'text-blue-600 dark:text-blue-400',
)}
supportMobile supportMobile
/>} />
</>} </span>}
</div> </div>
</div> </div>
<div className={clsx( <div className={clsx(

View File

@ -62,14 +62,14 @@ export default function ResponsiveDate({
</span> </span>
{/* Medium */} {/* Medium */}
<span <span
className={clsx('hidden xs:inline-block sm:hidden', contentClass)} className={clsx('hidden xs:inline sm:hidden', contentClass)}
aria-hidden aria-hidden
> >
{formatDate({ ...formatDateProps, length: 'medium' })} {formatDate({ ...formatDateProps, length: 'medium' })}
</span> </span>
{/* Large */} {/* Large */}
<span <span
className={clsx('hidden sm:inline-block', contentClass)} className={clsx('hidden sm:inline', contentClass)}
> >
{formatDate(formatDateProps)} {formatDate(formatDateProps)}
</span> </span>