PageSourceSearch

https://thinknote.pro/_app/immutable/nodes/12.DDP9vW9M.js

js thinknote.pro collected 2026-10-02 02:07:21 UTC 24,982 bytes, 2 lines download raw bytes

1import"../chunks/CWj6FrbW.js";import"../chunks/69_IOA4Y.js";import{p as Ie,g as U,h as Te,aA as Ee,k as e,f as b,s,c as r,t as f,a as v,b as Fe,j as p,r as t,m as Re,aP as De,d as wr,e as $t,l as Fr,u as Oe,o as Be,$ as He}from"../chunks/Chv1Rf9A.js";import{h as ze}from"../chunks/dHPumSgb.js";import{o as We}from"../chunks/CfHcjSR2.js";import{d as Ke,s as n}from"../chunks/CrUTHeR8.js";import{i as A}from"../chunks/BNC-Xv9g.js";import{e as jt,i as St}from"../chunks/BmGKgcrT.js";import{s as Pt,r as Mt}from"../chunks/BqGGmVQO.js";import{s as kr,b as Qe,a as Je}from"../chunks/DVFsm7re.js";import{b as bt}from"../chunks/BVReb8c3.js";import{s as Ne,a as Ze}from"../chunks/D0O4N5Zc.js";import{$ as Ge}from"../chunks/BoMiQoxg.js";import{A as Ut}from"../chunks/9dsCwa7_.js";import{t as O}from"../chunks/CGgtpwTv.js";var Ve=b("<option> </option>"),Xe=b('<div class="flex flex-wrap gap-2 pt-2"><button type="button" class="px-5 py-2.5 bg-emerald-600 text-white rounded-lg hover:bg-emerald-700 disabled:opacity-50 font-medium"> </button></div>'),Ye=b('<div class="pt-4 border-t border-gray-200 space-y-3"><h4 class="font-semibold text-gray-900"> </h4> <p class="text-sm text-gray-600"> </p> <p class="text-xs text-gray-500"> </p> <div class="text-xs text-gray-500">slug / promo</div> <div class="font-mono text-sm bg-gray-50 border border-gray-100 rounded-lg px-3 py-2"> </div> <div class="text-xs text-gray-500"> </div> <div class="font-mono text-xs bg-gray-50 border border-gray-100 rounded-lg p-3 break-all"> </div> <div class="text-xs text-gray-500"> </div> <div class="font-mono text-xs bg-emerald-50 border border-emerald-100 rounded-lg p-3 break-all"> </div> <div class="flex flex-wrap gap-2"><button type="button" class="px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 text-sm"> </button> <button type="button" class="px-4 py-2 border border-gray-300 rounded-lg hover:bg-gray-50 text-sm"> </button> <button type="button" class="px-4 py-2 text-gray-700 border border-gray-200 rounded-lg hover:bg-gray-50 text-sm"> </button></div></div>'),ta=b('<div class="fixed inset-0 z-100 flex items-end justify-center sm:items-center p-0 sm:p-4 bg-black/45 backdrop-blur-[1px]" role="presentation"><div class="bg-white rounded-t-2xl sm:rounded-xl shadow-2xl w-full max-w-2xl max-h-[min(92vh,900px)] flex flex-col border border-gray-200" role="dialog" aria-modal="true" aria-labelledby="promo-create-title" tabindex="-1"><div class="flex items-start justify-between gap-3 px-5 pt-5 pb-3 border-b border-gray-100 shrink-0"><div class="min-w-0"><h3 id="promo-create-title" class="font-semibold text-lg text-gray-900"> </h3> <p class="text-sm text-gray-600 mt-1"> </p></div> <button type="button" class="shrink-0 p-2 rounded-lg text-gray-500 hover:bg-gray-100 hover:text-gray-800"><span class="sr-only"> </span> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div> <div class="overflow-y-auto flex-1 px-5 py-4 space-y-4"><label class="block text-sm"><span class="text-gray-700"> </span> <textarea class="mt-1 w-full border border-gray-200 rounded-lg px-3 py-2 font-mono text-sm min-h-[72px] focus:ring-2 focus:ring-emerald-500/30 focus:border-emerald-500 focus:outline-hidden" placeholder="https://www.reddit.com/r/.../comments/..."></textarea></label> <div class="flex flex-wrap gap-2"><button type="button" class="px-3 py-1.5 text-sm border border-gray-200 rounded-lg hover:bg-gray-50"> </button></div> <div class="grid sm:grid-cols-2 gap-4"><label class="block text-sm"><span class="text-gray-700"> </span> <select class="mt-1 w-full border border-gray-200 rounded-lg px-3 py-2"></select></label> <label class="block text-sm"><span class="text-gray-700"> </span> <input class="mt-1 w-full border border-gray-200 rounded-lg px-3 py-2"/></label> <label class="block text-sm"><span class="text-gray-700"> </span> <input class="mt-1 w-full border border-gray-200 rounded-lg px-3 py-2" placeholder="spring_2026"/></label> <label class="block text-sm"><span class="text-gray-700"> </span> <input class="mt-1 w-full border border-gray-200 rounded-lg px-3 py-2" placeholder="post_id"/></label> <label class="block text-sm sm:col-span-2"><span class="text-gray-700"> </span> <input class="mt-1 w-full border border-gray-200 rounded-lg px-3 py-2" placeholder="community"/></label></div> <!> <!></div> <div class="px-5 py-3 border-t border-gray-100 bg-gray-50/80 rounded-b-2xl sm:rounded-b-xl shrink-0 flex justify-end gap-2"><button type="button" class="px-4 py-2 text-sm font-medium rounded-lg border border-gray-200 text-gray-700 hover:bg-white"> </button></div></div></div>'),ra=b('<span class="text-gray-600 font-medium"> </span> ',1),ea=b('<span class="ml-2 text-gray-600"> </span>'),aa=b('<p class="text-sm text-gray-500 mt-1"><!> <!></p>'),oa=b('<div class="mt-8 py-12 flex justify-center"><p class="text-gray-500 text-sm"> </p></div>
1'),sa=b('<p class="px-4 py-6 text-sm text-gray-500"> </p>'),ia=b('<tr class="border-b border-gray-50 last:border-0 hover:bg-gray-50/80"><td class="px-4 py-2.5 font-mono text-gray-900"> </td><td class="px-4 py-2.5 text-right tabular-nums text-gray-800"> </td></tr>'),na=b('<table class="w-full text-sm"><thead><tr class="text-left text-gray-500 border-b border-gray-100 bg-white"><th class="px-4 py-2 font-medium"> </th><th class="px-4 py-2 font-medium text-right w-24"> </th></tr></thead><tbody></tbody></table>'),la=b('<div class="px-4 py-5 space-y-2"><p class="text-sm text-gray-500"> </p> <p class="text-xs text-gray-400 leading-relaxed"> </p></div>'),da=b('<tr class="border-b border-gray-50 last:border-0 hover:bg-gray-50/80"><td class="px-4 py-2.5 font-mono text-gray-900 break-all"> </td><td class="px-4 py-2.5 text-right tabular-nums text-gray-800"> </td></tr>'),pa=b('<table class="w-full text-sm"><thead><tr class="text-left text-gray-500 border-b border-gray-100 bg-white"><th class="px-4 py-2 font-medium"> </th><th class="px-4 py-2 font-medium text-right w-24"> </th></tr></thead><tbody></tbody></table>'),ma=b('<p class="px-4 py-6 text-sm text-gray-500"> </p>'),ua=b('<div class="flex items-center gap-3 text-sm"><span class="w-[9.5rem] shrink-0 font-mono text-xs text-gray-600 tabular-nums"> </span> <div class="flex-1 min-w-0 h-2 rounded-full bg-gray-100 overflow-hidden"><div class="h-full rounded-full bg-primary-500/90"></div></div> <span class="w-10 shrink-0 text-right tabular-nums font-medium text-gray-800"> </span></div>'),va=b('<div class="px-4 py-3 max-h-56 overflow-y-auto space-y-2"></div>'),ca=b('<div class="mt-6 rounded-xl border border-primary-100 bg-linear-to-br from-slate-50 to-primary-50/60 px-5 py-4 sm:px-6 sm:py-5"><p class="text-sm font-medium text-gray-600"> </p> <p class="mt-1 text-3xl sm:text-4xl font-bold tabular-nums text-gray-900 tracking-tight"> </p></div> <div class="mt-8 grid gap-8 lg:grid-cols-2"><div class="rounded-lg border border-gray-100 overflow-hidden"><h4 class="px-4 py-3 text-sm font-semibold text-gray-800 bg-gray-50 border-b border-gray-100"> </h4> <!></div> <div class="rounded-lg border border-gray-100 overflow-hidden"><h4 class="px-4 py-3 text-sm font-semibold text-gray-800 bg-gray-50 border-b border-gray-100"> </h4> <!></div></div> <div class="mt-8 rounded-lg border border-gray-100 overflow-hidden"><h4 class="px-4 py-3 text-sm font-semibold text-gray-800 bg-gray-50 border-b border-gray-100"> </h4> <!></div>',1),_a=b('<p class="text-gray-500 text-sm"> </p>'),xa=b('<p class="text-gray-400 text-sm"> </p>'),ba=b('<a class="text-primary-600 break-all" target="_blank" rel="noopener noreferrer"> </a>'),ya=b('<tr class="border-b border-gray-100 align-top"><td class="py-2 pr-2 font-mono text-xs"> </td><td class="py-2 pr-2"> </td><td class="py-2 pr-2 text-right tabular-nums font-medium text-gray-900 whitespace-nowrap"> </td><td class="py-2 pr-2 max-w-[140px] wrap-break-word"> </td><td class="py-2 pr-2 max-w-[180px]"><!></td><td class="py-2 pr-2 font-mono text-xs break-all"> </td><td class="py-2 whitespace-nowrap"><button type="button" class="text-sm text-red-600 hover:text-red-800 disabled:opacity-50"> </button></td></tr>'),ga=b('<div class="overflow-x-auto"><table class="w-full text-sm"><thead><tr class="text-left text-gray-500 border-b"><th class="pb-2 pr-2"> </th><th class="pb-2 pr-2"> </th><th class="pb-2 pr-2 text-right whitespace-nowrap"> </th><th class="pb-2 pr-2"> </th><th class="pb-2 pr-2"> </th><th class="pb-2 pr-2"> </th><th class="pb-2 whitespace-nowrap"> </th></tr></thead><tbody></tbody></table></div>'),fa=b('<div class="space-y-8"><div class="flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between"><p class="text-gray-600 text-sm"> </p> <button type="button" class="shrink-0 px-4 py-2.5 rounded-lg bg-emerald-600 text-white text-sm font-medium hover:bg-emerald-700 shadow-xs"> </button></div> <!> <div class="bg-white rounded-xl shadow-sm p-6 border border-gray-100"><div class="flex flex-col gap-5 lg:flex-row lg:items-start lg:justify-between lg:gap-8"><div class="min-w-0"><h3 class="text-lg font-semibold text-gray-900"> </h3> <!></div> <div class="flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center lg:justify-end shrink-0"><div class="flex flex-wrap items-center gap-2"><span class="text-xs font-medium uppercase tracking-wide text-gray-500"> </span> <div class="inline-flex rounded-lg border border-gray-200 bg-gray-50 p-0.5"><button type="button">7d</button> <button type="button">30d</button> <button type="button"> </button></div></div> <div class="flex flex-wrap items-center gap-2"><input class="min-w-[10rem] flex-1 sm:flex-none border border-gray-200 rounded-lg px-3 py-2 text-sm focus:ring-2 focus:ring-primary-500/30 focus:border-primary-400 focus:outline-hidden"/> <button type="button" class="px-4 py-2 text-sm font-medium rounded-lg border border-gray-200 text-gray-700 hover:bg-gray-50"> </button></div></div></div> <!></div> <div class="bg-white rounded-xl shadow-sm p-6"><h3 class="font-semibold text-lg mb-2"> </h3> <p class="text-sm text-gray-600"> </p></div> <div class="bg-white rounded-xl shadow-sm p-6"><div class="flex items-center justify-between mb-4"><h3 class="font-semibold text-lg"> </h3> <button type="button" class="text-sm text-primary-600"> </button></div> <!></div></div>');function ha(zt,qr){Ie(qr,!0);const o=()=>Ze(Ge,"$_",Rr),[Rr,Dr]=Ne(),Lr={"reddit.com":"reddit","old.reddit.com":"reddit","www.reddit.com":"reddit","x.com":"twitter","twitter.com":"twitter","medium.com":"medium","www.medium.com":"medium","youtube.com":"youtube","youtu.be":"youtube","tiktok.com":"tiktok","discord.com":"discord","discord.gg":"discord"};function Or(a){return a.replace(/^www\./i,"").toLowerCase()}function $r(a){const i=Or(a);return Lr[i]||Lr[a.toLowerCase()]||i.split(".")[0]||"web"}
1function jr(a){const i=a.match(/\/comments\/([a-z0-9]+)/i);return i?i[1]:null}function Wt(a){const i=a.trim();if(!i)return null;try{return new URL(i.startsWith("http")?i:`https://${i}`)}catch{return null}}let Ct=U(!0),q=U(null),lt=U("30d"),_t=U(""),dt=U(""),yt=U("reddit"),xt=U(""),pt=U(""),gt=U(""),At=U(""),Kt=U(!1),Qt=U(Te([])),It=U(!1),Tt=U(null),I=U(null),Et=U(!1);function Ft(){p(Et,!1),p(I,null),p(dt,""),p(yt,"reddit"),p(xt,""),p(pt,""),p(gt,""),p(At,"")}function Br(){p(Et,!0)}Ee(()=>{if(!e(Et)||typeof document>"u")return;const a=l=>{l.key==="Escape"&&Ft()},i=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",a),()=>{document.body.style.overflow=i,window.removeEventListener("keydown",a)}});function Rt(){const a=localStorage.getItem("admin_token")||localStorage.getItem("user_token");return{"Content-Type":"application/json",...a?{Authorization:`Bearer ${a}`}:{}}}function Hr(){const a=Math.floor(Date.now()/1e3);if(e(lt)==="all")return{from_ts:void 0,to_ts:void 0};const i=e(lt)==="7d"?7:30;return{from_ts:a-i*86400,to_ts:a}}async function Jt(){const{from_ts:a,to_ts:i}=Hr(),l=new URLSearchParams;a!=null&&l.set("from_ts",String(a)),i!=null&&l.set("to_ts",String(i)),e(_t).trim()&&l.set("medium",e(_t).trim());const _=await fetch(`${Ut}/promotions/admin/stats?${l}`,{headers:Rt()});if(!_.ok){O.error(o()("promotions.load_stats_failed"));return}p(q,await _.json(),!0)}async function Dt(){p(Kt,!0);try{const a=await fetch(`${Ut}/promotions/admin/links`,{headers:Rt()});if(!a.ok){O.error(o()("promotions.load_links_failed"));return}const i=await a.json();p(Qt,i.items??[],!0)}finally{p(Kt,!1)}}async function Sr(){p(Ct,!0);try{await Jt()}finally{p(Ct,!1)}}We(()=>{Sr(),Dt()});function Nt(a){p(lt,a,!0),Jt()}const zr=["reddit","twitter","medium","youtube","tiktok","discord","wechat","xiaohongshu"];function Wr(){var i;if(typeof window<"u"&&((i=window.location)!=null&&i.origin))return window.location.origin;const a=Ut.replace(/\/$/,"");return a.endsWith("/api")?a.slice(0,-4):a}function Pr(){const a=Wt(e(dt)),i=a?$r(a.hostname):"";return e(yt).trim()||i||"web"}function Kr(){const a=new URLSearchParams,i=Wt(e(dt));if(i)for(const[l,_]of i.searchParams)(l.startsWith("utm_")||l==="ref"||l==="campaign")&&a.set(l,_);if(a.set("utm_medium",Pr()),e(xt).trim()&&a.set("utm_campaign",e(xt).trim()),e(pt).trim())a.set("ref",e(pt).trim());else if(i){const l=jr(i.pathname);l&&a.set("ref",l)}return e(gt).trim()&&a.set("utm_source",e(gt).trim()),a.toString()}function Zt(a){var l;const i=(l=a.install_query)==null?void 0:l.trim();return`${Wr()}/install${i?`?${i}`:""}`}function Qr(){const a=Wt(e(dt));if(!a){O.error(o()("promotions.quick_invalid_url"));return}p(yt,$r(a.hostname),!0);const i=jr(a.pathname);i&&!e(pt).trim()&&p(pt,i,!0),O.success(o()("promotions.quick_applied"))}async function Jr(){if(!e(I)){O.message(o()("promotions.copy_disabled_hint"));return}try{await navigator.clipboard.writeText(Zt(e(I))),O.success(o()("promotions.copy_full_ok"))}catch{O.error(o()("promotions.copy_failed"))}}async function Nr(){var a,i;if(!((i=(a=e(I))==null?void 0:a.install_query)!=null&&i.trim())){O.message(o()("promotions.copy_disabled_hint"));return}try{await navigator.clipboard.writeText(e(I).install_query.trim()),O.success(o()("promotions.copy_query_ok"))}catch{O.error(o()("promotions.copy_failed"))}}async function Zr(){p(It,!0);try{const a=await fetch(`${Ut}/promotions/admin/links`,{method:"POST",headers:Rt(),body:JSON.stringify({medium:Pr(),label:e(At).trim()||null,campaign_ke
1y:e(xt).trim()||null,install_query:Kr(),source_url:e(dt).trim()||null})});if(!a.ok){const _=(await a.json().catch(()=>({}))).detail,j=typeof _=="string"?_:Array.isArray(_)?_.map(y=>typeof y=="object"&&y&&"msg"in y?String(y.msg):String(y)).join("; "):o()("promotions.generate_failed");O.error(j);return}const i=await a.json();p(I,i,!0),O.success(o()("promotions.generate_ok")),await Dt()}finally{p(It,!1)}}function Gr(){p(I,null)}function Vr(a,i){if(a==null||i==null)return"";const l=new Intl.DateTimeFormat(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",timeZone:"UTC"});return`${l.format(new Date(a*1e3))} — ${l.format(new Date(i*1e3))}`}let Xr=Oe(()=>{var a,i;return(i=(a=e(q))==null?void 0:a.by_day)!=null&&i.length?Math.max(1,...e(q).by_day.map(l=>l.count)):1});async function Yr(a){var i;if(confirm(o()("promotions.delete_confirm"))){p(Tt,a.id,!0);try{if(!(await fetch(`${Ut}/promotions/admin/links/${encodeURIComponent(a.id)}`,{method:"DELETE",headers:Rt()})).ok){O.error(o()("promotions.delete_failed"));return}((i=e(I))==null?void 0:i.id)===a.id&&p(I,null),O.success(o()("promotions.delete_ok")),await Dt()}finally{p(Tt,null)}}}var Gt=fa(),Vt=r(Gt),Xt=r(Vt),te=r(Xt,!0);t(Xt);var Yt=s(Xt,2);Yt.__click=()=>Br();var re=r(Yt,!0);t(Yt),t(Vt);var Mr=s(Vt,2);{var ee=a=>{var i=ta();i.__click=u=>u.target===u.currentTarget&&Ft();var l=r(i);l.__click=u=>u.stopPropagation(),l.__keydown=u=>u.stopPropagation();var _=r(l),j=r(_),y=r(j),S=r(y,!0);t(y);var x=s(y,2),w=r(x,!0);t(x),t(j);var L=s(j,2);L.__click=()=>Ft();var T=r(L),N=r(T,!0);t(T),Re(2),t(L),t(_);var E=s(_,2),B=r(E),K=r(B),mt=r(K,!0);t(K);var V=s(K,2);De(V),t(B);var rt=s(B,2),X=r(rt);X.__click=()=>Qr();var ut=r(X,!0);t(X),t(rt);var et=s(rt,2),vt=r(et),nt=r(vt),ht=r(nt,!0);t(nt);var at=s(nt,2);jt(at,21,()=>zr,St,(u,W)=>{var M=Ve(),ct=r(M,!0);t(M);var tt={};f(()=>{n(ct,e(W)),tt!==(tt=e(W))&&(M.value=(M.__value=e(W))??"")}),v(u,M)}),t(at),t(vt);var Z=s(vt,2),k=r(Z),ot=r(k,!0);t(k);var G=s(k,2);Mt(G),t(Z);var st=s(Z,2),d=r(st),m=r(d,!0);t(d);var c=s(d,2);Mt(c),t(st);var g=s(st,2),h=r(g),H=r(h,!0);t(h);var P=s(h,2);Mt(P),t(g);var F=s(g,2),z=r(F),R=r(z,!0);t(z);var $=s(z,2);Mt($),t(F),t(et);var D=s(et,2);{var Q=u=>{var W=Xe(),M=r(W);M.__click=()=>Zr();var ct=r(M,!0);t(M),t(W),f(tt=>{M.disabled=e(It),n(ct,tt)},[()=>e(It)?o()("common.loading"):o()("promotions.generate_link")]),v(u,W)};A(D,u=>{e(I)||u(Q)})}var Y=s(D,2);{var it=u=>{var W=Ye(),M=r(W),ct=r(M,!0);t(M);var tt=s(M,2),_r=r(tt,!0);t(tt);var wt=s(tt,2),xr=r(wt,!0);t(wt);var kt=s(wt,4),br=r(kt,!0);t(kt);var qt=s(kt,2),yr=r(qt,!0);t(qt);var Lt=s(qt,2),ge=r(Lt,!0);t(Lt);var gr=s(Lt,2),fe=r(gr,!0);t(gr);var fr=s(gr,2),he=r(fr,!0);t(fr);var Er=s(fr,2),Bt=r(Er);Bt.__click=()=>Jr();var we=r(Bt,!0);t(Bt);var Ht=s(Bt,2);Ht.__click=()=>Nr();var ke=r(Ht,!0);t(Ht);var hr=s(Ht,2);hr.__click=()=>Gr();var qe=r(hr,!0);t(hr),t(Er),t(W),f((Le,$e,je,Se,Pe,Me,Ue,Ce,Ae)=>{n(ct,Le),n(_r,$e),n(xr,je),n(br,e(I).slug),n(yr,Se),n(ge,e(I).install_query??""),n(fe,Pe),n(he,Me),n(we,Ue),n(ke,Ce),n(qe,Ae)},[()=>o()("promotions.result_title"),()=>o()("promotions.result_hint"),()=>o()("promotions.promo_hint"),()=>o()("promotions.quick_preview_query"),()=>o()("promotions.quick_preview_full"),()=>Zt(e(I)),()=>o()("promotions.copy_full_install"),()=>o()("promotions.copy_query_only"),()=>o()("promotions.create_another")]),v(u,W)};A(Y,u=>{e(I)&&u(it)})}t(E);var C=s(E,2),J=r(C);J.__click=()=>Ft();var cr=r(J,!0);t(J),t(C),t(l),t(i),f((u,W,M,ct,tt,_r,wt,xr,kt,br,qt,yr,Lt)=>{n(S,u),n(w,W),Pt(L,"aria-label",M),n(N,ct),n(mt,tt),n(ut,_r),n(ht,wt),n(ot,xr),Pt(G,"placeholder",kt),n(m,br),n(H,qt),n(R,yr),n(cr,Lt)},[()=>o()("promotions.quick_title"),()=>o()("promotions.quick_hint"),()=>o()("common.close"),()=>o()("common.close"),()=>o()("promotions.quick_source_url"),()=>o()("promotions.quick_apply_suggested"),()=>o()("promotions.quick_medium"),()=>o()("promotions.quick_label"),()=>o()("promotions.quick_label_ph"),()=>o()("promotions.quick_campaign"),()=>o()("promotions.quick_ref"),()=>o()("promotions.quick_utm_source"),()=>o()("common.close")]),bt(V,()=>e(dt),u=>p(dt,u)),Qe(at,()=>e(yt),u=>p(yt,u)),bt(G,()=>e(At),u=>p(At,u)),bt(c,()=>e(xt),u=>p(xt,u)),bt(P,()=>e(pt),u=>p(pt,u)),bt($,()=>e(gt),u=>p(gt,u)),v(a,i)};A(Mr,a=>{e(Et)&&a(ee)})}
1var tr=s(Mr,2),rr=r(tr),er=r(rr),ar=r(er),ae=r(ar,!0);t(ar);var oe=s(ar,2);{var se=a=>{var i=aa(),l=r(i);{var _=x=>{var w=Fr();f(L=>n(w,L),[()=>o()("promotions.all")]),v(x,w)},j=x=>{var w=wr(),L=$t(w);{var T=N=>{var E=ra(),B=$t(E),K=r(B);t(B);var mt=s(B);f((V,rt)=>{n(K,`${V??""}:`),n(mt,` ${rt??""}`)},[()=>o()("promotions.stats_range_label"),()=>Vr(e(q).from_ts,e(q).to_ts)]),v(N,E)};A(L,N=>{e(q).from_ts!=null&&e(q).to_ts!=null&&N(T)},!0)}v(x,w)};A(l,x=>{e(lt)==="all"&&(e(q).from_ts==null||e(q).to_ts==null)?x(_):x(j,!1)})}var y=s(l,2);{var S=x=>{var w=ea(),L=r(w);t(w),f(T=>n(L,`· medium = ${T??""}`),[()=>e(_t).trim()]),v(x,w)};A(y,x=>{e(_t).trim()&&x(S)})}t(i),v(a,i)};A(oe,a=>{e(q)&&!e(Ct)&&a(se)})}t(er);var Ur=s(er,2),or=r(Ur),sr=r(or),ie=r(sr,!0);t(sr);var Cr=s(sr,2),ir=r(Cr);ir.__click=()=>Nt("7d");var nr=s(ir,2);nr.__click=()=>Nt("30d");var Ot=s(nr,2);Ot.__click=()=>Nt("all");var ne=r(Ot,!0);t(Ot),t(Cr),t(or);var Ar=s(or,2),ft=r(Ar);Mt(ft),ft.__change=()=>Jt();var lr=s(ft,2);lr.__click=()=>Sr();var le=r(lr,!0);t(lr),t(Ar),t(Ur),t(rr);var de=s(rr,2);{var pe=a=>{var i=oa(),l=r(i),_=r(l,!0);t(l),t(i),f(j=>n(_,j),[()=>o()("common.loading")]),v(a,i)},me=a=>{var i=wr(),l=$t(i);{var _=j=>{var y=ca(),S=$t(y),x=r(S),w=r(x,!0);t(x);var L=s(x,2),T=r(L,!0);t(L),t(S);var N=s(S,2),E=r(N),B=r(E),K=r(B,!0);t(B);var mt=s(B,2);{var V=d=>{var m=sa(),c=r(m,!0);t(m),f(g=>n(c,g),[()=>o()("promotions.empty_breakdown")]),v(d,m)},rt=d=>{var m=na(),c=r(m),g=r(c),h=r(g),H=r(h,!0);t(h);var P=s(h),F=r(P,!0);t(P),t(g),t(c);var z=s(c);jt(z,21,()=>e(q).by_medium,St,(R,$)=>{var D=ia(),Q=r(D),Y=r(Q,!0);t(Q);var it=s(Q),C=r(it,!0);t(it),t(D),f(()=>{n(Y,e($).medium),n(C,e($).count)}),v(R,D)}),t(z),t(m),f((R,$)=>{n(H,R),n(F,$)},[()=>o()("promotions.col_medium"),()=>o()("promotions.th_count")]),v(d,m)};A(mt,d=>{e(q).by_medium.length===0?d(V):d(rt,!1)})}t(E);var X=s(E,2),ut=r(X),et=r(ut,!0);t(ut);var vt=s(ut,2);{var nt=d=>{var m=la(),c=r(m),g=r(c,!0);t(c);var h=s(c,2),H=r(h,!0);t(h),t(m),f((P,F)=>{n(g,P),n(H,F)},[()=>o()("promotions.empty_breakdown"),()=>o()("promotions.empty_campaign_hint")]),v(d,m)},ht=d=>{var m=pa(),c=r(m),g=r(c),h=r(g),H=r(h,!0);t(h);var P=s(h),F=r(P,!0);t(P),t(g),t(c);var z=s(c);jt(z,21,()=>e(q).by_campaign,St,(R,$)=>{var D=da(),Q=r(D),Y=r(Q,!0);t(Q);var it=s(Q),C=r(it,!0);t(it),t(D),f(()=>{n(Y,e($).campaign),n(C,e($).count)}),v(R,D)}),t(z),t(m),f((R,$)=>{n(H,R),n(F,$)},[()=>o()("promotions.template_campaign"),()=>o()("promotions.th_count")]),v(d,m)};A(vt,d=>{e(q).by_campaign.length===0?d(nt):d(ht,!1)})}t(X),t(N);var at=s(N,2),Z=r(at),k=r(Z,!0);t(Z);var ot=s(Z,2);{var G=d=>{var m=ma(),c=r(m,!0);t(m),f(g=>n(c,g),[()=>o()("promotions.empty_breakdown")]),v(d,m)},st=d=>{var m=va();jt(m,21,()=>e(q).by_day,St,(c,g)=>{var h=ua(),H=r(h),P=r(H,!0);t(H);var F=s(H,2),z=r(F);t(F);var R=s(F,2),$=r(R,!0);t(R),t(h),f(D=>{n(P,e(g).date),Je(z,D),n($,e(g).count)},[()=>`width: ${Math.round(e(g).count/e(Xr)*100)}%`]),v(c,h)}),t(m),v(d,m)};A(ot,d=>{e(q).by_day.length===0?d(G):d(st,!1)})}t(at),f((d,m,c,g)=>{n(w,d),n(T,e(q).total_visits),n(K,m),n(et,c),n(k,g)},[()=>o()("promotions.total_visits"),()=>o()("promotions.by_medium"),()=>o()("promotions.by_campaign"),()=>o()("promotions.by_day")]),v(j,y)};A(l,j=>{e(q)&&j(_)},!0)}v(a,i)};A(de,a=>{e(Ct)?a(pe):a(me,!1)})}t(tr);var dr=s(tr,2),pr=r(dr),ue=r(pr,!0);t(pr);var Ir=s(pr,2),ve=r(Ir,!0);t(Ir),t(dr);var Tr=s(dr,2),mr=r(Tr),ur=r(mr),ce=r(ur,!0);t(ur);var vr=s(ur,2);vr.__click=()=>Dt();var _e=r(vr,!0);t(vr),t(mr);var xe=s(mr,2);{var be=a=>{var i=_a(),l=r(i,!0);t(i),f(_=>n(l,_),[()=>o()("common.loading")]),v(a,i)},ye=a=>{var i=wr(),l=$t(i);{var _=y=>{var S=xa(),x=r(S,!0);t(S),f(w=>n(x,w),[()=>o()("promotions.saved_links_empty")]),v(y,S)},j=y=>{var S=ga(),x=r(S),w=r(x),L=r(w),T=r(L),N=r(T,!0);t(T);var E=s(T),B=r(E,!0);t(E);var K=s(E),mt=r(K,!0);t(K);var V=s(K),rt=r(V,!0);t(V);var X=s(V),ut=r(X,!0);t(X);var et=s(X),vt=r(et,!0);t(et);var nt=s(et),ht=r(nt,!0);t(nt),t(L),t(w);var at=s(w);jt(at,21,()=>e(Qt),St,(Z,k)=>{var ot=ya(),G=r(ot),st=r(G,!0);t(G);var d=s(G),m=r(d,!0);t(d);var c=s(d),g=r(c,!0);t(c);var h=s(c),H=r(h,!0);t(h);var P=s(h),F=r(P);{var z=C=>{var J=ba(),cr=r(J,!0);t(J),f(()=>{Pt(J,"href",e(k).source_url),n(cr,e(k).source_url)}),v(C,J)},R=C=>{var J=Fr("—");v(C,J)};A(F,C=>{e(k).source_url?C(z):C(R,!1)})}t(P);var $=s(P),D=r($,!0);t($);var Q=s($),Y=r(Q);Y.__click=()=>Yr(e(k));var it=r(Y,!0);t(Y),t(Q),t(ot),f((C,J)=>{n(st,e(k).slug),n(m,e(k).medium),n(g,e(k).total_visits??0),n(H,e(k).label??"—"),n(D,C),Y.disabled=e(Tt)===e(k).id,n(it,J)},[()=>Zt(e(k)),()=>e(Tt)===e(k).id?o()("common.loading"):o()("promotions.delete_link")]),v(Z,ot)}),t(at),t(x),t(S),f((Z,k,ot,G,st,d,m,c)=>{n(N,Z),n(B,k),Pt(K,"title",ot),n(mt,G),n(rt,st),n(ut,d),n(vt,m),n(ht,c)},[()=>o()("promotions.col_slug"),()=>o()("promotions.col_medium"),()=>o()("promotions.col_clicks_hint"),()=>o()("promotions.col_clicks"),()=>o()("promotions.col_label"),()=>o()("promotions.col_source"),()=>o()("promotions.col_install"),()=>o()("promotions.col_actions")]),v(y,S)};A(l,y=>{e(Qt).length===0?y(_):y(j,!1)},!0)}v(a,i)};A(xe,a=>{e(Kt)?a(be):a(ye,!1)})}t(Tr),t(Gt),f((a,i,l,_,j,y,S,x,w,L,T)=>{n(te,a),n(re,i),n(ae,l),n(ie,_),kr(ir,1,`px-3 py-1.5 text-sm rounded-md transition-colors ${e(lt)==="7d"?"bg-white text-primary-800 shadow-xs":"text-gray-600 hover:text-gray-900"}`),kr(nr,1,`px-3 py-1.5 text-sm rounded-md transition-colors ${e(lt)==="30d"?"bg-white text-primary-800 shadow-xs":"text-gray-600 hover:text-gray-900"}`),kr(Ot,1,`px-3 py-1.5 text-sm rounded-md transition-colors ${e(lt)==="all"?"bg-white text-primary-800 shadow-xs":"text-gray-600 hover:text-gray-900"}`),n(ne,j),Pt(ft,"placeholder",y),n(le,S),n(ue,x),n(ve,w),n(ce,L),n(_e,T)},[()=>
1o()("promotions.subtitle"),()=>o()("promotions.btn_new_link"),()=>o()("promotions.stats_title"),()=>o()("promotions.period"),()=>o()("promotions.all"),()=>o()("promotions.filter_medium"),()=>o()("common.refresh"),()=>o()("promotions.install_only_title"),()=>o()("promotions.install_only_hint"),()=>o()("promotions.saved_links_title"),()=>o()("common.refresh")]),bt(ft,()=>e(_t),a=>p(_t,a)),v(zt,Gt),Fe(),Dr()}Ke(["click","keydown","change"]);function Fa(zt){ze("bgu1nv",qr=>{Be(()=>{He.title="Admin - Promotions"})}),ha(zt,{})}export{Fa as component};
2//# sourceMappingURL=12.DDP9vW9M.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.