Earn viewer v2: full-screen URL visits with countdown, human check, explicit return

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-05 07:23:30 -05:00
parent fee86d296a
commit 15b036b940
7 changed files with 238 additions and 47 deletions
+48
View File
@@ -0,0 +1,48 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Viewing ad — InstantAdPay</title>
<link rel="stylesheet" href="/assets/site.css?v=20260905l">
<style>
html,body{height:100%;margin:0;overflow:hidden}
.vw{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg,#04110c);color:var(--ink,#e8fff7)}
.vbar{flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:10px 16px;
background:var(--panel-solid,#071a12);border-bottom:1px solid var(--line,rgba(67,232,195,.18));flex-wrap:wrap}
.vbrand{font-family:var(--disp,sans-serif);font-weight:800;font-size:15px;white-space:nowrap}
.vbrand em{color:var(--mint,#43e8c3);font-style:normal}
.vtimer{font-family:var(--mono,monospace);font-weight:700;font-size:14px;border:1px solid var(--line-strong,rgba(67,232,195,.32));
border-radius:999px;padding:5px 14px;min-width:104px;text-align:center}
.vtimer.paused{color:var(--amber,#ffb238);border-color:rgba(255,178,56,.55)}
.vtimer.done{color:var(--mint,#43e8c3)}
.vmsg{font-size:13px;color:var(--muted,#8ba69c);flex:1;min-width:140px}
.vcheck{display:none;align-items:center;gap:8px;flex-wrap:wrap}
.vcheck.on{display:flex}
.vcheck .prompt{font-size:13.5px;font-weight:700}
.vcheck button{font-size:20px;line-height:1;background:var(--panel,rgba(9,26,19,.85));color:inherit;
border:1px solid var(--line-strong,rgba(67,232,195,.32));border-radius:10px;padding:7px 12px;cursor:pointer;margin-right:6px}
.vcheck button:hover,.vcheck button:focus-visible{border-color:var(--mint,#43e8c3);outline:none}
.vdone{display:none;gap:8px;align-items:center}
.vdone.on{display:flex}
.vframe{flex:1;border:0;width:100%;background:#fff}
.vfail{flex:1;display:grid;place-items:center;color:var(--muted,#8ba69c);padding:30px;text-align:center;font-size:15px}
</style>
</head>
<body>
<div class="vw">
<div class="vbar">
<span class="vbrand">Instant<em>AdPay</em></span>
<span class="vtimer" id="vTimer">…</span>
<span class="vmsg" id="vMsg">Loading the ad…</span>
<span class="vcheck" id="vCheck"><span class="prompt" id="vPrompt"></span><span id="vOpts"></span></span>
<span class="vdone" id="vDone">
<button class="btn small" id="vClose" type="button">Close tab</button>
<a class="btn small sec" href="/my#earn">Back to dashboard</a>
</span>
</div>
<iframe class="vframe" id="vFrame" sandbox="allow-scripts allow-same-origin allow-forms allow-popups" referrerpolicy="no-referrer" title="Advertiser site"></iframe>
</div>
<script src="/assets/view.js?v=20260905l"></script>
</body>
</html>