{"release_id":"01a1c502-4ad1-0000-ec62-adc54d3c69aa","chunk_id":"01a1c502-4d02-7bd0-b5e6-dfaf6eccebe6","file":"70.A5uXqke5.mjs","mappings":"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","names":["onMount","activeMode","credits","$.state","$.proxy","$$props","canClaim","nextClaimAt","claiming","claimError","fmtCountdown","iso","ms","t","d","h","m","fmtAge","resetLabel","claim","$.get","$.set","res","body","main","root","$.head","$$anchor","meta","root_1","$0","BeatTabs","node","section","$.sibling","div","div_1","p","h1","span","text_1","div_2","$.first_child","fragment","div_3","div_4","p_1","p_2","div_5","button","$.child","text_5","$.reset","p_3","p_4","root_3","$$render","consequent","$.delegated","div_6","root_4","div_7","div_8","p_5","p_6","a","consequent_1","alternate","a_1","node_1","div_9","div_10","p_7","p_8","section_1","div_11","p_9","span_1","p_10","div_12","root_5","p_11","$.template_effect","$.set_text","text_16","div_13","root_6","o","a_2","root_7","div_14","img","root_8","div_15","root_9","consequent_3","alternate_1","div_16","node_4","span_2","span_3","div_17","span_4","$.set_class","consequent_2","alternate_2","section_2","p_12","div_18","root_10","p_13","text_21","div_19","root_11","l","a_3","root_12","BetVsCard","node_6","consequent_4","alternate_3"],"sources":["../../../../../../src/routes/b/bet/+page.svelte"],"sourcesContent":["<script lang=\"ts\">\n\timport { t } from '$lib/i18n';\n\timport { onMount } from 'svelte';\n\timport { activeMode } from '$lib/stores/activeMode';\n\timport BeatTabs from '$lib/components/beat/BeatTabs.svelte';\n\timport BetVsCard from '$lib/components/beat/BetVsCard.svelte';\n\timport type { PageData } from './$types';\n\n\tlet { data }: { data: PageData } = $props();\n\n\tonMount(() => {\n\t\tactiveMode.set('beat');\n\t\treturn () => activeMode.set(null);\n\t});\n\n\tlet credits = $state(data.credits);\n\tlet canClaim = $state(data.canClaim);\n\tlet nextClaimAt = $state<string | null>(data.nextClaimAt);\n\tlet claiming = $state(false);\n\tlet claimError = $state('');\n\n\tfunction fmtCountdown(iso: string | null): string {\n\t\tif (!iso) return '';\n\t\tconst ms = new Date(iso).getTime() - Date.now();\n\t\tif (ms <= 0) return t('now');\n\t\tconst d = Math.floor(ms / 86_400_000);\n\t\tconst h = Math.floor((ms % 86_400_000) / 3_600_000);\n\t\tif (d > 0) return `${d}d ${h}h`;\n\t\tconst m = Math.floor((ms % 3_600_000) / 60_000);\n\t\treturn `${h}h ${m}m`;\n\t}\n\n\tfunction fmtAge(d: Date | string): string {\n\t\tconst ms = Date.now() - new Date(d).getTime();\n\t\tconst m = Math.floor(ms / 60_000);\n\t\tif (m < 1) return t('just now');\n\t\tif (m < 60) return t('{n}m ago', { n: m });\n\t\tconst h = Math.floor(m / 60);\n\t\tif (h < 24) return t('{n}h ago', { n: h });\n\t\treturn t('{n}d ago', { n: Math.floor(h / 24) });\n\t}\n\n\tconst resetLabel = $derived(nextClaimAt ? t('resets in {time}', { time: fmtCountdown(nextClaimAt) }) : t('ready to claim'));\n\n\tasync function claim() {\n\t\tif (!canClaim || claiming) return;\n\t\tclaiming = true;\n\t\tclaimError = '';\n\t\ttry {\n\t\t\tconst res = await fetch('/api/bet/claim', { method: 'POST' });\n\t\t\tconst body = await res.json().catch(() => ({}));\n\t\t\tif (!res.ok) {\n\t\t\t\tclaimError = body?.message || t('claim failed — try again');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcredits = body.credits;\n\t\t\tnextClaimAt = body.nextClaimAt;\n\t\t\tcanClaim = false;\n\t\t} catch {\n\t\t\tclaimError = t('network error');\n\t\t} finally {\n\t\t\tclaiming = false;\n\t\t}\n\t}\n</script>\n\n<svelte:head>\n\t<title>{t('bet · beat me')}</title>\n\t<meta name=\"description\" content={t('play-money blind betting on beat me duels. claim your weekly chips.')} />\n</svelte:head>\n\n<main class=\"relative overflow-hidden pt-20 pb-32 md:pt-28\">\n\t<div class=\"pointer-events-none absolute inset-0 bg-[linear-gradient(rgba(255,255,255,.005)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,.005)_1px,transparent_1px)] bg-[size:60px_60px]\"></div>\n\t<div class=\"pointer-events-none absolute -top-32 right-[-20%] hidden h-[520px] w-[520px] rounded-full bg-yellow/[.04] blur-[200px] md:block\"></div>\n\n\t<BeatTabs active=\"bet\" />\n\n\t<section class=\"relative mt-8 md:mt-10\">\n\t\t<div class=\"mx-auto w-full max-w-5xl px-5 md:px-0\">\n\t\t\t<div class=\"max-w-3xl\">\n\t\t\t<p class=\"font-mono text-[10px] tracking-[0.32em] text-yellow uppercase\">{t('play-money · blind pool')}</p>\n\t\t\t<h1 class=\"mt-3 font-display text-[clamp(2rem,6vw,3.2rem)] font-bold leading-[0.95] tracking-tight\">\n\t\t\t\t{t('bet on the')} <span class=\"text-muted\">{t('duels.')}</span>\n\t\t\t</h1>\n\n\t\t\t<!-- balance + claim / sign-in -->\n\t\t\t{#if data.loggedIn}\n\t\t\t\t<div class=\"mt-6 flex flex-col gap-3 rounded-2xl bg-surface p-5 ring-1 ring-border ring-inset sm:flex-row sm:items-center sm:justify-between\">\n\t\t\t\t\t<div class=\"flex items-center gap-3\">\n\t\t\t\t\t\t<span class=\"bet-coin-lg\" aria-hidden=\"true\"></span>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<p class=\"font-display text-3xl font-bold tabular-nums leading-none\">{credits}</p>\n\t\t\t\t\t\t\t<p class=\"mt-1 text-xs text-muted\">{t('your chips')}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"flex flex-col items-stretch gap-1.5 sm:items-end\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonclick={claim}\n\t\t\t\t\t\t\tdisabled={!canClaim || claiming}\n\t\t\t\t\t\t\tclass=\"claim-btn inline-flex items-center justify-center gap-2 rounded-xl bg-yellow px-6 py-3 font-display text-sm font-bold tracking-tight text-bg disabled:cursor-not-allowed disabled:bg-surface-2 disabled:text-muted disabled:ring-1 disabled:ring-border\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{claiming ? t('claiming…') : canClaim ? t('claim 100 chips') : t('claimed')}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<p class=\"text-center text-[11px] text-muted sm:text-right\">{t('weekly · {label}', { label: resetLabel })}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{#if claimError}\n\t\t\t\t\t<p class=\"mt-3 rounded-lg border border-coral/30 bg-coral/[.08] px-3 py-2.5 text-xs text-coral\">{claimError}</p>\n\t\t\t\t{/if}\n\t\t\t{:else}\n\t\t\t\t<div class=\"mt-6 flex flex-col gap-3 rounded-2xl bg-surface p-5 ring-1 ring-border ring-inset sm:flex-row sm:items-center sm:justify-between\">\n\t\t\t\t\t<div class=\"flex items-center gap-3\">\n\t\t\t\t\t\t<span class=\"bet-coin-lg\" aria-hidden=\"true\"></span>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<p class=\"font-display text-lg font-bold leading-tight\">{t('claim 100 free chips')}</p>\n\t\t\t\t\t\t\t<p class=\"mt-1 text-xs text-muted\">{t('sign in to bet')}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<a href=\"/auth/sign-in\" class=\"inline-flex items-center justify-center rounded-xl bg-yellow px-6 py-3 font-display text-sm font-bold tracking-tight text-bg no-underline\">{t('sign in →')}</a>\n\t\t\t\t</div>\n\t\t\t{/if}\n\n\t\t\t<!-- start a bet -->\n\t\t\t<a\n\t\t\t\thref=\"/b/bet/start\"\n\t\t\t\tclass=\"mt-4 flex items-center justify-between gap-3 rounded-2xl border border-dashed border-yellow/30 bg-yellow/[.04] px-5 py-4 no-underline transition-colors hover:border-yellow/50\"\n\t\t\t>\n\t\t\t\t<div class=\"flex items-center gap-3\">\n\t\t\t\t\t<span class=\"font-display text-xl leading-none text-yellow\">+</span>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<p class=\"font-display text-sm font-bold text-text\">{t('start a bet')}</p>\n\t\t\t\t\t\t<p class=\"text-[11px] text-muted\">{t('upload + set your stake')}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"font-display text-sm text-yellow\">→</span>\n\t\t\t</a>\n\n\t\t\t<!-- waiting for an opponent -->\n\t\t\t<section class=\"mt-9\">\n\t\t\t\t<div class=\"flex items-baseline justify-between\">\n\t\t\t\t\t<p class=\"font-mono text-[10px] tracking-[0.3em] text-yellow uppercase\">{t('waiting for an opponent')}</p>\n\t\t\t\t\t<span class=\"text-[11px] text-muted\">{t('{n} open', { n: data.open.length })}</span>\n\t\t\t\t</div>\n\t\t\t\t<p class=\"mt-1.5 text-[13px] text-muted\">{t('first to match the stake takes it live.')}</p>\n\t\t\t\t{#if data.open.length === 0}\n\t\t\t\t\t<div class=\"mt-3 rounded-2xl bg-surface px-5 py-8 text-center ring-1 ring-border ring-inset\">\n\t\t\t\t\t\t<p class=\"text-sm text-muted\">{t('no open bets yet — start one above.')}</p>\n\t\t\t\t\t</div>\n\t\t\t\t{:else}\n\t\t\t\t\t<div class=\"mt-3 grid grid-cols-2 gap-3 sm:grid-cols-3\">\n\t\t\t\t\t\t{#each data.open as o (o.code)}\n\t\t\t\t\t\t\t<a href=\"/b/bet/{o.code}\" class=\"group relative block overflow-hidden rounded-xl bg-surface no-underline ring-1 ring-border ring-inset {o.isMine ? 'ring-yellow/50' : ''}\">\n\t\t\t\t\t\t\t\t<div class=\"relative aspect-[4/5] bg-bg\">\n\t\t\t\t\t\t\t\t\t{#if o.mediaTypeA === 'image' && o.urlA}\n\t\t\t\t\t\t\t\t\t\t<img src={o.urlA} alt=\"\" loading=\"lazy\" class=\"h-full w-full object-cover\" />\n\t\t\t\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex h-full w-full items-center justify-center bg-gradient-to-br from-coral/25 to-bg\">\n\t\t\t\t\t\t\t\t\t\t\t<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"ml-0.5 text-text/70\"><path d=\"M8 5v14l11-7z\" /></svg>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t\t\t\t<div class=\"pointer-events-none absolute top-2 left-2 flex flex-col items-start gap-1.5\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"rounded-md bg-black/65 px-2 py-0.5 text-[10px] text-text backdrop-blur\">{fmtAge(o.createdAt)}</span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"inline-flex items-center gap-1 rounded-md bg-black/68 px-2 py-0.5 font-display text-[11px] font-bold text-[#ffd84d] backdrop-blur\"><span class=\"bet-coin-sm\"></span>{t('{n} to join', { n: o.stake })}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"pointer-events-none absolute inset-x-0 bottom-0 bg-gradient-to-t from-bg/95 via-bg/50 to-transparent px-2.5 pt-8 pb-2.5\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"font-display text-[11px] font-bold tracking-[0.08em] text-yellow uppercase\">\n\t\t\t\t\t\t\t\t\t\t\t{o.isMine ? t('yours · waiting') : t('accept →')}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t</section>\n\n\t\t\t<!-- live now -->\n\t\t\t<section class=\"mt-9\">\n\t\t\t\t<p class=\"font-mono text-[10px] tracking-[0.3em] text-coral uppercase\">\n\t\t\t\t\t<span class=\"relative mr-1 inline-flex h-1.5 w-1.5 align-middle\">\n\t\t\t\t\t\t<span class=\"absolute inline-flex h-full w-full animate-ping rounded-full bg-coral opacity-60\"></span>\n\t\t\t\t\t\t<span class=\"relative inline-flex h-1.5 w-1.5 rounded-full bg-coral\"></span>\n\t\t\t\t\t</span>\n\t\t\t\t\t{t('live now · back a side')}\n\t\t\t\t</p>\n\t\t\t\t{#if data.live.length === 0}\n\t\t\t\t\t<div class=\"mt-3 rounded-2xl bg-surface px-5 py-8 text-center ring-1 ring-border ring-inset\">\n\t\t\t\t\t\t<p class=\"text-sm text-muted\">{t('nothing live yet.')}</p>\n\t\t\t\t\t</div>\n\t\t\t\t{:else}\n\t\t\t\t\t<div class=\"mt-3 flex flex-col gap-4\">\n\t\t\t\t\t\t{#each data.live as l (l.code)}\n\t\t\t\t\t\t\t<a href=\"/b/bet/{l.code}\" class=\"block no-underline\">\n\t\t\t\t\t\t\t\t<BetVsCard\n\t\t\t\t\t\t\t\t\turlA={l.urlA}\n\t\t\t\t\t\t\t\t\turlB={l.urlB}\n\t\t\t\t\t\t\t\t\tmediaTypeA={l.mediaTypeA}\n\t\t\t\t\t\t\t\t\tmediaTypeB={l.mediaTypeB}\n\t\t\t\t\t\t\t\t\tclosesAt={l.closesAt}\n\t\t\t\t\t\t\t\t\tpot={l.pool}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t</section>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</main>\n\n<style>\n\t.bet-coin-lg {\n\t\twidth: 40px;\n\t\theight: 40px;\n\t\tborder-radius: 50%;\n\t\tflex: none;\n\t\tbackground: radial-gradient(circle at 34% 30%, #ffe27a, #f4b71f 70%);\n\t\tbox-shadow:\n\t\t\tinset 0 0 0 4px rgba(0, 0, 0, 0.26),\n\t\t\tinset 0 0 0 6px rgba(255, 255, 255, 0.15);\n\t}\n\t.bet-coin-sm {\n\t\tdisplay: inline-block;\n\t\twidth: 12px;\n\t\theight: 12px;\n\t\tborder-radius: 50%;\n\t\tbackground: radial-gradient(circle at 34% 30%, #ffe27a, #f4b71f 70%);\n\t\tbox-shadow:\n\t\t\tinset 0 0 0 2px rgba(0, 0, 0, 0.28),\n\t\t\tinset 0 0 0 2.5px rgba(255, 255, 255, 0.16);\n\t}\n\t.claim-btn {\n\t\ttransition:\n\t\t\ttransform 0.4s var(--ease-out-expo),\n\t\t\tbox-shadow 0.4s var(--ease-out-expo);\n\t}\n\t.claim-btn:not(:disabled):hover {\n\t\ttransform: translateY(-2px);\n\t\tbox-shadow: 0 12px 32px -10px rgb(255 229 0 / 0.4);\n\t}\n</style>\n"],"version":3}