{filtered.map((project) => {
- const key = String(project.submission_id ?? project.id);
+ const key = String(project.submission_id ?? project.id ?? Math.random());
const href = detailHref(project);
const src = imageSrc(project);
return (
@@ -285,7 +313,6 @@ export default function ProjectsPage() {
- {/* highlight title if searching */}
- {Array.isArray(project.tags) && project.tags.length > 0
- ? project.tags.map((tag, i) => (
+ {(() => {
+ const tags =
+ Array.isArray(project.tags)
+ ? project.tags
+ : typeof project.tags === "string"
+ ? project.tags.split(",").map((t) => t.trim()).filter(Boolean)
+ : [];
+ return tags.length
+ ? tags.map((tag, i) => (
setQuery(tag)} title={tag}>
{tag}
))
- : ""}
-
-
-
+ : "";
+ })()}
+
+
+
);
})}