diff --git a/ads.js b/ads.js index 4fe759a..33d6cd0 100644 Binary files a/ads.js and b/ads.js differ diff --git a/db.js b/db.js index c8b2a73..4bd412a 100644 --- a/db.js +++ b/db.js @@ -142,6 +142,14 @@ async function bootstrap() { // per-account chat settings: availability toggle (default on) + muted-member list (JSON emails) await alterSafe('ALTER TABLE accounts ADD COLUMN chat_available TINYINT NOT NULL DEFAULT 1'); await alterSafe('ALTER TABLE accounts ADD COLUMN chat_mutes VARCHAR(4000) NULL'); + await q(`CREATE TABLE IF NOT EXISTS video_seen ( + email VARCHAR(190) NOT NULL, + campaign_id INT NOT NULL, + day CHAR(10) NOT NULL, + ts BIGINT NOT NULL, + UNIQUE KEY uq_vseen (email, campaign_id, day), + INDEX (email, day) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`); await q(`CREATE TABLE IF NOT EXISTS ad_reports ( id INT AUTO_INCREMENT PRIMARY KEY, campaign_id INT NOT NULL, diff --git a/public/assets/site.css b/public/assets/site.css index bb79f41..2044c66 100644 --- a/public/assets/site.css +++ b/public/assets/site.css @@ -274,12 +274,12 @@ textarea{resize:vertical;font:inherit} .feat-day .fd-occ{font-family:var(--mono);font-size:11px;color:var(--muted)} .feat-day.open2 .fd-occ{color:var(--mint)} /* ── featured rotation strip ── */ -.feat-top{max-width:760px;margin:0 auto 16px} +.feat-top{max-width:760px;margin:16px auto;border:1px solid rgba(255,177,56,.5)} .feat-strip{display:flex;justify-content:center;margin-top:10px} -.feat-strip a{max-width:728px;width:100%} -.feat-strip a{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:10px; - background:var(--panel);border:1px solid var(--line-strong);color:var(--ink);text-decoration:none;font-weight:600} -.feat-strip a:hover{border-color:var(--mint)} +.feat-strip a{max-width:728px;width:100%;display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:10px; + background:var(--panel);border:1px solid #ffb238;color:var(--ink);text-decoration:none;font-weight:600} +.feat-strip a:hover{border-color:#ffd15c;box-shadow:0 0 0 1px rgba(255,177,56,.4)} +.feat-strip .by{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap} .feat-strip .by{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap} /* ── achievement badges ── */ .badges{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px} diff --git a/public/my.html b/public/my.html index 760a3b1..258c44a 100644 --- a/public/my.html +++ b/public/my.html @@ -4,7 +4,7 @@