<.header> {gettext("Listing Roles")} <:subtitle> {gettext("Manage user roles and their permission sets.")} <:actions> <%= if can?(@current_user, :create, Mv.Authorization.Role) do %> <.button variant="primary" navigate={~p"/admin/roles/new"}> <.icon name="hero-plus" /> {gettext("New Role")} <% end %> <.table id="roles" rows={@roles} row_id={fn role -> "role-#{role.id}" end} row_click={fn role -> JS.navigate(~p"/admin/roles/#{role}") end} row_tooltip={gettext("Click for role details")} > <:col :let={role} label={gettext("Name")}>
{role.name} <.badge :if={role.is_system_role} variant="warning" size="sm"> {gettext("System Role")}
<:col :let={role} label={gettext("Description")}> <%= if role.description do %> {role.description} <% else %> {gettext("No description")} <% end %> <:col :let={role} label={gettext("Permission Set")}> <.badge variant={permission_set_badge_variant(role.permission_set_name)} size="sm"> {role.permission_set_name} <:col :let={role} label={gettext("Type")}> <.badge :if={role.is_system_role} variant="warning" size="sm"> {gettext("System")} <.badge :if={!role.is_system_role} variant="neutral" size="sm"> {gettext("Custom")} <:col :let={role} label={gettext("Users")}> <.badge variant="neutral">{get_user_count(role, @user_counts)}