From dd5954caad39366ba2327c765d0c0ccc60a4e4d7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 20 Jan 2026 16:57:44 +0000 Subject: [PATCH] fix: improve content filtering for unknown types - Unknown content types (systems, news-scrapper) treated as text - Filter "text" now includes news and unknown types - Add KNOWN_CONTENT_TYPES set for type detection Co-Authored-By: Claude Opus 4.5 --- src/components/Filters/ContentFilters.jsx | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/components/Filters/ContentFilters.jsx b/src/components/Filters/ContentFilters.jsx index 4ad260e..8a6364a 100644 --- a/src/components/Filters/ContentFilters.jsx +++ b/src/components/Filters/ContentFilters.jsx @@ -28,6 +28,21 @@ export default function ContentFilters({ activeFilter, onFilterChange }) { ); } +// Known content types - anything not in this list is treated as text +const KNOWN_CONTENT_TYPES = new Set([ + "photo", "picture", "image", + "video", + "camera", "live", "stream", + "post", "text", "blog", + "news", + "event", + "weather", "traffic" +]); + +function isUnknownType(ct) { + return ct && !KNOWN_CONTENT_TYPES.has(ct); +} + // Export filter matching function for reuse export function matchesContentFilter(post, filter) { if (!filter || filter === "all") return true; @@ -38,14 +53,16 @@ export function matchesContentFilter(post, filter) { switch (filter) { case "links": - return cat === "news" || ct === "news"; + // News links + unknown types with news category (e.g., systems, news-scrapper) + return cat === "news" || ct === "news" || (isUnknownType(ct) && cat === "news"); case "video": // Recorded videos only return ct === "video"; case "image": return hasImage && !hasVideo && ct !== "camera" && ct !== "video"; case "text": - return ct === "post" || ct === "text" || ct === "blog" || cat === "friends"; + // Text posts + news + unknown types default to text (systems, news-scrapper, etc.) + return ct === "post" || ct === "text" || ct === "blog" || ct === "news" || cat === "friends" || cat === "news" || isUnknownType(ct); case "live": // Only live content: cameras (quebec511), live streams - NOT recorded videos return ct === "live" || ct === "stream" || ct === "camera";