Diff -- /var/www/vhosts/webstls.com/httpdocs/TEMPLATES/webstls_my_orders.html
Diff

/var/www/vhosts/webstls.com/httpdocs/TEMPLATES/webstls_my_orders.html

added on WebSTLs (webstls.com) at 2026-07-01 22:27:02

Added
+146
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to 2610cf96e0ab
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <link rel="icon" type="image/svg+xml" href="/assets/images/favicon.svg">
7 <title>My orders &middot; $store_name</title>
8 <link rel="preconnect" href="https://fonts.googleapis.com">
9 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10 <link href="https://fonts.googleapis.com/css2?family=Inter:wght\@400;500;600;700&family=Space+Grotesk:wght\@500;600;700&family=JetBrains+Mono:wght\@400;600&display=swap" rel="stylesheet">
11 <!-- site.css gives the StoreChrome header buttons their normal
12 styling -- without it Sign in / Cart render as bare text links. -->
13 <link rel="stylesheet" href="/assets/css/site.css">
14 <style>
15 :root { $theme_css_vars }
16 /* Padding moved to .wrap so the StoreChrome header can sit flush
17 at the top of the viewport instead of being pushed down by body
18 padding. */
19 body { background: var(--col-bg, #050a1c); color: var(--col-text, #e6ecf6); font-family: 'Inter', system-ui, sans-serif; margin: 0; min-height: 100vh; }
20 .wrap { max-width: 880px; margin: 0 auto; padding: 40px 20px; }
21 .head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
22 .head h1 { font-family: 'Space Grotesk', sans-serif; font-size: 28px; font-weight: 700; margin: 0; color: #fff; }
23 .head .meta { font-size: 13px; color: var(--col-text-2); margin-top: 4px; }
24 .head .actions a { color: var(--col-text-2); text-decoration: none; font-size: 13px; font-weight: 600; margin-left: 14px; }
25 .head .actions a:hover { color: var(--col-accent-bright); }
26 .stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 26px; }
27 @media (max-width: 600px) { .stat-row { grid-template-columns: 1fr; } }
28 .stat { background: var(--col-surface-1); border: 1px solid var(--col-border); border-radius: 12px; padding: 16px 18px; }
29 .stat .lbl { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--col-text-3); font-weight: 700; margin-bottom: 6px; }
30 .stat .val { font-family: 'Space Grotesk', sans-serif; font-size: 22px; font-weight: 700; color: #fff; }
31 .empty { background: var(--col-surface-1); border: 1px solid var(--col-border); border-radius: 12px; padding: 48px 24px; text-align: center; }
32 .empty .big { font-size: 16px; color: var(--col-text); margin-bottom: 8px; }
33 .empty .sm { font-size: 13px; color: var(--col-text-2); }
34 .empty .sm a { color: var(--col-accent-bright); text-decoration: none; font-weight: 600; }
35 .order { background: var(--col-surface-1); border: 1px solid var(--col-border); border-radius: 12px; padding: 18px 20px; margin-bottom: 14px; }
36 .order-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--col-border); }
37 .order-head .id { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--col-text-3); }
38 .order-head .placed { font-size: 12px; color: var(--col-text-3); margin-top: 2px; }
39 .order-head .total { font-family: 'JetBrains Mono', monospace; font-size: 18px; font-weight: 700; color: var(--col-accent-bright); }
40 .pill { display: inline-block; font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 6px; letter-spacing: 1px; text-transform: uppercase; margin-left: 8px; }
41 .pill.paid { background: rgba(34,197,94,0.18); color: #4ade80; }
42 .pill.pending { background: rgba(245,158,11,0.18); color: #fbbf24; }
43 .pill.refund { background: rgba(96,165,250,0.18); color: #60a5fa; }
44 .pill.partial { background: rgba(96,165,250,0.10); color: #60a5fa; }
45 .pill.failed { background: rgba(239,68,68,0.18); color: #f87171; }
46 .pill.cancel { background: rgba(100,116,139,0.20); color: #94a3b8; }
47 .item { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; font-size: 13px; }
48 .item:not(:last-child) { border-bottom: 1px solid var(--col-border); }
49 .item .name { color: var(--col-text); font-weight: 600; }
50 .item .qty { font-size: 12px; color: var(--col-text-3); margin-left: 8px; }
51 .item .price { font-family: 'JetBrains Mono', monospace; color: var(--col-text-2); }
52 </style>
53</head>
54<body>
55$store_chrome_html
56 <div class="wrap">
57 <div class="head">
58 <div>
59 <h1>My orders</h1>
60 <div class="meta">$buyer_name &middot; $buyer_email &middot; $store_name</div>
61 </div>
62 <div class="actions">
63 <a href="$credit_history_href">Credit history</a>
64 <a href="$back_href">&larr; Back to store</a>
65 <a href="$logout_href">Sign out</a>
66 </div>
67 </div>
68
69 <div class="stat-row">
70 <div class="stat">
71 <div class="lbl">Orders</div>
72 <div class="val">$order_count</div>
73 </div>
74 <div class="stat">
75 <div class="lbl">Lifetime spent</div>
76 <div class="val">$lifetime_total</div>
77 </div>
78 <div class="stat">
79 <div class="lbl">Store credit</div>
80 <div class="val" style="color:[if:$has_credit]#4ade80[/if][if:!$has_credit]var(--col-text-2)[/if]">$credit_dollars</div>
81 [if:$has_credit]<div style="font-size:11px;color:var(--col-text-3);margin-top:4px"><a href="$credit_history_href" style="color:var(--col-accent-bright);text-decoration:none">View history &rarr;</a></div>[/if]
82 </div>
83 </div>
84
85 [if:!$has_orders]
86 <div class="empty">
87 <div class="big">No orders yet.</div>
88 <div class="sm">When you buy a model from $store_name, it will appear here with the download links. <a href="$back_href">Browse the catalog &rarr;</a></div>
89 </div>
90 [/if]
91
92 [if:$has_orders]
93 [loop:@orders]
94 <div class="order">
95 <div class="order-head">
96 <div>
97 <div>
98 <span class="id">Order #$loop1.id</span>
99 [if:$loop1.is_paid]<span class="pill paid">Paid</span>[/if]
100 [if:$loop1.is_pending]<span class="pill pending">Pending</span>[/if]
101 [if:$loop1.is_refund]<span class="pill refund">Refunded</span>[/if]
102 [if:$loop1.is_partial]<span class="pill partial">Partially refunded</span>[/if]
103 [if:$loop1.is_failed]<span class="pill failed">Failed</span>[/if]
104 [if:$loop1.is_cancel]<span class="pill cancel">Canceled</span>[/if]
105 </div>
106 <div class="placed">Placed $loop1.created_at &middot; $loop1.item_count item(s)</div>
107 </div>
108 <div class="total">$loop1.total</div>
109 </div>
110 [loop:@loop1.items]
111 <div class="item">
112 <div>
113 <span class="name">$loop2.title[if:$loop2.is_bundle] <span style="font-size:10px;letter-spacing:1px;padding:2px 6px;border-radius:4px;background:rgba(168,85,247,0.18);color:#c084fc">BUNDLE</span>[/if]</span>
114 <span class="qty">&times; $loop2.quantity</span>
115 [if:$loop2.is_physical]<div style="font-size:11px;color:var(--col-text-3,#999);margin-top:3px">$loop2.variant_pill</div>[/if]
116 [if:$loop2.is_physical][if:$loop2.is_shipped]
117 <div style="font-size:11px;margin-top:4px;color:#86efac">&#10003; Shipped &middot; $loop2.tracking_carrier $loop2.tracking_number</div>
118 [/if][if:!$loop2.is_shipped]
119 <div style="font-size:11px;margin-top:4px;color:#fbbf24">$loop2.fulfillment_label</div>
120 [/if][/if]
121 [if:$loop2.has_bundle_components]
122 <div style="margin-top:8px;padding:8px 10px;background:rgba(255,255,255,0.04);border-radius:6px">
123 <div style="font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--col-text-3);margin-bottom:6px">Included files</div>
124 [loop:@bundle_components]
125 <div style="display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px">
126 <span>$loop3.title</span>
127 <a href="$loop3.href" style="font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;background:var(--col-accent);color:#fff;text-decoration:none">Download</a>
128 </div>
129 [/loop]
130 </div>
131 [/if]
132 </div>
133 <div style="display:flex;align-items:center;gap:12px">
134 <span class="price">$loop2.price_display</span>
135 [if:$loop2.can_download]<a href="$loop2.download_url" style="font-size:12px;font-weight:700;padding:6px 10px;border-radius:7px;background:linear-gradient(130deg, var(--col-accent), var(--col-accent-bright));color:#fff;text-decoration:none">Download</a>[/if]
136 </div>
137 </div>
138 [/loop]
139 </div>
140 [/loop]
141 [/if]
142
143 <div style="text-align:center;color:var(--col-text-3);font-size:11px;margin-top:30px">Need help with an order? Contact $store_name.</div>
144 </div>
145</body>
146</html>
Keyboard: j next diff k previous diff g top G bottom r restore c compile-check ? help