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
+0
lines
Removed
-0
lines
Context
37
unchanged
Blobs
from f853d750f4c2
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 | 1 | <!-- TF-mirror admin_team --> |
| 2 | 2 | <div class="page-header"> |
| 3 | 3 | <div><h1>Team Members</h1><p class="subtitle">Platform staff with admin access. Click a row to view full account.</p></div> |
| 4 | 4 | </div> |
| 5 | 5 | <style> |
| 6 | 6 | tr.au-clickable { cursor: pointer; transition: background 0.12s; } |
| 7 | 7 | tr.au-clickable:hover { background: rgba(255,255,255,0.04); } |
| 8 | 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 | 9 | </style> |
| 10 | 10 | <div class="card"> |
| 11 | 11 | [if:$has_members] |
| 12 | 12 | <table class="table"> |
| 13 | 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 | 14 | <tbody> |
| 15 | 15 | [loop:@members] |
| 16 | 16 | <tr class="au-clickable" data-href="/admin_user.cgi?u=$loop1.id"> |
| 17 | 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 | 18 | <td>$loop1.email</td> |
| 19 | 19 | <td><span class="badge">$loop1.role_name</span></td> |
| 20 | 20 | <td><span class="badge">active</span></td> |
| 21 | 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 | 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 | 23 | </tr> |
| 24 | 24 | [/loop] |
| 25 | 25 | </tbody> |
| 26 | 26 | </table> |
| 27 | 27 | <script> |
| 28 | 28 | document.querySelectorAll('tr.au-clickable').forEach(function(tr){ |
| 29 | 29 | tr.addEventListener('click', function(e){ |
| 30 | 30 | if (e.target.closest('a,button,form,input')) return; |
| 31 | 31 | window.location.href = tr.dataset.href; |
| 32 | 32 | }); |
| 33 | 33 | }); |
| 34 | 34 | </script> |
| 35 | 35 | [/if] |
| 36 | 36 | [if:!$has_members]<div class="muted-empty"><h3>No team members yet</h3></div>[/if] |
| 37 | 37 | </div> |