<.settings_tiles> <%= if not Plausible.Teams.setup?(@site.team) and not Plausible.Teams.Billing.solo?(@site.team) do %> <% end %> <.tile docs="users-roles" feature_mod={Plausible.Billing.Feature.Teams} site={@site} current_role={@site_role} current_team={@site_team} conn={@conn} > <:title>People <:subtitle>Invite your friends or coworkers <.filter_bar :if={@site_role in [:owner, :admin]} filtering_enabled?={false}> <.button_link mt?={false} href={Routes.membership_path(@conn, :invite_member_form, @site.domain)} > Invite new guest
    <%= for membership <- @memberships do %>
  • {membership.user.name}
    {membership.user.email}

    <.dropdown> <:button class="bg-transparent text-gray-800 dark:text-gray-100 hover:bg-gray-50 dark:hover:bg-gray-800 focus-visible:outline-gray-100 whitespace-nowrap truncate inline-flex items-center gap-x-2 font-medium rounded-md px-3.5 py-2.5 text-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:bg-gray-400 dark:disabled:text-white dark:disabled:text-gray-400 dark:disabled:bg-gray-700"> {site_role(membership)} <:menu class="max-w-60"> <%= if membership.role == :owner do %> <.dropdown_item disabled={true}>
    Owner
    Site owner cannot be assigned to any other role
    <% else %> <.dropdown_item href={ Routes.membership_path( @conn, :update_role_by_user, @site.domain, membership.user.id, "editor" ) } method="put" disabled={@site_role not in [:owner, :admin] or membership.role == "editor"} >
    Guest editor
    View stats and edit site settings
    <.dropdown_item href={ Routes.membership_path( @conn, :update_role_by_user, @site.domain, membership.user.id, "viewer" ) } method="put" disabled={@site_role not in [:owner, :admin] or membership.role == "viewer"} >
    Guest viewer
    View stats only
    <.dropdown_divider /> <.dropdown_item href={ Routes.membership_path( @conn, :remove_member_by_user, @site.domain, membership.user.id ) } class="!text-red-600 hover:text-red-600 dark:!text-red-500 dark:hover:!text-red-400" method="delete" disabled={@site_role not in [:owner, :admin]} > Remove member <% end %>
  • <% end %>
<.tile :if={Enum.count(@invitations) > 0}> <:title>Pending invitations <:subtitle>Waiting for new members to accept their invitations. <.table rows={@invitations} row_attrs={fn invitation -> %{id: "invitation-#{invitation.invitation_id}"} end} > <:thead> <.th>Email <.th hide_on_mobile>Role <.th invisible>Actions <:tbody :let={invitation}> <.td>{invitation.email} <.td hide_on_mobile>{Phoenix.Naming.humanize(invitation.role)} <.td actions> <.delete_button :if={@site_role in [:owner, :admin]} href={ Routes.invitation_path( @conn, :remove_invitation, @site.domain, invitation.invitation_id ) } method="delete" />