InstantAdPay banner kit (kie.ai): hero + leaderboard + rectangle in Promo tools
- 3 brand banners generated via kie.ai (mint-on-dark Web3 aesthetic), served from /banners/ - Promo tools Banners card now shows the kit with copy-image-URL Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -953,6 +953,33 @@
|
||||
const sw = $('promoSwipeWrap');
|
||||
sw.innerHTML = '';
|
||||
sw.appendChild(promoBlock('Subject: ' + PROMO_SWIPE.subject + '\n\n' + PROMO_SWIPE.body.replace('{{LINK}}', link)));
|
||||
// banner kit
|
||||
const bwrap = $('promoBanners');
|
||||
if (bwrap && !bwrap.dataset.filled) {
|
||||
bwrap.dataset.filled = '1';
|
||||
const BANNERS = [
|
||||
{ file: 'iap-hero-1200x630.png', size: '1200×630 (social / hero)' },
|
||||
{ file: 'iap-728x90.png', size: '728×90 (leaderboard)' },
|
||||
{ file: 'iap-300x250.png', size: '300×250 (rectangle)' }
|
||||
];
|
||||
bwrap.innerHTML = '';
|
||||
for (const b of BANNERS) {
|
||||
const url = location.origin + '/banners/' + b.file;
|
||||
const d = document.createElement('div');
|
||||
d.className = 'pb-item';
|
||||
d.innerHTML = '<img src="/banners/' + b.file + '" alt="InstantAdPay banner ' + b.size + '" loading="lazy">'
|
||||
+ '<div class="pb-row"><span class="pb-size">' + b.size + '</span></div>';
|
||||
const btn = document.createElement('button');
|
||||
btn.className = 'btn small sec';
|
||||
btn.textContent = 'Copy image URL';
|
||||
btn.addEventListener('click', async () => {
|
||||
try { await navigator.clipboard.writeText(url); IAP.status('Banner URL copied.', 'ok'); }
|
||||
catch (e) { IAP.status('Copy failed.', 'bad'); }
|
||||
});
|
||||
d.querySelector('.pb-row').appendChild(btn);
|
||||
bwrap.appendChild(d);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ── profile ── (busy2 defers the busy lookup past its TDZ)
|
||||
|
||||
@@ -259,6 +259,11 @@ textarea{resize:vertical;font:inherit}
|
||||
#boBurger{display:block}
|
||||
.bo-content{padding:18px}
|
||||
}
|
||||
/* ── promo banners ── */
|
||||
.promo-banners{display:flex;flex-direction:column;gap:14px;margin-top:12px}
|
||||
.pb-item img{max-width:100%;border-radius:8px;border:1px solid var(--line-strong);display:block}
|
||||
.pb-item .pb-row{display:flex;gap:10px;align-items:center;margin-top:6px;flex-wrap:wrap}
|
||||
.pb-item .pb-size{font-family:var(--mono);font-size:11px;color:var(--muted)}
|
||||
/* ── featured day-slot picker ── */
|
||||
.feat-days{display:flex;gap:8px;flex-wrap:wrap}
|
||||
.feat-day{flex:0 0 auto;min-width:82px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:10px;
|
||||
|
||||
Reference in New Issue
Block a user