@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
32 lines • 2.29 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import { useTranslation } from "react-i18next";
import { PageSection, Tab, TabTitleText } from "@patternfly/react-core";
import { ViewHeader } from "../components/view-header/ViewHeader";
import { useRealm } from "../context/realm-context/RealmContext";
import helpUrls from "../help-urls";
import { PermissionsTab } from "../components/permission-tab/PermissionTab";
import { UserDataTable } from "../components/users/UserDataTable";
import { toUsers } from "../user/routes/Users";
import { RoutableTabs, useRoutableTab, } from "../components/routable-tabs/RoutableTabs";
import useIsFeatureEnabled, { Feature } from "../utils/useIsFeatureEnabled";
import "./user-section.css";
import { useAccess } from "../context/access/Access";
export default function UsersSection() {
const { t } = useTranslation();
const { realm: realmName } = useRealm();
const { hasAccess } = useAccess();
const isFeatureEnabled = useIsFeatureEnabled();
const canViewPermissions = isFeatureEnabled(Feature.AdminFineGrainedAuthz) &&
hasAccess("manage-authorization", "manage-users", "manage-clients");
const useTab = (tab) => useRoutableTab(toUsers({
realm: realmName,
tab,
}));
const listTab = useTab("list");
const permissionsTab = useTab("permissions");
return (_jsxs(_Fragment, { children: [_jsx(ViewHeader, { titleKey: "titleUsers", subKey: "usersExplain", helpUrl: helpUrls.usersUrl, divider: false }), _jsx(PageSection, { "data-testid": "users-page", variant: "light", className: "pf-v5-u-p-0", children: _jsxs(RoutableTabs, { "data-testid": "user-tabs", defaultLocation: toUsers({
realm: realmName,
tab: "list",
}), isBox: true, mountOnEnter: true, children: [_jsx(Tab, { id: "list", "data-testid": "listTab", title: _jsx(TabTitleText, { children: t("userList") }), ...listTab, children: _jsx(UserDataTable, {}) }), canViewPermissions && (_jsx(Tab, { id: "permissions", "data-testid": "permissionsTab", title: _jsx(TabTitleText, { children: t("permissions") }), ...permissionsTab, children: _jsx(PermissionsTab, { type: "users" }) }))] }) })] }));
}
//# sourceMappingURL=UsersSection.js.map