Match Figma profile, blocks, auth, and archive backend
هذا الالتزام موجود في:
@@ -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">
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم