Diff -- /var/www/vhosts/3dshawn.com/crm.3dshawn.com/TEMPLATES/cf_admin_company.html
Diff
/var/www/vhosts/3dshawn.com/crm.3dshawn.com/TEMPLATES/cf_admin_company.html
added on local at 2026-07-11 18:31:54
Added
+90
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to d2a90818bbf1
to d2a90818bbf1
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.| 1 | <div class="crumbs" style="font-size:12px;color:var(--col-text-dim);margin-bottom:8px"><a href="/admin_companies.cgi" style="color:inherit">All companies</a> <span style="margin:0 6px">/</span> $sf_name</div> | |
| 2 | ||
| 3 | <div class="page-header"> | |
| 4 | <div> | |
| 5 | <p class="subtitle" style="text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700;color:var(--col-text-dim)">Admin · Company detail</p> | |
| 6 | <h1>$sf_name</h1> | |
| 7 | <p class="subtitle"><code>$sf_subdomain</code> · status <strong>$sf_status</strong>[if:$sf_custom_domain] · domain <strong>$sf_custom_domain</strong>[/if]</p> | |
| 8 | </div> | |
| 9 | <div> | |
| 10 | <a href="/admin_companies.cgi" class="btn btn-secondary">← All companies</a> | |
| 11 | </div> | |
| 12 | </div> | |
| 13 | ||
| 14 | <style> | |
| 15 | .au-grid { display:grid; grid-template-columns: 320px 1fr; gap:16px; margin-top:14px; } | |
| 16 | @media (max-width:1000px) { .au-grid { grid-template-columns: 1fr; } } | |
| 17 | .au-card { background: var(--col-surface-1, var(--col-bg-2)); border: 1px solid var(--col-border); border-radius: 12px; padding: 18px; } | |
| 18 | .au-card-title { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--col-text-dim); margin-bottom:12px; } | |
| 19 | .au-row { display:flex; justify-content:space-between; gap:12px; padding:7px 0; font-size:13px; border-bottom:1px solid var(--col-border); } | |
| 20 | .au-row:last-child { border-bottom:none; } | |
| 21 | .au-row .lbl { color: var(--col-text-dim); } | |
| 22 | .au-row .val { color: var(--col-text); font-weight:600; text-align:right; word-break:break-word; } | |
| 23 | .au-row .val.mono { font-family: var(--font-mono, monospace); font-size:12px; } | |
| 24 | .au-stat-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-bottom:14px; } | |
| 25 | .au-stat { padding:12px 14px; background: var(--col-bg-3, rgba(255,255,255,0.04)); border:1px solid var(--col-border); border-radius:9px; } | |
| 26 | .au-stat .n { font-size:22px; font-weight:800; color:var(--col-text); font-family: var(--font-mono, monospace); line-height:1.1; } | |
| 27 | .au-stat .lb { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--col-text-dim); margin-top:4px; } | |
| 28 | .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; } | |
| 29 | </style> | |
| 30 | ||
| 31 | <div class="au-grid"> | |
| 32 | <div> | |
| 33 | <div class="au-card"> | |
| 34 | <div class="au-card-title">Company</div> | |
| 35 | <div class="au-row"><span class="lbl">Name</span><span class="val">$sf_name</span></div> | |
| 36 | <div class="au-row"><span class="lbl">Subdomain</span><span class="val mono">$sf_subdomain</span></div> | |
| 37 | [if:$sf_custom_domain]<div class="au-row"><span class="lbl">Custom domain</span><span class="val mono">$sf_custom_domain</span></div>[/if] | |
| 38 | <div class="au-row"><span class="lbl">Status</span><span class="val"><span class="badge">$sf_status</span></span></div> | |
| 39 | <div class="au-row"><span class="lbl">SSL</span><span class="val">$sf_ssl_status</span></div> | |
| 40 | <div class="au-row"><span class="lbl">Created</span><span class="val mono"><span class="ts" data-ts="$sf_created_epoch" data-fmt="date">$sf_created_at</span></span></div> | |
| 41 | </div> | |
| 42 | ||
| 43 | <div class="au-card" style="margin-top:14px"> | |
| 44 | <div class="au-card-title">Owner</div> | |
| 45 | <div style="display:flex;align-items:center;gap:10px;margin-bottom:12px"><div class="au-av" style="background:$owner_avatar">$owner_name</div><div><div style="font-weight:700">$owner_name</div><div style="font-size:12px;color:var(--col-text-dim)">$owner_email</div></div></div> | |
| 46 | <div class="au-row"><span class="lbl">Plan</span><span class="val">$owner_plan</span></div> | |
| 47 | <div class="au-row"><span class="lbl">Status</span><span class="val">$owner_status</span></div> | |
| 48 | <div class="au-row"><span class="lbl">Joined</span><span class="val mono"><span class="ts" data-ts="$owner_created_epoch" data-fmt="date">$owner_created_at</span></span></div> | |
| 49 | <div class="au-row"><span class="lbl">Last login</span><span class="val mono"><span class="ts" data-ts="$owner_last_login_epoch" data-fmt="relative">$owner_last_login</span></span></div> | |
| 50 | <div style="margin-top:10px"><a href="/admin_user.cgi?u=$owner_user_id" class="btn btn-primary btn-sm" style="width:100%">Open user detail →</a></div> | |
| 51 | </div> | |
| 52 | </div> | |
| 53 | ||
| 54 | <div> | |
| 55 | <div class="au-card"> | |
| 56 | <div class="au-card-title">Earnings & activity</div> | |
| 57 | <div class="au-stat-grid"> | |
| 58 | <div class="au-stat"><div class="n">$orders_count</div><div class="lb">Paid orders</div></div> | |
| 59 | <div class="au-stat"><div class="n">$$orders_total_disp</div><div class="lb">Lifetime revenue</div></div> | |
| 60 | <div class="au-stat"><div class="n">$$orders_30_disp</div><div class="lb">Revenue (30d)</div></div> | |
| 61 | </div> | |
| 62 | </div> | |
| 63 | ||
| 64 | [if:$has_orders] | |
| 65 | <div class="au-card" style="margin-top:14px"> | |
| 66 | <div class="au-card-title">Recent orders</div> | |
| 67 | <table class="table" style="margin:0"> | |
| 68 | <thead><tr><th>Order #</th><th>Buyer</th><th>Total</th><th>Status</th><th>Created</th></tr></thead> | |
| 69 | <tbody> | |
| 70 | [loop:@recent_orders] | |
| 71 | <tr> | |
| 72 | <td><code>#$loop1.id</code></td> | |
| 73 | <td>$loop1.buyer_email</td> | |
| 74 | <td style="font-weight:600">$loop1.total_disp</td> | |
| 75 | <td><span class="badge">$loop1.status</span></td> | |
| 76 | <td style="font-size:12px;color:var(--col-text-dim)"><span class="ts" data-ts="$loop1.created_epoch" data-fmt="datetime">$loop1.created_at</span></td> | |
| 77 | </tr> | |
| 78 | [/loop] | |
| 79 | </tbody> | |
| 80 | </table> | |
| 81 | </div> | |
| 82 | [/if] | |
| 83 | [if:!$has_orders] | |
| 84 | <div class="au-card" style="margin-top:14px"> | |
| 85 | <div class="au-card-title">Recent orders</div> | |
| 86 | <div style="color:var(--col-text-dim);font-size:13px;padding:10px 0">No orders yet for this company.</div> | |
| 87 | </div> | |
| 88 | [/if] | |
| 89 | </div> | |
| 90 | </div> |