Match Figma profile, blocks, auth, and archive backend

هذا الالتزام موجود في:
boutmoun123
2026-06-28 18:46:01 +03:00
الأصل 3298338e70
التزام 36ac36e333
44 ملفات معدلة مع 1245 إضافات و39 حذوفات

عرض الملف

@@ -44,10 +44,18 @@ export function PostPreviewCard({ post }: { post: ApiPost }) {
const showImagePreview = !!media.url && !imageFailed && !(media.kind === "video" && isVideoPlaying);
const showMediaShell = media.kind !== "text";
const showUnavailable = !showImagePreview && !showVideoPreview && !showAudioPreview;
const topText = post.contentTop?.trim() ?? "";
const bottomText = post.contentBottom?.trim() || post.content?.trim() || "";
return (
<Card className="overflow-hidden border-border/70">
<CardContent className="p-0">
{topText ? (
<div className="border-b border-border/70 p-4">
<p className="line-clamp-4 text-sm leading-6 text-foreground">{topText}</p>
</div>
) : null}
{showMediaShell ? (
<div className="relative aspect-[16/9] border-b border-border/70 bg-secondary/30">
{showImagePreview ? (
@@ -157,7 +165,7 @@ export function PostPreviewCard({ post }: { post: ApiPost }) {
</div>
<p className="line-clamp-4 text-sm leading-6 text-foreground">
{post.content?.trim() || "Media post without caption."}
{bottomText || "Media post without caption."}
</p>
<div className="flex flex-wrap gap-2 text-xs text-muted-foreground">