Diff -- /var/www/vhosts/3dshawn.com/crm.3dshawn.com/TEMPLATES/cf_admin_team.html
Diff
/var/www/vhosts/3dshawn.com/crm.3dshawn.com/TEMPLATES/cf_admin_team.html
added on local at 2026-07-11 18:31:57
Added
+37
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to f853d750f4c2
to f853d750f4c2
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.| 1 | <!-- TF-mirror admin_team --> | |
| 2 | <div class="page-header"> | |
| 3 | <div><h1>Team Members</h1><p class="subtitle">Platform staff with admin access. Click a row to view full account.</p></div> | |
| 4 | </div> | |
| 5 | <style> | |
| 6 | tr.au-clickable { cursor: pointer; transition: background 0.12s; } | |
| 7 | tr.au-clickable:hover { background: rgba(255,255,255,0.04); } | |
| 8 | .au-av { width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 12px; flex-shrink: 0; } | |
| 9 | </style> | |
| 10 | <div class="card"> | |
| 11 | [if:$has_members] | |
| 12 | <table class="table"> | |
| 13 | <thead><tr><th>Member</th><th>Email</th><th>Role</th><th>Status</th><th>Added</th><th>Last seen</th></tr></thead> | |
| 14 | <tbody> | |
| 15 | [loop:@members] | |
| 16 | <tr class="au-clickable" data-href="/admin_user.cgi?u=$loop1.id"> | |
| 17 | <td><div style="display:flex;align-items:center;gap:10px"><div class="au-av" style="background:$loop1.avatar_color">$loop1.initials</div><div>$loop1.display_name [if:$loop1.is_self]<span class="text-xs text-dim" style="font-weight:500">(you)</span>[/if] [if:$loop1.is_super_admin]<span class="badge danger">SUPER</span>[/if]</div></div></td> | |
| 18 | <td>$loop1.email</td> | |
| 19 | <td><span class="badge">$loop1.role_name</span></td> | |
| 20 | <td><span class="badge">active</span></td> | |
| 21 | <td style="font-size:12px;color:var(--col-text-dim)"><span class="ts" data-ts="$loop1.added_epoch" data-fmt="date">$loop1.added_on</span></td> | |
| 22 | <td style="font-size:12px;color:var(--col-text-dim)"><span class="ts" data-ts="$loop1.last_seen_epoch" data-fmt="relative">$loop1.last_seen</span></td> | |
| 23 | </tr> | |
| 24 | [/loop] | |
| 25 | </tbody> | |
| 26 | </table> | |
| 27 | <script> | |
| 28 | document.querySelectorAll('tr.au-clickable').forEach(function(tr){ | |
| 29 | tr.addEventListener('click', function(e){ | |
| 30 | if (e.target.closest('a,button,form,input')) return; | |
| 31 | window.location.href = tr.dataset.href; | |
| 32 | }); | |
| 33 | }); | |
| 34 | </script> | |
| 35 | [/if] | |
| 36 | [if:!$has_members]<div class="muted-empty"><h3>No team members yet</h3></div>[/if] | |
| 37 | </div> |