import { FireCMSPlugin, useAuthController, User, useSnackbarController, useTranslation } from "@firecms/core"; import { UserManagementProvider } from "./UserManagementProvider"; import { UserManagement } from "./types"; import { AddIcon, Button, Paper, Typography } from "@firecms/ui"; import { DEFAULT_ROLES } from "./components/roles/default_roles"; export function useUserManagementPlugin({ userManagement }: { userManagement: UserManagement, }): FireCMSPlugin { const noUsers = userManagement.users.length === 0; const noRoles = userManagement.roles.length === 0; return { key: "user_management", loading: userManagement.loading, userManagement:{ ...userManagement, }, homePage: { additionalChildrenStart: noUsers || noRoles ? : undefined }, provider: { Component: UserManagementProvider, props: { userManagement } } } } export function IntroWidget({ noUsers, noRoles, userManagement }: { noUsers: boolean; noRoles: boolean; userManagement: UserManagement; }) { const authController = useAuthController(); const snackbarController = useSnackbarController(); const { t } = useTranslation(); const buttonLabel = noUsers && noRoles ? t("create_default_roles_and_add_admin") : noUsers ? t("add_current_user_as_admin") : noRoles ? t("create_default_roles") : undefined; return ( {t("create_your_users_and_roles")} {t("no_users_or_roles_defined")} ); }