PageSourceSearch

https://landedin.ca/assets/CoffeePopup-CyMT3R4W.js

js landedin.ca collected 2026-10-02 01:19:54 UTC 2,810 bytes, 1 lines download raw bytes

1import{u,r as i,j as s,X as f}from"./index-KBHVYv2t.js";import{L as m}from"./loader-circle-BXdtd0oF.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"landedin@eb25ddd8c58864a3dcb7d19cc89bf95b67df5652"};var o=new e.Error().stack;o&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[o]="07e6200a-5611-4cec-8032-236d8f551aa1",e._sentryDebugIdIdentifier="sentry-dbid-07e6200a-5611-4cec-8032-236d8f551aa1")}catch{}})();const b=[3,5,10],x=["/success","/build","/resume","/upload","/cover-letter","/cover-letter-chat","/chat"];function v(){const[e]=u(),[o,a]=i.useState(!1),[r,l]=i.useState(null);i.useEffect(()=>{if(x.includes(e)||e.startsWith("/edit-resume/")||!sessionStorage.getItem("coffee_resume_done")||sessionStorage.getItem("coffee_popup_shown"))return;const t=setTimeout(()=>{a(!0)},3e3);return()=>clearTimeout(t)},[e]);function n(){sessionStorage.setItem("coffee_popup_shown","1"),a(!1)}async function c(t){l(t);try{const d=await(await fetch("/api/coffee/create-checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({amountCad:t,cancelPath:e})})).json();if(d.url){n(),window.location.href=d.url;return}}catch{}l(null)}return o?s.jsxs("div",{role:"dialog","aria-label":"Buy me a coffee",className:"fixed bottom-24 right-4 sm:bottom-5 sm:right-5 z-50 w-80 max-w-[calc(100vw-2.5rem)] bg-[var(--surface)] border border-[#D4A843]/25 rounded-2xl shadow-2xl shadow-black/60 p-5 animate-in slide-in-from-bottom-4 fade-in duration-300",children:[s.jsx("button",{onClick:n,className:"absolute top-3 right-3 text-[var(--muted-2)] hover:text-[var(--text)] transition-colors","aria-label":"Dismiss",children:s.jsx(f,{className:"h-4 w-4"})}),s.jsx("p",{className:"text-base mb-1",children:"☕"}),s.jsx("p",{className:"text-sm font-bold text-[var(--text)] mb-2",children:"Buy me a coffee"}),s.jsx("p",{className:"text-xs text-[var(--muted)] leading-relaxed mb-4",children:"This is free and always will be. If it helped and you would like to keep it running for the next newcomer, you can buy me a coffee. No pressure, ever."}),s.jsx("div",{className:"flex gap-2",children:b.map(t=>s.jsx("button",{onClick:()=>{c(t)},disabled:r!==null,className:`flex-1 py-2 rounded-xl text-xs font-semibold border transition-all disabled:opacity-50 ${r===t?"bg-[#D4A843] border-[#D4A843] text-[#0A1628]":"bg-[var(--bg)] border-[color:var(--border-2)] text-[var(--text)] hover:border-[#D4A843]/50"}`,children:r===t?s.jsx(m,{className:"h-3 w-3 motion-safe:animate-spin mx-auto"}):`CA$${t}`},t))}),s.jsx("button",{onClick:n,className:"mt-3 text-[10px] text-[var(--muted)] hover:text-[var(--muted-2)] transition-colors w-full text-center",children:"No thanks"})]}):null}export{v as default};

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.