OrganizationMemberDetail offre une interface unifiée pour consulter et gérer le profil et les rôles attribués d’un membre d’une organization.
- React
- Next.js
- shadcn
Exigences de configuration
Configuration Auth0 requise — Assurez-vous que votre locataire est configuré avec l’API My Organization. Consulter le guide de configuration →
Installation
pnpm
Pour commencer
Transmettez unuserId de votre route au composant. Reliez onBack à votre routeur afin que le bouton de retour ramène à la liste des membres.Exemple d'intégration complet
Exemple d'intégration complet
Props
Props requis
Props d’affichage
Les props d’affichage contrôlent le rendu du composant sans en modifier le comportement. Utilisez-les pour masquer des sections ou activer le mode lecture seule.Props d’action
Les props d’action gèrent les interactions de l’utilisateur. Utilisez les hooks de cycle de vie (onBefore, onAfter) pour les intégrer au routage et aux outils d’analytique de votre application.
onBack
Type :
() => void
Se déclenche lorsque l’utilisateur sélectionne le bouton Retour dans l’en-tête, ainsi qu’automatiquement après la suppression d’un membre. Connectez ce rappel à votre routeur pour revenir à la liste des membres.
ComponentAction<string>
Contrôle le retrait d’un membre de l’organization (l’adhésion seulement; le profil utilisateur n’est pas supprimé du magasin d’utilisateurs Auth0). Une fois le retrait effectué, le composant appelle le rappel d’action ainsi que onBack. Ne vous fiez pas à l’ordre d’exécution si onAfter effectue des opérations asynchrones.
onBefore(userId)demande une confirmation avant le retrait. Retournezfalsepour annuler.onAfter(userId)s’exécute après le retrait.
ComponentAction<{ userId: string; roleIds: string[] }>
Se déclenche après l’attribution de rôles depuis l’onglet des rôles. Le nombre de rôles sélectionnés est limité à 10 par demande d’attribution, et un même membre peut se voir attribuer jusqu’à 50 rôles au total. Les deux hooks reçoivent { userId, roleIds }.
onBefore({ userId, roleIds })valide la sélection. Retournezfalsepour annuler.onAfter({ userId, roleIds })écrit dans un journal d’audit ou actualise les badges de rôles.
ComponentAction<{ userId: string; roleIds: string[] }>
Se déclenche lors du retrait de rôles attribués dans le tableau des rôles (prend en charge jusqu’à 10 rôles par demande de retrait). Les deux hooks reçoivent { userId, roleIds }.
onBefore({ userId, roleIds })demande une confirmation avant le retrait des rôles. Retournezfalsepour annuler.onAfter({ userId, roleIds })actualise l’état ou les journaux d’audit.
Props de personnalisation
customMessages
Remplacez les textes fournis avec le composant. Chaque champ est facultatif et utilise la valeur par défaut intégrée s’il n’est pas défini.
Groupes de messages courants
Groupes de messages courants
member.detail — Vues et onglets principaux
back_button,tabs.details,tabs.roles
title,name,email,phone_number,created_at,last_login
title,description,buttonmodal.title,modal.description,modal.cancel_button,modal.confirm_buttonsuccess
title,description,assign_buttonroles_selected,roles_selected_plural,max_selection_message,searching_messagetable.name,table.description,table.empty_message,table.remove_button_label
title,descriptionroles_label,roles_placeholdersubmit_button,cancel_button,no_roles_available
title,title_plural,description,description_pluralconfirm_button,cancel_button
fetch_failed,fetch_roles_failed,remove_from_organization_failed,assign_role_failed,remove_role_failed
styling Personnalisez l’apparence à l’aide de variables CSS et de remplacements de classes. Les variables prennent en charge les portées
light, dark et common. Les remplacements de classes ciblent des emplacements nommés dans l’arborescence du composant.
Options de personnalisation disponibles
Options de personnalisation disponibles
Variables—propriétés CSS personnalisées
common—appliquées à tous les thèmeslight—thème clair seulementdark—thème sombre seulement
OrganizationMemberDetail-rootOrganizationMemberDetail-headerOrganizationMemberDetail-tabsOrganizationMemberDetail-detailsTabOrganizationMemberDetail-rolesTabMemberRemoveFromOrgModal-dialogContentOrganizationMemberRemoveRoleModal-dialogContentOrganizationMemberAssignRolesModal-dialogContent