PageSourceSearch

https://porncompanions.com/assets/PayHandoffPage-DekztUj_.js

js porncompanions.com collected 2026-10-02 14:58:33 UTC 2,292 bytes, 1 lines download raw bytes

1import{k as u,j as e,aT as p}from"./index-DUpyFvrn.js";import{r as o}from"./recharts-BP1V14u_.js";import"./jszip-Dj6QSqRp.js";function y(){const{token:s}=u(),[t,m]=o.useState(null),[l,c]=o.useState(null);o.useEffect(()=>{let r=!1;return(async()=>{if(!s){c("This payment link is missing its code.");return}try{const a=await fetch(`https://affnwksfvzlzrsufjbiw.supabase.co/functions/v1/r/${encodeURIComponent(s)}?json=1`,{headers:{apikey:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFmZm53a3NmdnpsenJzdWZqYml3Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODU1MDkzNzIsImV4cCI6MjEwMTA4NTM3Mn0.2J3ZHcqK3IubjPvwR4uUkGrqSK6w-DIJL77ONFeh8e8"}});if(!a.ok)throw new Error(String(a.status));const i=await a.json();if(r)return;m(i),i.is_wallet||window.location.replace(i.target_url)}catch{r||c("We couldn't open this payment link. Please reply to the email and we'll resend it.")}})(),()=>{r=!0}},[s]);const n=(t==null?void 0:t.label)??"the payment app";return e.jsx("main",{className:"min-h-screen bg-background text-foreground flex items-center justify-center px-6 py-16",children:e.jsxs("div",{className:"w-full max-w-sm text-center",children:[e.jsx("p",{className:"text-[11px] uppercase tracking-[0.25em] text-primary mb-4",children:"Porn Companions"}),l?e.jsxs(e.Fragment,{children:[e.jsx("h1",{className:"font-serif text-2xl mb-3",children:"Link unavailable"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:l})]}):t?e.jsxs(e.Fragment,{children:[e.jsxs("h1",{className:"font-serif text-2xl mb-2",children:["Continue to ",n]}),e.jsxs("p",{className:"text-sm text-muted-foreground mb-7",children:["Tap below to open ",n,". If the app is installed on this device, it will open there."]}),e.jsxs("a",{href:t.target_url,rel:"noreferrer",className:"block w-full rounded-md bg-primary px-6 py-4 text-base font-semibold text-primary-foreground no-underline",children:["Open ",n]}),e.jsx("p",{className:"mt-6 text-xs text-muted-foreground",children:"After you pay, reply to our email with a screenshot so we can confirm it on our end."})]}):e.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground text-sm py-8",children:[e.jsx(p,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"Preparing your payment link…"]})]})})}export{y 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.