FossilRepo
| 4ce269c… | ragelink | 1 | <div id="member-table"> |
| 313537c… | ragelink | 2 | <div class="overflow-x-auto rounded-lg border border-gray-700 bg-gray-800 shadow-sm"> |
| 4ce269c… | ragelink | 3 | <table class="min-w-full divide-y divide-gray-700"> |
| 2f13242… | ragelink | 4 | <thead class="bg-gray-900/80"> |
| 4ce269c… | ragelink | 5 | <tr> |
| 2f13242… | ragelink | 6 | <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Username</th> |
| 2f13242… | ragelink | 7 | <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Email</th> |
| 2f13242… | ragelink | 8 | <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Role</th> |
| 2f13242… | ragelink | 9 | <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Status</th> |
| 2f13242… | ragelink | 10 | <th class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-400">Joined</th> |
| 2f13242… | ragelink | 11 | <th class="px-6 py-3 text-right text-xs font-medium uppercase tracking-wider text-gray-400">Actions</th> |
| 4ce269c… | ragelink | 12 | </tr> |
| 4ce269c… | ragelink | 13 | </thead> |
| 2f13242… | ragelink | 14 | <tbody class="divide-y divide-gray-700/70 bg-gray-800"> |
| 4ce269c… | ragelink | 15 | {% for membership in members %} |
| 2f13242… | ragelink | 16 | <tr class="hover:bg-gray-700/40 transition-colors"> |
| c588255… | ragelink | 17 | <td class="px-6 py-4 whitespace-nowrap text-sm font-medium"> |
| c588255… | ragelink | 18 | <a href="{% url 'organization:user_detail' username=membership.member.username %}" class="text-brand-light hover:text-brand">{{ membership.member.username }}</a> |
| 4ce269c… | ragelink | 19 | </td> |
| 4ce269c… | ragelink | 20 | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-400">{{ membership.member.email|default:"—" }}</td> |
| c588255… | ragelink | 21 | <td class="px-6 py-4 whitespace-nowrap text-sm"> |
| c588255… | ragelink | 22 | {% if membership.role %} |
| c588255… | ragelink | 23 | <a href="{% url 'organization:role_detail' slug=membership.role.slug %}" class="inline-flex rounded-full bg-purple-900/50 px-2 text-xs font-semibold leading-5 text-purple-300 hover:text-purple-200">{{ membership.role.name }}</a> |
| c588255… | ragelink | 24 | {% else %} |
| c588255… | ragelink | 25 | <span class="text-gray-500">--</span> |
| c588255… | ragelink | 26 | {% endif %} |
| c588255… | ragelink | 27 | </td> |
| 4ce269c… | ragelink | 28 | <td class="px-6 py-4 whitespace-nowrap"> |
| 4ce269c… | ragelink | 29 | {% if membership.is_active %} |
| 4ce269c… | ragelink | 30 | <span class="inline-flex rounded-full bg-green-900/50 px-2 text-xs font-semibold leading-5 text-green-300">Active</span> |
| 4ce269c… | ragelink | 31 | {% else %} |
| 4ce269c… | ragelink | 32 | <span class="inline-flex rounded-full bg-gray-700 px-2 text-xs font-semibold leading-5 text-gray-300">Inactive</span> |
| 4ce269c… | ragelink | 33 | {% endif %} |
| 4ce269c… | ragelink | 34 | </td> |
| 4ce269c… | ragelink | 35 | <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-400">{{ membership.created_at|date:"N j, Y" }}</td> |
| 4ce269c… | ragelink | 36 | <td class="px-6 py-4 whitespace-nowrap text-right text-sm"> |
| 4ce269c… | ragelink | 37 | {% if perms.organization.delete_organizationmember %} |
| 4ce269c… | ragelink | 38 | <a href="{% url 'organization:member_remove' username=membership.member.username %}" class="text-red-400 hover:text-red-300">Remove</a> |
| 4ce269c… | ragelink | 39 | {% endif %} |
| 4ce269c… | ragelink | 40 | </td> |
| 4ce269c… | ragelink | 41 | </tr> |
| 4ce269c… | ragelink | 42 | {% empty %} |
| 4ce269c… | ragelink | 43 | <tr> |
| c588255… | ragelink | 44 | <td colspan="6" class="px-6 py-8 text-center text-sm text-gray-400">No members found.</td> |
| 4ce269c… | ragelink | 45 | </tr> |
| 4ce269c… | ragelink | 46 | {% endfor %} |
| 4ce269c… | ragelink | 47 | </tbody> |
| 4ce269c… | ragelink | 48 | </table> |
| 4ce269c… | ragelink | 49 | </div> |
| 4ce269c… | ragelink | 50 | </div> |