bakulkrupuk2025 commited on
Commit
4731c8d
·
verified ·
1 Parent(s): f5c3ad4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -3
app.py CHANGED
@@ -78,7 +78,10 @@ body::before { content:''; position:fixed; inset:0; background-image:linear-grad
78
  .module-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
79
  .module-btn { background:rgba(0,212,255,0.05); border:1px solid rgba(0,212,255,0.3); border-radius:6px; padding:12px; cursor:pointer; transition:all 0.3s; text-align:left; color:var(--text); font-family:'Share Tech Mono',monospace; font-size:0.75rem; }
80
  .module-btn:hover { background:rgba(0,212,255,0.15); border-color:var(--blue); box-shadow:var(--glow-blue); transform:translateY(-2px); }
 
 
81
  .module-name { font-weight:700; color:var(--blue); }
 
82
  .chat-box { height:280px; overflow-y:auto; background:rgba(0,0,0,0.3); border:1px solid var(--border); border-radius:6px; padding:15px; margin-bottom:10px; scroll-behavior:smooth; }
83
  .chat-box::-webkit-scrollbar{width:4px;} .chat-box::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
84
  .msg { margin-bottom:12px; animation:fadeIn 0.3s ease; }
@@ -132,7 +135,7 @@ body::before { content:''; position:fixed; inset:0; background-image:linear-grad
132
 
133
  <div class="grid g4">
134
  <div class="panel"><div class="panel-title">⚡ PROVIDERS</div><div class="stat-value" id="providerCount">—</div><div class="stat-label">AI AKTIF</div></div>
135
- <div class="panel gold"><div class="panel-title gold">💰 MODULES</div><div class="stat-value" style="color:var(--gold)">7</div><div class="stat-label">AUTONOMOUS</div></div>
136
  <div class="panel"><div class="panel-title">🔗 AFFILIATES</div><div class="stat-value">2</div><div class="stat-label">PROGRAMS</div></div>
137
  <div class="panel red"><div class="panel-title red">🚀 SESSIONS</div><div class="stat-value" style="color:var(--red)" id="sessionCount">0</div><div class="stat-label">COMPLETED</div></div>
138
  </div>
@@ -157,7 +160,8 @@ body::before { content:''; position:fixed; inset:0; background-image:linear-grad
157
  <button class="module-btn" onclick="runModuleInput('scout','target','Target riset:')"><span style="font-size:1.2rem">🔍</span><br><span class="module-name">Scout</span></button>
158
  <button class="module-btn" onclick="runWriter()"><span style="font-size:1.2rem">✍️</span><br><span class="module-name">Writer</span></button>
159
  <button class="module-btn" onclick="runModuleInput('publisher','content','Masukkan konten:')"><span style="font-size:1.2rem">📢</span><br><span class="module-name">Publisher</span></button>
160
- <button class="module-btn" onclick="runModule('analyst')" style="grid-column:span 2"><span style="font-size:1.2rem">📈</span> <span class="module-name">Analyst</span></button>
 
161
  </div>
162
  </div>
163
  </div>
@@ -180,7 +184,7 @@ body::before { content:''; position:fixed; inset:0; background-image:linear-grad
180
  </div>
181
  <div class="link-card">
182
  <div class="link-platform">🛒 SHOPEE</div>
183
- <div class="link-url" onclick="copyLink(this)">shopee.co.id affiliate</div>
184
  <div class="link-commission">💵 2-10%/sale</div>
185
  </div>
186
  <button class="btn gold" style="width:100%;margin-top:8px" onclick="genTemplate()">📝 GEN TEMPLATE</button>
@@ -287,6 +291,23 @@ async function runWriter() {
287
  } catch(e) { outputBox.textContent = '⚠️ Error.'; }
288
  }
289
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  async function genTemplate() {
291
  const platform = window.prompt('Platform (hostinger/shopee):') || 'hostinger';
292
  try {
 
78
  .module-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
79
  .module-btn { background:rgba(0,212,255,0.05); border:1px solid rgba(0,212,255,0.3); border-radius:6px; padding:12px; cursor:pointer; transition:all 0.3s; text-align:left; color:var(--text); font-family:'Share Tech Mono',monospace; font-size:0.75rem; }
80
  .module-btn:hover { background:rgba(0,212,255,0.15); border-color:var(--blue); box-shadow:var(--glow-blue); transform:translateY(-2px); }
81
+ .module-btn.shopee { border-color:rgba(255,80,0,0.4); }
82
+ .module-btn.shopee:hover { background:rgba(255,80,0,0.15); border-color:#ff5000; box-shadow:0 0 20px rgba(255,80,0,0.4); }
83
  .module-name { font-weight:700; color:var(--blue); }
84
+ .module-name.orange { color:#ff8c00; }
85
  .chat-box { height:280px; overflow-y:auto; background:rgba(0,0,0,0.3); border:1px solid var(--border); border-radius:6px; padding:15px; margin-bottom:10px; scroll-behavior:smooth; }
86
  .chat-box::-webkit-scrollbar{width:4px;} .chat-box::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
87
  .msg { margin-bottom:12px; animation:fadeIn 0.3s ease; }
 
135
 
136
  <div class="grid g4">
137
  <div class="panel"><div class="panel-title">⚡ PROVIDERS</div><div class="stat-value" id="providerCount">—</div><div class="stat-label">AI AKTIF</div></div>
138
+ <div class="panel gold"><div class="panel-title gold">💰 MODULES</div><div class="stat-value" style="color:var(--gold)">8</div><div class="stat-label">AUTONOMOUS</div></div>
139
  <div class="panel"><div class="panel-title">🔗 AFFILIATES</div><div class="stat-value">2</div><div class="stat-label">PROGRAMS</div></div>
140
  <div class="panel red"><div class="panel-title red">🚀 SESSIONS</div><div class="stat-value" style="color:var(--red)" id="sessionCount">0</div><div class="stat-label">COMPLETED</div></div>
141
  </div>
 
160
  <button class="module-btn" onclick="runModuleInput('scout','target','Target riset:')"><span style="font-size:1.2rem">🔍</span><br><span class="module-name">Scout</span></button>
161
  <button class="module-btn" onclick="runWriter()"><span style="font-size:1.2rem">✍️</span><br><span class="module-name">Writer</span></button>
162
  <button class="module-btn" onclick="runModuleInput('publisher','content','Masukkan konten:')"><span style="font-size:1.2rem">📢</span><br><span class="module-name">Publisher</span></button>
163
+ <button class="module-btn" onclick="runModule('analyst')"><span style="font-size:1.2rem">📈</span><br><span class="module-name">Analyst</span></button>
164
+ <button class="module-btn shopee" onclick="runShopee()"><span style="font-size:1.2rem">🛒</span><br><span class="module-name orange">ShopeePromoter</span></button>
165
  </div>
166
  </div>
167
  </div>
 
184
  </div>
185
  <div class="link-card">
186
  <div class="link-platform">🛒 SHOPEE</div>
187
+ <div class="link-url" onclick="copyLink(this)">https://s.shopee.co.id/6pvyNUFq9A</div>
188
  <div class="link-commission">💵 2-10%/sale</div>
189
  </div>
190
  <button class="btn gold" style="width:100%;margin-top:8px" onclick="genTemplate()">📝 GEN TEMPLATE</button>
 
291
  } catch(e) { outputBox.textContent = '⚠️ Error.'; }
292
  }
293
 
294
+ async function runShopee() {
295
+ const product_link = window.prompt('Link affiliate produk Shopee:');
296
+ if (!product_link) return;
297
+ const product_name = window.prompt('Nama produk (boleh kosong):') || '';
298
+ const price = window.prompt('Harga produk (boleh kosong):') || '';
299
+ outputBox.innerHTML = `<div class="thinking"><span></span><span></span><span></span></div> Generating konten Shopee...`;
300
+ try {
301
+ const res = await fetch('/api/module', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({module:'shopee', product_link, product_name, price})});
302
+ const data = await res.json();
303
+ outputBox.textContent = data.output;
304
+ document.getElementById('outputMeta').textContent = `ShopeePromoter: ${product_name || product_link}`;
305
+ document.getElementById('providerBadge').textContent = data.provider;
306
+ document.getElementById('providerBadge').style.display = 'inline';
307
+ logActivity('SHOPEE', 'Konten generated');
308
+ } catch(e) { outputBox.textContent = '��️ Error.'; }
309
+ }
310
+
311
  async function genTemplate() {
312
  const platform = window.prompt('Platform (hostinger/shopee):') || 'hostinger';
313
  try {