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

/var/www/vhosts/3dshawn.com/affiliate.3dshawn.com/TEMPLATES/store_layouts/forum.html

added on local at 2026-07-01 13:47:51

Added
+112
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to b5b0e73acbee
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
1<!-- =====================================================================
2 LAYOUT: Forum
3 Discussion-style feed. Each design is a thread with votes and replies.
4===================================================================== -->
5
6<style>
7:root { $theme_css_vars }
8.fm-shell { max-width: 900px; margin: 0 auto; padding: 24px; }
9.fm-thread { background: var(--col-surface-1); border: 1px solid var(--col-border); border-radius: 8px; margin-bottom: 12px; display: grid; grid-template-columns: 60px 1fr; transition: border-color 0.15s; }
10.fm-thread:hover { border-color: var(--col-accent); }
11.fm-votes { padding: 14px 8px; border-right: 1px solid var(--col-border); display: flex; flex-direction: column; align-items: center; gap: 4px; background: var(--col-bg-2); }
12.fm-vote-btn { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 4px; color: var(--col-text-3); cursor: pointer; }
13.fm-vote-btn:hover { background: var(--col-surface-2); color: var(--col-accent); }
14.fm-score { font-family: var(--font-mono,monospace); font-size: 14px; font-weight: 700; color: var(--col-text); }
15.fm-body { padding: 14px 18px; display: flex; gap: 14px; align-items: center; text-decoration: none; }
16.fm-thumb { width: 72px; height: 72px; border-radius: 6px; background-size: cover; background-position: center; flex-shrink: 0; border: 1px solid var(--col-border); }
17.fm-meta-line { display: flex; gap: 8px; align-items: center; font-size: 11px; color: var(--col-text-3); margin-bottom: 4px; flex-wrap: wrap; }
18.fm-flair { background: var(--col-accent); color: #fff; padding: 1px 6px; border-radius: 3px; font-size: 10px; font-weight: 700; letter-spacing: 0.5px; }
19</style>
20
21[if:$preview_banner]<div style="position:sticky;top:0;z-index:9999;background:#0a0e1c;border-bottom:1px solid rgba(59,130,246,0.40);box-shadow:0 4px 16px rgba(0,0,0,0.55);padding:10px 20px;text-align:center;font-size:13px;color:#93c5fd;font-weight:600">$preview_banner</div>[/if]
22
23<header style="background:var(--col-bg-2);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--col-border);position:sticky;top:0;z-index:50;flex-wrap:wrap">
24 <a href="/store.cgi?id=$store_id" style="display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0">
25 <div class="brand-mark" style="background:linear-gradient(130deg, var(--col-accent), var(--col-accent-bright));width:30px;height:30px;font-size:11px">$store_initials</div>
26 <span style="font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--col-text)">r/$store_subdomain</span>
27 </a>
28 <nav style="display:flex;gap:18px;align-items:center;flex-wrap:wrap">
29 [loop:@nav_pages]<a href="$loop1.href" style="font-size:13px;color:var(--col-text-2);font-weight:600;text-decoration:none">$loop1.title</a>[/loop]
30 </nav>
31 <div style="flex:1;display:flex;justify-content:center;min-width:0">$store_search_form</div>
32 <div style="display:inline-flex;gap:8px;align-items:center;margin-left:8px">$store_signin_link $store_cart_link</div>
33</header>
34
35[if:$is_specific_page]
36 [if:$page_not_found]<section style="padding:120px 32px;text-align:center"><h1 class="hero-title" style="font-size:48px">Thread not found</h1></section>[/if]
37 [if:!$page_not_found]<section style="padding:60px 32px;max-width:900px;margin:0 auto"><h1 class="hero-title" style="font-size:42px">$page_title</h1><div class="text-secondary" style="font-size:16px;line-height:1.7;margin-top:18px;white-space:pre-wrap">$page_body</div></section>[/if]
38[/if]
39
40[if:!$is_specific_page]
41<div class="fm-shell">
42
43 <!-- Community header card -->
44 <div style="background:var(--col-surface-1);border:1px solid var(--col-border);border-radius:8px;padding:18px;margin-bottom:16px;display:flex;gap:16px;align-items:center">
45 <div class="brand-mark" style="background:linear-gradient(130deg, var(--col-accent), var(--col-accent-bright));width:48px;height:48px;font-size:18px;flex-shrink:0">$store_initials</div>
46 <div style="flex:1;min-width:0">
47 <div style="font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--col-text)">r/$store_subdomain</div>
48 <div style="font-size:13px;color:var(--col-text-2);margin-top:2px">$store_tagline</div>
49 <div style="display:flex;gap:14px;margin-top:6px;font-size:11px;color:var(--col-text-3);font-family:var(--font-mono,monospace)">
50 <span><strong style="color:var(--col-text)">$product_count</strong> threads</span>
51 <span><strong style="color:var(--col-accent-bright)">live</strong></span>
52 <span><strong style="color:var(--col-text)">142</strong> members</span>
53 </div>
54 </div>
55 <a href="#" class="btn btn-primary btn-sm" style="border-radius:999px">Subscribe</a>
56 </div>
57
58 <!-- Sort bar -->
59 <div style="display:flex;gap:6px;margin-bottom:14px;align-items:center;font-size:12px;color:var(--col-text-3);font-family:var(--font-mono,monospace)">
60 <a href="#" class="btn btn-secondary btn-sm" style="border-radius:999px">&#128293; Hot</a>
61 <a href="#" class="btn btn-ghost btn-sm" style="border-radius:999px">&uarr; Top</a>
62 <a href="#" class="btn btn-ghost btn-sm" style="border-radius:999px">&#9728; New</a>
63 <span style="margin-left:auto;text-transform:uppercase;letter-spacing:1.5px">$product_count threads</span>
64 </div>
65
66 <!-- Thread feed -->
67 <div id="shop">
68 [loop:@products]
69 <div class="fm-thread">
70 <div class="fm-votes">
71 <span class="fm-vote-btn">&#9650;</span>
72 <span class="fm-score">$loop1.rating_n</span>
73 <span class="fm-vote-btn">&#9660;</span>
74 </div>
75 <a href="/listing_details.cgi?id=$loop1.id" class="fm-body">
76 <div class="fm-thumb" style="background-image:url('$loop1.hero_image')"></div>
77 <div style="flex:1;min-width:0">
78 <div class="fm-meta-line">
79 <span class="fm-flair">DROP-$loop1.id</span>
80 <span>posted by <span style="color:var(--col-text-2)">u/$store_subdomain</span></span>
81 <span>&middot;</span>
82 <span>this week</span>
83 <span>&middot;</span>
84 <span style="color:var(--col-accent-bright)">&#128293; trending</span>
85 </div>
86 <div style="font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--col-text);margin-bottom:6px;line-height:1.25">$loop1.title</div>
87 <div style="display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--col-text-3)">
88 <span style="font-size:15px;font-weight:700;color:var(--col-accent-bright)">$loop1.price</span>
89 <span>&#128172; $loop1.rating_n comments</span>
90 <span>&#128279; share</span>
91 <span>&#9734; save</span>
92 </div>
93 </div>
94 </a>
95 </div>
96 [/loop]
97 $pagination_html
98 </div>
99
100 <!-- About thread (sticky) -->
101 <div id="about" style="background:var(--col-surface-1);border:1px solid var(--col-accent);border-radius:8px;padding:18px;margin-top:24px">
102 <div style="font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--col-accent-bright);font-weight:700;margin-bottom:6px">&#128204; Pinned</div>
103 <div style="font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--col-text);margin-bottom:10px">About this community</div>
104 <p style="font-size:14px;color:var(--col-text-2);line-height:1.7;margin:0">$store_about</p>
105 </div>
106
107</div>
108[/if]
109
110<footer style="border-top:1px solid var(--col-border);padding:18px 24px;text-align:center;background:var(--col-bg-2)">
111 <div class="text-xs text-dim" style="letter-spacing:1.5px;text-transform:uppercase">r/$store_subdomain &middot; powered by affiliate.3dshawn.com</div>
112</footer>
Keyboard: j next diff k previous diff g top G bottom r restore c compile-check ? help