FossilRepo
| 4ce269c… | ragelink | 1 | {% extends "base.html" %} |
| 4ce269c… | ragelink | 2 | {% block title %}Members — Fossilrepo{% endblock %} |
| 4ce269c… | ragelink | 3 | |
| 4ce269c… | ragelink | 4 | {% block content %} |
| 4ce269c… | ragelink | 5 | <div class="mb-6"> |
| 4ce269c… | ragelink | 6 | <a href="{% url 'organization:settings' %}" class="text-sm text-brand-light hover:text-brand">← Back to Settings</a> |
| 4ce269c… | ragelink | 7 | </div> |
| 4ce269c… | ragelink | 8 | |
| 4ce269c… | ragelink | 9 | <div class="md:flex md:items-center md:justify-between mb-6"> |
| 4ce269c… | ragelink | 10 | <h1 class="text-2xl font-bold text-gray-100">Members</h1> |
| c588255… | ragelink | 11 | <div class="mt-4 md:mt-0 flex gap-3"> |
| c588255… | ragelink | 12 | {% if perms.organization.change_organization or user.is_superuser %} |
| c588255… | ragelink | 13 | <a href="{% url 'organization:user_create' %}" |
| c588255… | ragelink | 14 | class="inline-flex items-center rounded-md bg-brand px-4 py-2 text-sm font-semibold text-white shadow-sm hover:bg-brand-hover"> |
| c588255… | ragelink | 15 | Create User |
| c588255… | ragelink | 16 | </a> |
| c588255… | ragelink | 17 | {% endif %} |
| c588255… | ragelink | 18 | {% if perms.organization.add_organizationmember %} |
| c588255… | ragelink | 19 | <a href="{% url 'organization:member_add' %}" |
| c588255… | ragelink | 20 | class="inline-flex items-center rounded-md bg-gray-700 px-4 py-2 text-sm font-semibold text-gray-100 shadow-sm ring-1 ring-inset ring-gray-600 hover:bg-gray-600"> |
| c588255… | ragelink | 21 | Add Existing Member |
| c588255… | ragelink | 22 | </a> |
| c588255… | ragelink | 23 | {% endif %} |
| c588255… | ragelink | 24 | </div> |
| 4ce269c… | ragelink | 25 | </div> |
| 4ce269c… | ragelink | 26 | |
| 7e1aaf6… | ragelink | 27 | <div class="mb-4 search-wrap max-w-md"> |
| 4ce269c… | ragelink | 28 | <input type="search" |
| 4ce269c… | ragelink | 29 | name="search" |
| 4ce269c… | ragelink | 30 | value="{{ search }}" |
| 4ce269c… | ragelink | 31 | placeholder="Search members..." |
| 7e1aaf6… | ragelink | 32 | aria-label="Search members" |
| 7e1aaf6… | ragelink | 33 | class="w-full rounded-md border-gray-700 bg-gray-800 text-gray-100 shadow-sm focus:border-brand focus:ring-brand sm:text-sm" |
| 4ce269c… | ragelink | 34 | hx-get="{% url 'organization:members' %}" |
| 4ce269c… | ragelink | 35 | hx-trigger="input changed delay:300ms, search" |
| 4ce269c… | ragelink | 36 | hx-target="#member-table" |
| 4ce269c… | ragelink | 37 | hx-swap="outerHTML" |
| 7e1aaf6… | ragelink | 38 | hx-push-url="true" |
| 7e1aaf6… | ragelink | 39 | hx-indicator="closest .search-wrap" /> |
| 7e1aaf6… | ragelink | 40 | <svg class="search-spinner animate-spin h-4 w-4" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg> |
| 4ce269c… | ragelink | 41 | </div> |
| 4ce269c… | ragelink | 42 | |
| 4ce269c… | ragelink | 43 | {% include "organization/partials/member_table.html" %} |
| c588255… | ragelink | 44 | {% include "includes/_pagination.html" %} |
| 4ce269c… | ragelink | 45 | {% endblock %} |