diff --git a/client/src/Components/monitors/ControlsFilter.tsx b/client/src/Components/monitors/ControlsFilter.tsx index e37408819..d3f6e130e 100644 --- a/client/src/Components/monitors/ControlsFilter.tsx +++ b/client/src/Components/monitors/ControlsFilter.tsx @@ -5,6 +5,7 @@ import useMediaQuery from "@mui/material/useMediaQuery"; import type { MonitorType } from "@/Types/Monitor"; import { Typography, useTheme } from "@mui/material"; +import { useTranslation } from "react-i18next"; const types = ["http", "ping", "port", "docker", "game"]; const statuses = ["up", "down"]; @@ -30,6 +31,7 @@ export const ControlsFilter = ({ onClearFilters: () => void; }) => { const theme = useTheme(); + const { t } = useTranslation(); const isSmall = useMediaQuery(theme.breakpoints.down("md")); const isFilterActive = (selectedTypes?.length ?? 0) > 0 || selectedStatus !== "" || selectedState !== ""; @@ -88,7 +90,7 @@ export const ControlsFilter = ({ variant="contained" onClick={onClearFilters} > - Clear Filters + {t("common.buttons.clearFilters")} )} diff --git a/client/src/Pages/Uptime/Monitors/index.tsx b/client/src/Pages/Uptime/Monitors/index.tsx index 5c419738b..5e1672f8b 100644 --- a/client/src/Pages/Uptime/Monitors/index.tsx +++ b/client/src/Pages/Uptime/Monitors/index.tsx @@ -42,11 +42,11 @@ const UptimeMonitorsPage = () => { const debouncedSearch = useDebounce(search, 300); // Convert filter selections to API filter values - // Status: "up" -> true, "down" -> false + // Status: pass "up"/"down" directly to the API // State: "active" -> true, "paused" -> false const toFilterStatus = useMemo(() => { - if (selectedStatus === "up") return "true"; - if (selectedStatus === "down") return "false"; + if (selectedStatus === "up") return "up"; + if (selectedStatus === "down") return "down"; return undefined; }, [selectedStatus]); diff --git a/client/src/locales/en.json b/client/src/locales/en.json index bb740cd13..b3f3bbcf5 100644 --- a/client/src/locales/en.json +++ b/client/src/locales/en.json @@ -45,7 +45,8 @@ "removeMonitors": "Remove monitors", "sendTestEmail": "Send test email", "exportToJSON": "Export to JSON", - "importFromJSON": "Import from JSON" + "importFromJSON": "Import from JSON", + "clearFilters": "Clear filters" }, "charts": { "labels": { @@ -620,7 +621,6 @@ }, "filters": { "allMonitors": "All monitors", - "clearFilters": "Clear filters", "monitor": "Monitor", "resolutionType": "Resolution type", "resolutionTypes": {