import { Stack, Table, TableTbody, TableTh, TableThead, TableTr } from "@mantine/core"; import type { GroupPermissionKey } from "@homarr/definitions"; import { getPermissionsWithChildren } from "@homarr/definitions"; import { useScopedI18n } from "@homarr/translation/client"; import type { AccessQueryData } from "./access-settings"; import { AccessDisplayRow } from "./access-table-rows"; import { GroupItemContent } from "./group-access-form"; export interface InheritTableProps { accessQueryData: AccessQueryData; mapPermissions: Partial>; fullAccessGroupPermission: GroupPermissionKey; } export const InheritAccessTable = ({ accessQueryData, mapPermissions, fullAccessGroupPermission, }: InheritTableProps) => { const tPermissions = useScopedI18n("permission"); return ( {tPermissions("field.user.label")} {tPermissions("field.permission.label")} {accessQueryData.inherited.map(({ group, permission }) => { const entityPermission = permission in mapPermissions ? mapPermissions[permission] : getPermissionsWithChildren([permission]).includes(fullAccessGroupPermission) ? "full" : null; if (!entityPermission) { return null; } return ( } permission={entityPermission} /> ); })}
); };