+
- Timeline
+
Timeline
- {isLoading ? (
-
- ) : (
-
- ({
- title: formatTimestamp(entry.timestamp),
- })) || []
- }
- hideControls
- disableToolbar
- borderLessCards
- slideShow={false}
- mode="VERTICAL"
- theme={{
- primary: "orange",
- secondary: "rgb(255 247 237)",
- titleColor: "orange",
- titleColorActive: "orange",
- }}
- fontSizes={{
- title: ".75rem",
- }}
- cardWidth={400}
- cardHeight="auto"
- classNames={{
- card: "hidden",
- cardMedia: "hidden",
- cardSubTitle: "hidden",
- cardText: "hidden",
- cardTitle: "hidden",
- title: "mb-3",
- contentDetails: "w-full !m-0",
- }}
- >
- {content}
-
-
- )}
+
+ {isLoading ? (
+
+ ) : (
+
+ ({
+ title: formatTimestamp(entry.timestamp),
+ })) || []
+ }
+ hideControls
+ disableToolbar
+ borderLessCards
+ slideShow={false}
+ mode="VERTICAL"
+ theme={{
+ primary: "orange",
+ secondary: "rgb(255 247 237)",
+ titleColor: "orange",
+ titleColorActive: "orange",
+ }}
+ fontSizes={{
+ title: ".75rem",
+ }}
+ cardWidth={400}
+ cardHeight="auto"
+ classNames={{
+ card: "hidden",
+ cardMedia: "hidden",
+ cardSubTitle: "hidden",
+ cardText: "hidden",
+ cardTitle: "hidden",
+ title: "mb-3",
+ contentDetails: "w-full !m-0",
+ }}
+ >
+ {content}
+
+
+ )}
+
);
};
diff --git a/keep-ui/app/(keep)/alerts/alerts-table-body.tsx b/keep-ui/app/(keep)/alerts/alerts-table-body.tsx
index 0ee55b8a0..08a4c61bf 100644
--- a/keep-ui/app/(keep)/alerts/alerts-table-body.tsx
+++ b/keep-ui/app/(keep)/alerts/alerts-table-body.tsx
@@ -35,13 +35,15 @@ export function AlertsTableBody({
if (showEmptyState) {
return (
<>
-
-
+
{modalOpen && (
-
+
+ >
+ Remove correlation
+
);
}
diff --git a/keep-ui/app/(keep)/incidents/[id]/alerts/incident-alerts.tsx b/keep-ui/app/(keep)/incidents/[id]/alerts/incident-alerts.tsx
index 7d3d828e8..7d3f52ef2 100644
--- a/keep-ui/app/(keep)/incidents/[id]/alerts/incident-alerts.tsx
+++ b/keep-ui/app/(keep)/incidents/[id]/alerts/incident-alerts.tsx
@@ -8,6 +8,7 @@ import {
} from "@tanstack/react-table";
import {
Card,
+ Icon,
Table,
TableBody,
TableCell,
@@ -33,6 +34,9 @@ import { getCommonPinningStylesAndClassNames } from "@/components/ui/table/utils
import { EmptyStateCard } from "@/components/ui";
import { useRouter } from "next/navigation";
import { TablePagination } from "@/shared/ui";
+import { AlertSeverityBorder } from "@/app/(keep)/alerts/alert-severity-border";
+import { getStatusIcon } from "@/shared/lib/status-utils";
+import { getStatusColor } from "@/shared/lib/status-utils";
interface Props {
incident: IncidentDto;
@@ -110,15 +114,17 @@ export default function IncidentAlerts({ incident }: Props) {
// />
// ),
// }),
- columnHelper.accessor("severity", {
+ columnHelper.display({
id: "severity",
- header: "Severity",
- minSize: 80,
+ maxSize: 4,
+ header: () => <>>,
cell: (context) => (
-
+
),
+ meta: {
+ tdClassName: "p-0",
+ thClassName: "p-0",
+ },
}),
columnHelper.display({
id: "name",
@@ -144,17 +150,28 @@ export default function IncidentAlerts({ incident }: Props) {
id: "status",
minSize: 100,
header: "Status",
+ cell: (context) => (
+
+
+ {context.getValue()}
+
+ ),
}),
columnHelper.accessor("is_created_by_ai", {
id: "is_created_by_ai",
- header: "🔗",
+ header: "🔗 Correlation type",
minSize: 50,
cell: (context) => (
<>
{context.getValue() ? (
-
🤖
+
🤖 AI
) : (
-
👨💻
+
👨💻 Manually
)}
>
),
@@ -186,7 +203,7 @@ export default function IncidentAlerts({ incident }: Props) {
}),
columnHelper.display({
id: "remove",
- header: "",
+ header: "Correlation",
cell: (context) =>
incident.is_confirmed && (
diff --git a/keep-ui/app/(keep)/settings/auth/groups-tab.tsx b/keep-ui/app/(keep)/settings/auth/groups-tab.tsx
index da420f719..dcc23901b 100644
--- a/keep-ui/app/(keep)/settings/auth/groups-tab.tsx
+++ b/keep-ui/app/(keep)/settings/auth/groups-tab.tsx
@@ -15,7 +15,7 @@ import {
} from "@tremor/react";
import Loading from "@/app/(keep)/loading";
import { useGroups } from "utils/hooks/useGroups";
-import { useUsers } from "utils/hooks/useUsers";
+import { useUsers } from "@/entities/users/model/useUsers";
import { useRoles } from "utils/hooks/useRoles";
import { useState, useEffect, useMemo } from "react";
import GroupsSidebar from "./groups-sidebar";
diff --git a/keep-ui/app/(keep)/settings/auth/permissions-tab.tsx b/keep-ui/app/(keep)/settings/auth/permissions-tab.tsx
index 08f69e159..69b0c4d17 100644
--- a/keep-ui/app/(keep)/settings/auth/permissions-tab.tsx
+++ b/keep-ui/app/(keep)/settings/auth/permissions-tab.tsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect } from "react";
import { Title, Subtitle, Card, TextInput } from "@tremor/react";
import { usePermissions } from "utils/hooks/usePermissions";
-import { useUsers } from "utils/hooks/useUsers";
+import { useUsers } from "@/entities/users/model/useUsers";
import { useGroups } from "utils/hooks/useGroups";
import { useRoles } from "utils/hooks/useRoles";
import { usePresets } from "utils/hooks/usePresets";
diff --git a/keep-ui/app/(keep)/settings/auth/users-settings.tsx b/keep-ui/app/(keep)/settings/auth/users-settings.tsx
index 78d2952d2..54cfeb03d 100644
--- a/keep-ui/app/(keep)/settings/auth/users-settings.tsx
+++ b/keep-ui/app/(keep)/settings/auth/users-settings.tsx
@@ -4,7 +4,7 @@ import Loading from "@/app/(keep)/loading";
import { User as AuthUser } from "next-auth";
import { TiUserAdd } from "react-icons/ti";
import { AuthType } from "utils/authenticationType";
-import { useUsers } from "utils/hooks/useUsers";
+import { useUsers } from "@/entities/users/model/useUsers";
import { useRoles } from "utils/hooks/useRoles";
import { useGroups } from "utils/hooks/useGroups";
import { useConfig } from "utils/hooks/useConfig";
diff --git a/keep-ui/app/(signin)/signin/SignInForm.tsx b/keep-ui/app/(signin)/signin/SignInForm.tsx
index d4f4dbb5c..e5a4ef1f4 100644
--- a/keep-ui/app/(signin)/signin/SignInForm.tsx
+++ b/keep-ui/app/(signin)/signin/SignInForm.tsx
@@ -21,7 +21,7 @@ export interface Providers {
auth0?: Provider;
credentials?: Provider;
keycloak?: Provider;
- "azure-ad"?: Provider;
+ "microsoft-entra-id"?: Provider;
}
interface SignInFormInputs {
@@ -42,15 +42,11 @@ export default function SignInForm({ params }: { params?: { amt: string } }) {
} = useForm