PageSourceSearch

https://spellbook-finance.com/assets/EpnEnrollmentModal-D0zGXIoZ.js

js spellbook-finance.com collected 2026-10-02 01:45:04 UTC 4,623 bytes, 1 lines download raw bytes

1import{y as b,B as x,dg as c,eh as D,u as R,r as d,au as F,ei as P,j as e}from"./index-D9xPWcr8.js";const f=b({campaignId:x().nullable()}),T=b({campaignId:x()});function q(){return c(f,"/account/epn-campaign-id")}function A(t){return c(T,"/account/epn-campaign-id",{method:"PUT",body:JSON.stringify({campaignId:t})})}function U(){return c(f,"/account/epn-campaign-id",{method:"DELETE"})}const Q="https://partnernetwork.ebay.com/signup",B="https://spellbook-finance.com/guides/ebay-partner-network",h="epn_enrollment_modal_dismissed";function K(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(h)==="1"}catch{return!1}}function y(){if(!(typeof window>"u"))try{window.localStorage.setItem(h,"1")}catch{}}function z({open:t,onClose:p,onEpnCampaignSaved:w}){const E=D(),{track:a}=R(),[u,m]=d.useState("intro"),[o,v]=d.useState(""),[g,r]=d.useState(null),i=F({queryKey:["epn-campaign-id"],queryFn:q,enabled:t,retry:!1,staleTime:6e4}),I=i.data?.campaignId!=null&&i.data.campaignId!=="",j=K(),k=i.isSuccess||i.isError||!t,l=t&&k&&!I&&!j;d.useEffect(()=>{l&&a("epn_modal_shown")},[l,a]);const s=P({mutationFn:n=>A(n),onSuccess:n=>{a("epn_campaign_id_saved",{campaignId:n.campaignId}),E.invalidateQueries({queryKey:["epn-campaign-id"]}),w?.(n.campaignId),y(),r(null),p()},onError:n=>{const M=n instanceof Error?n.message:"Failed to save campaign ID";r(M)}});if(!l)return null;function S(){a("epn_enroll_clicked"),typeof window<"u"&&window.open(Q,"_blank","noopener,noreferrer"),m("enter-campaign-id")}function N(){typeof window<"u"&&window.open(B,"_blank","noopener,noreferrer")}function C(){a("epn_modal_dismissed"),y(),p()}function _(){m("intro"),r(null)}function L(){const n=o.trim();if(!/^[0-9]+$/.test(n)){r("Campaign ID must be digits only");return}r(null),s.mutate(n)}return e.jsx("div",{role:"dialog","aria-modal":"true","aria-labelledby":"epn-modal-title","data-testid":"epn-enrollment-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4",children:e.jsxs("div",{className:"flex w-full max-w-md flex-col overflow-hidden rounded-lg border border-gray-700 bg-gray-900 shadow-xl",children:[e.jsx("div",{className:"border-b border-gray-700 px-5 py-3",children:e.jsx("h3",{id:"epn-modal-title",className:"text-base font-semibold text-gray-100",children:"Earn money on your own listings"})}),e.jsx("div",{className:"px-5 py-4 text-sm text-gray-300",children:u==="intro"?e.jsx("p",{"data-testid":"epn-modal-body",children:"Enroll in eBay Partner Network to get commission + final-value-fee credit when buyers click through your SpellBook-shared links."}):e.jsxs("div",{className:"space-y-3","data-testid":"epn-campaign-id-form",children:[e.jsx("p",{children:"Now enter your campaign ID from EPN dashboard."}),e.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",value:o,onChange:n=>v(n.target.value.replace(/[^0-9]/g,"")),placeholder:"e.g. 5339146933","data-testid":"epn-campaign-id-input",className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-gray-200 placeholder:text-gray-500 focus:border-purple-500 focus:outline-none focus:ring-1 focus:ring-purple-500"}),g!=null&&e.jsx("p",{className:"text-xs text-red-400","data-testid":"epn-campaign-id-error",children:g})]})}),e.jsx("div",{className:"flex items-center justify-end gap-2 border-t border-gray-700 px-5 py-3",children:u==="intro"?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:C,"data-testid":"epn-skip-btn",className:"rounded border border-gray-600 px-3 py-1.5 text-xs text-gray-300 hover:bg-gray-800",children:"Skip"}),e.jsx("button",{type:"button",onClick:N,"data-testid":"epn-learn-more-btn",className:"rounded border border-gray-600 px-3 py-1.5 text-xs text-gray-300 hover:bg-gray-800",children:"Learn More"}),e.jsx("button",{type:"button",onClick:S,"data-testid":"epn-enroll-btn",className:"rounded bg-purple-600 px-3 py-1.5 text-xs font-semibold text-gray-50 hover:bg-purple-500",children:"Enroll"})]}):e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:_,disabled:s.isPending,"data-testid":"epn-campaign-id-cancel",className:"rounded border border-gray-600 px-3 py-1.5 text-xs text-gray-300 hover:bg-gray-800 disabled:opacity-50",children:"Cancel"}),e.jsx("button",{type:"button",onClick:L,disabled:s.isPending||o.trim().length===0,"data-testid":"epn-campaign-id-save",className:"rounded bg-purple-600 px-3 py-1.5 text-xs font-semibold text-gray-50 hover:bg-purple-500 disabled:cursor-not-allowed disabled:bg-gray-700 disabled:text-gray-400",children:s.isPending?"Saving...":"Save"})]})})]})})}export{z as E,U as c,q as g,A as s};

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.