diff --git a/frontend/src/components/Sidebar.tsx b/frontend/src/components/Sidebar.tsx index c835ef6..0134ec8 100644 --- a/frontend/src/components/Sidebar.tsx +++ b/frontend/src/components/Sidebar.tsx @@ -541,21 +541,24 @@ export default function Sidebar({ > -
- {t("sidebar.filters")} - {activeCount > 0 && ( - - {t("sidebar.activeCount", { count: activeCount })} - - )} -
+ {t("sidebar.filters")} + {activeCount > 0 && ( + // Compact count pill (not "{n} active" text) so it never truncates or forces the + // action buttons to wrap in a narrow / zoomed-in sidebar. + + {activeCount} + + )} -
+
{!editing && ( diff --git a/frontend/src/components/SyncStatus.tsx b/frontend/src/components/SyncStatus.tsx index 54ad51f..435d70d 100644 --- a/frontend/src/components/SyncStatus.tsx +++ b/frontend/src/components/SyncStatus.tsx @@ -1,6 +1,6 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; -import { Clock, Database, History, Loader2, Pause, Play } from "lucide-react"; +import { CheckCircle2, Clock, Database, History, Loader2, Pause, Play } from "lucide-react"; import { api, type MyStatus } from "../lib/api"; import { formatViews } from "../lib/format"; import Tooltip from "./Tooltip"; @@ -75,7 +75,11 @@ export default function SyncStatus({ {t("header.sync.recentQueued", { count: syncing })} ) : ( - {t("header.sync.allSynced")} + // A small check anchors the "all synced" state so it doesn't read as orphaned text. + + + {t("header.sync.allSynced")} + ); const pauseBtn = isAdmin && (data.paused || syncing > 0 || notFull > 0) && (