feat: optimize display effect when image loading fails

This commit is contained in:
codytseng 2025-02-14 12:17:01 +08:00
parent c4b9b397a6
commit 41d46b1a13
12 changed files with 76 additions and 55 deletions

View file

@ -9,8 +9,8 @@ import { useMuteList } from '@/providers/MuteListProvider'
import { useNostr } from '@/providers/NostrProvider'
import { useScreenSize } from '@/providers/ScreenSizeProvider'
import client from '@/services/client.service'
import relayInfoService from '@/services/relay-info.service'
import storage from '@/services/local-storage.service'
import relayInfoService from '@/services/relay-info.service'
import { TNoteListMode } from '@/types'
import dayjs from 'dayjs'
import { Event, Filter, kinds } from 'nostr-tools'
@ -326,30 +326,10 @@ function PictureNoteCardMasonry({
}
function LoadingSkeleton({ isPictures }: { isPictures: boolean }) {
const { isLargeScreen } = useScreenSize()
const { t } = useTranslation()
if (isPictures) {
return (
<div
className={cn(
'px-2 sm:px-4 grid',
isLargeScreen ? 'grid-cols-3 gap-4' : 'grid-cols-2 gap-2'
)}
>
{[...Array(isLargeScreen ? 3 : 2)].map((_, i) => (
<div key={i}>
<Skeleton className="rounded-lg w-full aspect-[6/8]" />
<div className="p-2">
<Skeleton className="w-32 h-5" />
<div className="flex items-center gap-2 mt-2">
<Skeleton className="w-5 h-5 rounded-full" />
<Skeleton className="w-16 h-3" />
</div>
</div>
</div>
))}
</div>
)
return <div className="text-center text-sm text-muted-foreground">{t('loading...')}</div>
}
return (