diff --git a/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/page.tsx b/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/page.tsx
index 08ef65a49..0c7e14dbb 100644
--- a/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/page.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/page.tsx
@@ -1,17 +1,5 @@
import { notFound } from "next/navigation";
-import {
- Alert,
- Anchor,
- Center,
- Group,
- Stack,
- Table,
- TableTbody,
- TableTd,
- TableTr,
- Text,
- Title,
-} from "@mantine/core";
+import { Alert, Anchor, Center, Group, Stack, Table, TableTbody, TableTd, TableTr, Text, Title } from "@mantine/core";
import { IconExclamationCircle } from "@tabler/icons-react";
import type { RouterOutputs } from "@homarr/api";
@@ -53,13 +41,9 @@ export default async function GroupsDetailPage(props: GroupsDetailPageProps) {
const group = await api.group.getById({ id: params.id });
const isReserved = group.name === everyoneGroup;
- const filteredMembers = searchParams.search
- ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- group.members.filter((member) =>
- member.name
- ?.toLowerCase()
- .includes(searchParams.search!.trim().toLowerCase()),
- )
+ const searchTerm = searchParams.search?.trim().toLowerCase();
+ const filteredMembers = searchTerm
+ ? group.members.filter((member) => member.name?.toLowerCase().includes(searchTerm))
: group.members;
// "local" = every enabled provider managed locally, "external" = none, "mixed" = some.
@@ -75,21 +59,14 @@ export default async function GroupsDetailPage(props: GroupsDetailPageProps) {
) : (
managementType !== "local" && (
- }
- >
+ }>
{t(`group.memberNotice.${managementType}`)}
)
)}
-
+
{canManageMembers && !isReserved && (
{filteredMembers.map((member) => (
-
+
))}
@@ -140,11 +112,7 @@ const Row = ({ member, groupId, disabled }: RowProps) => {
-
- {canBeRemoved && !disabled && (
-
- )}
-
+ {canBeRemoved && !disabled && }
);
};
diff --git a/packages/definitions/src/docs/homarr-docs-sitemap.ts b/packages/definitions/src/docs/homarr-docs-sitemap.ts
index 39ee81c08..9f906f95e 100644
--- a/packages/definitions/src/docs/homarr-docs-sitemap.ts
+++ b/packages/definitions/src/docs/homarr-docs-sitemap.ts
@@ -323,6 +323,7 @@ export type HomarrDocumentationPath =
| "/docs/integrations/github-containerregistry"
| "/docs/integrations/quay"
| "/docs/integrations/ntfy"
+ | "/docs/integrations/gotify"
| "/docs/integrations/ical"
| "/docs/integrations/anchor"
| "/docs/integrations/truenas"
diff --git a/packages/definitions/src/docs/integration-doc-slugs.ts b/packages/definitions/src/docs/integration-doc-slugs.ts
index f6cae0298..99ec6ebb0 100644
--- a/packages/definitions/src/docs/integration-doc-slugs.ts
+++ b/packages/definitions/src/docs/integration-doc-slugs.ts
@@ -40,6 +40,7 @@ export const integrationDocSlugs: Record = {
gitHubContainerRegistry: "github-containerregistry",
quay: "quay",
ntfy: "ntfy",
+ gotify: "gotify",
ical: "ical",
anchor: "anchor",
truenas: "truenas",
@@ -56,5 +57,6 @@ export const integrationDocSlugs: Record = {
umami: "umami",
peaNut: "peanut",
beszel: "beszel",
+ archiveTeamWarrior: null,
mock: null,
};
diff --git a/packages/definitions/src/docs/widget-doc-slugs.ts b/packages/definitions/src/docs/widget-doc-slugs.ts
index 8ae545f3e..3ffae6408 100644
--- a/packages/definitions/src/docs/widget-doc-slugs.ts
+++ b/packages/definitions/src/docs/widget-doc-slugs.ts
@@ -44,6 +44,7 @@ export const widgetDocSlugs: Record = {
audioStats: "audio-stats",
umami: "umami",
ups: "ups",
+ archiveTeamWarrior: null,
beszelSystemTable: "beszel-system-table",
beszelSystemGrid: "beszel-system-grid",
beszelAlerts: "beszel-alerts",