diff --git a/backend/internal/db/tags.go b/backend/internal/db/tags.go index 66381e2..225b4fe 100644 --- a/backend/internal/db/tags.go +++ b/backend/internal/db/tags.go @@ -11,53 +11,47 @@ func (db *DB) GetTrendingTags(limit int) ([]TrendingTag, error) { var query string if db.driver == "postgres" { query = ` - SELECT tag, SUM(cnt) as count FROM ( - SELECT value as tag, COUNT(*) as cnt + SELECT tag, COUNT(*) as count FROM ( + SELECT value as tag, author_did FROM annotations, json_array_elements_text(tags_json::json) as value WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > NOW() - INTERVAL '14 days' - GROUP BY tag UNION ALL - SELECT value as tag, COUNT(*) as cnt + SELECT value as tag, author_did FROM highlights, json_array_elements_text(tags_json::json) as value WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > NOW() - INTERVAL '14 days' - GROUP BY tag UNION ALL - SELECT value as tag, COUNT(*) as cnt + SELECT value as tag, author_did FROM bookmarks, json_array_elements_text(tags_json::json) as value WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > NOW() - INTERVAL '14 days' - GROUP BY tag ) combined GROUP BY tag - HAVING SUM(cnt) >= 2 + HAVING COUNT(DISTINCT author_did) >= 3 ORDER BY count DESC LIMIT $1 ` } else { query = ` - SELECT tag, SUM(cnt) as count FROM ( - SELECT json_each.value as tag, COUNT(*) as cnt + SELECT tag, COUNT(*) as count FROM ( + SELECT json_each.value as tag, author_did FROM annotations, json_each(annotations.tags_json) WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > datetime('now', '-14 days') - GROUP BY tag UNION ALL - SELECT json_each.value as tag, COUNT(*) as cnt + SELECT json_each.value as tag, author_did FROM highlights, json_each(highlights.tags_json) WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > datetime('now', '-14 days') - GROUP BY tag UNION ALL - SELECT json_each.value as tag, COUNT(*) as cnt + SELECT json_each.value as tag, author_did FROM bookmarks, json_each(bookmarks.tags_json) WHERE tags_json IS NOT NULL AND tags_json != '' AND tags_json != '[]' AND created_at > datetime('now', '-14 days') - GROUP BY tag ) combined GROUP BY tag - HAVING SUM(cnt) >= 2 + HAVING COUNT(DISTINCT author_did) >= 3 ORDER BY count DESC LIMIT ? ` diff --git a/web/src/App.tsx b/web/src/App.tsx index aa896a0..8cee4fd 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -27,6 +27,7 @@ import { } from "./routes/wrappers"; import About from "./views/About"; import AdminModeration from "./views/core/AdminModeration"; +import NotFound from "./views/NotFound"; function UrlRedirect() { const [searchParams] = useSearchParams(); @@ -241,7 +242,7 @@ export default function App() { } /> - } /> + } /> ); diff --git a/web/src/components/navigation/Sidebar.tsx b/web/src/components/navigation/Sidebar.tsx index 5aaf863..484e4e4 100644 --- a/web/src/components/navigation/Sidebar.tsx +++ b/web/src/components/navigation/Sidebar.tsx @@ -87,9 +87,6 @@ export default function Sidebar() { className="px-3 hover:opacity-80 transition-opacity w-fit flex items-center gap-2.5" > Margin - - Margin -