Diff -- /var/www/vhosts/3dshawn.com/affiliate.3dshawn.com/TEMPLATES/affsoft_admin_company.html

O Operator
Diff

/var/www/vhosts/3dshawn.com/affiliate.3dshawn.com/TEMPLATES/affsoft_admin_company.html

added on local at 2026-07-11 18:38:14

Added
+90
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to 1d21c51cc9f7
Restore this content →
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 &middot; Company detail</p>
6 <h1>$sf_name</h1>
7 <p class="subtitle"><code>$sf_subdomain</code> &middot; status <strong>$sf_status</strong>[if:$sf_custom_domain] &middot; domain <strong>$sf_custom_domain</strong>[/if]</p>
8 </div>
9 <div>
10 <a href="/admin_companies.cgi" class="btn btn-secondary">&larr; 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">Storefront</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_at_epoch" data-fmt="datetime">$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_at_epoch" data-fmt="datetime">$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="datetime">$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 &rarr;</a></div>
51 </div>
52 </div>
53
54 <div>
55 <div class="au-card">
56 <div class="au-card-title">Earnings &amp; 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">&#36;$orders_total_disp</div><div class="lb">Lifetime revenue</div></div>
60 <div class="au-stat"><div class="n">&#36;$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_at_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 on this storefront.</div>
87 </div>
88 [/if]
89 </div>
90</div>