feat: Add new icons for NoSignal and EyeSlash

This commit adds two new icons, NoSignal and EyeSlash, to the IconProp enum. It also includes the necessary code changes in the Icon component to render these icons. These icons will be used in the Monitor SideMenu to represent monitors with all probes disconnected and monitors with all probes disabled, respectively.
This commit is contained in:
Simon Larsen
2024-07-03 16:55:31 +01:00
parent e025f996e4
commit 9866919873
7 changed files with 42 additions and 27 deletions

View File

@@ -121,6 +121,8 @@ enum IconProp {
Minus = "Minus",
MinusSmall = "MinusSmall",
Template = "Template",
NoSignal = "NoSignal",
EyeSlash = "EyeSlash",
}
export default IconProp;

View File

@@ -130,6 +130,22 @@ const Icon: FunctionComponent<ComponentProps> = ({
d="M6 18L18 6M6 6l12 12"
/>,
);
} else if (icon === IconProp.NoSignal) {
return getSvgWrapper(
<path
strokeLinecap="round"
strokeLinejoin="round"
d="m3 3 8.735 8.735m0 0a.374.374 0 1 1 .53.53m-.53-.53.53.53m0 0L21 21M14.652 9.348a3.75 3.75 0 0 1 0 5.304m2.121-7.425a6.75 6.75 0 0 1 0 9.546m2.121-11.667c3.808 3.807 3.808 9.98 0 13.788m-9.546-4.242a3.733 3.733 0 0 1-1.06-2.122m-1.061 4.243a6.75 6.75 0 0 1-1.625-6.929m-.496 9.05c-3.068-3.067-3.664-7.67-1.79-11.334M12 12h.008v.008H12V12Z"
/>,
);
} else if (icon === IconProp.EyeSlash) {
return getSvgWrapper(
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88"
/>,
);
} else if (icon === IconProp.Logs) {
return getSvgWrapper(
<path

View File

@@ -7,7 +7,7 @@ const DisabledMonitors: FunctionComponent = (): ReactElement => {
<MonitorTable
query={{
projectId: DashboardNavigation.getProjectId()?.toString(),
disableActiveMonitoring: true,
isNoProbeEnabledOnThisMonitor: true,
}}
noItemsMessage="No monitors with disabled probes. All your monitors are being monitored."
title="Monitors with all probes disabled"

View File

@@ -7,7 +7,7 @@ const DisabledMonitors: FunctionComponent = (): ReactElement => {
<MonitorTable
query={{
projectId: DashboardNavigation.getProjectId()?.toString(),
disableActiveMonitoring: true,
isAllProbesDisconnectedFromThisMonitor: true,
}}
noItemsMessage="No monitors with disconnected probes. All your monitors are being monitored."
title="Monitors with all probes disconnected"

View File

@@ -49,7 +49,6 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
}}
/>
{props.project?.isFeatureFlagMonitorGroupsEnabled ? (
<SideMenuSection title="Monitor Groups">
<SideMenuItem
@@ -65,24 +64,24 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
) : (
<></>
)}
</SideMenuSection>
<SideMenuSection title="Not Being Monitored">
<CountModelSideMenuItem<Monitor>
link={{
title: "Disabled Monitors",
to: RouteUtil.populateRouteParams(
RouteMap[PageMap.MONITORS_DISABLED] as Route,
),
}}
icon={IconProp.Error}
badgeType={BadgeType.DANGER}
modelType={Monitor}
countQuery={{
projectId: props.project?._id,
disableActiveMonitoring: true,
}}
/>
</SideMenuSection>
<SideMenuSection title="Not Being Monitored">
<CountModelSideMenuItem<Monitor>
link={{
title: "Disabled Monitors",
to: RouteUtil.populateRouteParams(
RouteMap[PageMap.MONITORS_DISABLED] as Route,
),
}}
icon={IconProp.Error}
badgeType={BadgeType.DANGER}
modelType={Monitor}
countQuery={{
projectId: props.project?._id,
disableActiveMonitoring: true,
}}
/>
<CountModelSideMenuItem<Monitor>
link={{
@@ -91,7 +90,7 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
RouteMap[PageMap.MONITORS_PROBE_DISCONNECTED] as Route,
),
}}
icon={IconProp.Alert}
icon={IconProp.NoSignal}
badgeType={BadgeType.DANGER}
modelType={Monitor}
countQuery={{
@@ -107,7 +106,7 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
RouteMap[PageMap.MONITORS_PROBE_DISABLED] as Route,
),
}}
icon={IconProp.Alert}
icon={IconProp.EyeSlash}
badgeType={BadgeType.DANGER}
modelType={Monitor}
countQuery={{
@@ -115,9 +114,7 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
isNoProbeEnabledOnThisMonitor: true,
}}
/>
</SideMenuSection>
</SideMenu>
);
};

View File

@@ -131,13 +131,14 @@ const MonitorRoutes: FunctionComponent<ComponentProps> = (
<Suspense fallback={Loader}>
<MonitorprobeDisconnected
{...props}
pageRoute={RouteMap[PageMap.MONITORS_PROBE_DISCONNECTED] as Route}
pageRoute={
RouteMap[PageMap.MONITORS_PROBE_DISCONNECTED] as Route
}
/>
</Suspense>
}
/>
<PageRoute
path={MonitorsRoutePath[PageMap.MONITORS_PROBE_DISABLED] || ""}
element={

View File

@@ -12,7 +12,6 @@ export const MonitorsRoutePath: Dictionary<string> = {
[PageMap.MONITORS_PROBE_DISCONNECTED]: "probe-disconnected",
[PageMap.MONITORS_PROBE_DISABLED]: "probe-disabled",
[PageMap.MONITOR_VIEW]: `${RouteParams.ModelID}`,
[PageMap.MONITOR_VIEW_INTERVAL]: `${RouteParams.ModelID}/interval`,
[PageMap.MONITOR_VIEW_OWNERS]: `${RouteParams.ModelID}/owners`,