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",