+ {hasThumbnail ? (
+
+ ) : (
+
+
+
+
+
+ {fallbackEmoji}
+
+ )}
+ {/* Dark gradient overlay for text readability */}
+
+
+
+ + {post.title} +
+ + {tagLabel} + +
+ {post.description && (
+
++ {post.description} +
+ )} + +
+ {member && (
+
+
+ {member.name.charAt(0)}
+
+ {t("communityFeed.author")}: {member.name}
+
+ )}
+
+ →
+
+
+
+
+
+ 📅
+
+ {t("communityFeed.updatedAt")}: {formattedDate}
+
+
+ {post.type === "project" && (
+
+
+ )}
+
+ {/* Extra excerpt line for non-project cards */}
+ {post.type !== "project" && post.description && (
+
+
+ 🔗 {t("communityFeed.liveDemo")}
+
+ {post.repoUrl && (
+
+ 📦 {t("communityFeed.github")}
+
+ )}
+
+ {post.techStack && post.techStack.length > 0 && (
+
+ {post.techStack.map((tech: string) => (
+
+ {tech}
+
+ ))}
+
+ )}
+ + {post.description} +
+ )} +