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)
|
||||
|
||||
Reference in New Issue
Block a user