PageSourceSearch

https://reframepractice.com/_next/static/immutable/chunks/31xqtaz30udgt.js

js reframepractice.com collected 2026-10-06 08:10:10 UTC 17,863 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39312,e=>{"use strict";let t=(0,e.i(475254).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",0,t],39312)},352933,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(618566),n=e.i(522016),r=e.i(972520),i=e.i(643531),l=e.i(283086),o=e.i(98919);let c=(0,e.i(475254).default)("building",[["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3",key:"cabbwy"}],["rect",{x:"4",y:"2",width:"16",height:"20",rx:"2",key:"1uxh74"}]]);var d=e.i(39312),x=e.i(531278),h=e.i(37727),m=e.i(386402),u=e.i(754338),p=e.i(420143);function N(e){return Number.isFinite(e)?e.toLocaleString("en-US"):"0"}function g({usd:e,mode:s,countryCode:a=null,suffix:n,layout:r="stacked",usdClassName:i="",cadClassName:l="text-[#706A66] text-xs mt-0.5"}){let o="always-dual"===s||"geo-conditional"===s&&"CA"===a,c=o?!Number.isFinite(e)||e<=0?0:10*Math.round(1.37*e/10):null,d=n?"/mo"===n||"/month"===n?" per month":"/yr"===n||"/year"===n?" per year":` ${n}`:"",x=o&&null!==c?`${N(e)} US dollars${d}, approximately ${N(c)} Canadian dollars${d}`:`${N(e)} US dollars${d}`,h=(0,t.jsxs)(t.Fragment,{children:[`$${N(e)} USD`,n||null]});return"inline"===r?(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"sr-only",children:x}),(0,t.jsx)("span",{"aria-hidden":"true",className:i,children:h}),o&&null!==c?(0,t.jsx)("span",{"aria-hidden":"true",className:l,children:` (~$${N(c)} CAD${n??""})`}):null]}):(0,t.jsxs)("span",{className:"inline-flex flex-col",children:[(0,t.jsx)("span",{className:"sr-only",children:x}),(0,t.jsx)("span",{"aria-hidden":"true",className:i,children:h}),o&&null!==c?(0,t.jsx)("span",{"aria-hidden":"true",className:l,children:`~$${N(c)} CAD${n??""}`}):null]})}var f=e.i(556933),b=e.i(934756);let _={pro:{monthly:f.PRO_MONTHLY_PRICE_USD,annual:f.PRO_ANNUAL_PRICE_USD,savings:f.PRO_ANNUAL_SAVINGS_USD}},E=[`${b.FREE_ACCOUNT_PROGRESS_NOTES_PER_PERIOD} progress notes every 30 days with a free account`,"All six formats, and nothing records your session","Your session text is processed for your request and not retained afterward",`${b.FREE_WORKSHEET_LIMIT} worksheets after signup`,`${b.FREE_SESSION_GUIDE_LIMIT} session prep guides after signup`,`${b.FREE_THINKING_PARTNER_LIMIT} Thinking Partner run after signup`],A=["No cap on progress notes, in all six formats","After a session: write the progress note","Later that week: create the client worksheet","Before they return: prepare the next session","When a case feels stuck: use Thinking Partner","Psychology Today Profile Optimizer included","The same processed-not-retained approach across every clinical tool"];async function j(e,t,s){let a=await fetch("/api/checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:e,source:t,returnTo:s})}),n=await a.json();if(!a.ok)throw Error(n.error||"Failed to create checkout session");return n.url||null}e.s(["PricingGrid",0,function({countryCode:e=null}={}){let[N,y]=(0,s.useState)(null),[R,w]=(0,s.useState)(null),P=(0,a.useSearchParams)(),[v,S]=(0,s.useState)("annual"===P.get("billing")?"annual":"monthly"),O="true"===P.get("canceled"),C=P.get("source")||P.get("upgrade_source")||void 0,T=P.get("return_to")||void 0,k=(0,s.useRef)(!1),{isAuthenticated:D,isLoading:F}=(0,u.useAuth)();(0,s.useEffect)(()=>{if(k.current||F||(m.ConversionEvents.pricingViewed(),D||(0,p.trackPricingViewed)({source:C||"direct",return_to:T||null}),k.current=!0),O){let e=setTimeout(()=>{let e=new URLSearchParams(P.toString());e.delete("canceled");let t=e.toString();window.history.replaceState({},"",t?`/pricing?${t}`:"/pricing")},5e3);return()=>clearTimeout(e)}},[F,C,D,T,P,O]);let L=e=>{S(e)},I=async e=>{if(y(e),w(null),m.ConversionEvents.upgradeClicked(e),!F&&!D){let t="pro_annual"===e?"annual"
1:"monthly",s=new URLSearchParams({redirect:`/pricing?upgrade_source=post_signup_${e}&billing=${t}`,plan:"pro",billing:t});T&&s.set("return_to",T),window.location.href=`/signup?${s.toString()}`;return}let t=setTimeout(()=>{y(null),w("Checkout is taking longer than expected. Please try again.")},15e3);try{let s=await j(e,C,T);s?window.location.href=s:(clearTimeout(t),w("Unable to start checkout. Please try again or contact support."),y(null))}catch(e){clearTimeout(t),console.error("Checkout error:",e),w(e instanceof Error?e.message:"Something went wrong"),y(null)}};return(0,t.jsxs)(t.Fragment,{children:[O&&(0,t.jsxs)("div",{className:"fixed top-20 left-1/2 -translate-x-1/2 z-50 bg-amber-50 border border-amber-200 text-amber-800 px-6 py-3 rounded-lg shadow-lg flex items-center gap-3 animate-in slide-in-from-top-2",children:[(0,t.jsx)("span",{children:"Checkout was canceled. Ready when you are."}),(0,t.jsx)("button",{type:"button","aria-label":"Dismiss canceled checkout message",onClick:()=>{let e=new URLSearchParams(P.toString());e.delete("canceled");let t=e.toString();window.history.replaceState({},"",t?`/pricing?${t}`:"/pricing")},className:"inline-flex min-h-11 min-w-11 items-center justify-center text-amber-600 hover:text-amber-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-700",children:(0,t.jsx)(h.X,{className:"w-4 h-4"})})]}),R&&(0,t.jsxs)("div",{className:"fixed top-20 left-1/2 -translate-x-1/2 z-50 bg-red-50 border border-red-200 text-red-800 px-6 py-3 rounded-lg shadow-lg flex items-center gap-3",children:[(0,t.jsx)("span",{children:R}),(0,t.jsx)("button",{type:"button","aria-label":"Dismiss pricing error",onClick:()=>w(null),className:"inline-flex min-h-11 min-w-11 items-center justify-center text-red-700 hover:text-red-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-700",children:(0,t.jsx)(h.X,{className:"w-4 h-4"})})]}),(0,t.jsx)("section",{id:"software-pricing","data-no-scroll-reveal":!0,className:"pb-16 md:pb-24 bg-[#F8F6F1] scroll-mt-24",children:(0,t.jsxs)("div",{className:"max-w-[1300px] mx-auto px-4 md:px-8",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-4 mb-8 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsx)("div",{className:"max-w-xl",children:(0,t.jsx)("h2",{className:"font-sans text-lg font-semibold tracking-normal text-[#1a1a1a]",children:"Choose the plan that matches how many notes you write"})}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,t.jsxs)("div",{className:"bg-white p-1 rounded-lg inline-flex border border-[#1a1a1a]/10",children:[(0,t.jsx)("button",{type:"button",onClick:()=>L("monthly"),className:`min-h-11 px-5 py-2.5 rounded-md text-sm font-semibold transition-colors duration-200 ${"monthly"===v?"bg-[#2D5A4A] text-white shadow-sm":"text-[#706A66] hover:text-[#1a1a1a]"}`,children:"Monthly"}),(0,t.jsxs)("button",{type:"button",onClick:()=>L("annual"),className:`min-h-11 px-5 py-2.5 rounded-md text-sm font-semibold transition-colors duration-200 flex items-center gap-2 ${"annual"===v?"bg-[#2D5A4A] text-white shadow-sm":"text-[#706A66] hover:text-[#1a1a1a]"}`,children:["Annual",(0,t.jsx)("span",{className:`text-[10px] px-2 py-1 rounded-full font-bold ${"annual"===v?"bg-white/20":"bg-[#D4A574] text-[#1a1a1a]"}`,children:"Save $60"})]})]}),"annual"===v&&(0,t.jsxs)("p",{className:"text-[#2D5A4A] text-xs font-semibold",children:["Save $",_.pro.savings," a year"]})]}),(0,t.jsxs)("div",{className:"hidden items-center gap-2 text-[#2D5A4A] xl:flex",children:[(0,t.jsx)(o.Shield,{className:"w-4 h-4"}),(0,t.jsx)("span",{className:"text-[12px] tracking-[0.12em] uppercase font-bold",children:"Client text is not retained"})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-5",children:[(0,t.jsxs)("div",{className:"bg-white border border-[#1a1a1a]/10 rounded-xl p-6 md:p-8 relative hover:border-[#2D5A4A]/30 transition-colors duration-300",children:[(0,t.jsx)("div",{className:"absolute -top-3.5 left-6",children:(0,t.jsx)("span",{className:"bg-[#F8F6F1] text-[#1a1a1a] border border-[#2D5A4A]/20 text-[9px] tracking-[0.2em] uppercase font-bold px-3 py-1.5",children:"Try Free"})}),(0,t.jsx)("div",{className:"pt-3 mb-5",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-1",children:[(0,t.jsx)("div",{className:"w-10 h-10 bg-[#F8F6F1] border border-[#2D5A4A]/20 flex items-center justify-center",children:(0,t.jsx)(d.Zap,{className:"w-5 h-5 text-[#2D5A4A]"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold text-[#1a1a1a]",children:"Free"}),(0,t.jsxs)("p",{className:"text-[#706A66] text-xs",children:["Up to ",b.FREE_ACCOUNT_PROGRESS_NOTES_PER_PERIOD," progress notes every 30 days"]})]})]})}),(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-1",children:[(0,t.jsx)("span",{className:"text-5xl font-bold text-[#1a1a1a] tracking-[-0.03em]",children:"$0"}),(0,t.jsx)("span",{className:"text-[#706A66] text-sm",children:"to start"})]}),(0,t.jsx)("p",{className:"text-[#2D5A4A] font-semibold text-xs mt-1",children:"Sign in with a free account. No credit card needed."})]}),(0,t.jsxs)(n.default,{href:"/progress-note-generator",className:"group w-full inline-flex items-center justify-center gap-2 bg-[#F8F6F1] border-2 border-[#2D5A4A] rounded-lg text-[#1a1a1a] px-6 py-3 text-[14px] tracking-[0.12em] uppercase font-bold hover:bg-[#2D5A4A] hover:text-white transition-colors duration-200",children:[(0,t.jsx)("span",{children:"Start Free Notes"}),(0,t.jsx)(r.ArrowRight,{className:"w-3.5 h-3.5 transition-transform group-hover:translate-x-1"})]}),(0,t.jsx)("ul",{className:"mt-6 space-y-2.5",children:E.map((e,s)=>(0,t.jsxs)("li",{className:"flex items-start gap-2.5",children:[(0,t.jsx)(i.Check,{className:"w-4 h-4 text-[#2D5A4A] mt-0.5 shrink-0"}),(0,t.jsx)("span",{className:"text-[#57534E] text-sm leading-snug",children:e})]},s))}),(0,t.jsx)("div",{className:"mt-6 pt-4 border-t border-[#1a1a1a]/10",children:(0,t.jsxs)("p",{className:"text-[#706A66] text-xs text-center",children:["No card. No contract. Upgrade when you need more than ",b.FREE_ACCOUNT_PROGRESS_NOTES_PER_PERIOD," notes every 30 days."]})})]}),(0,t.jsxs)("div",{id:"pro-plan",className:"bg-white border-2 border-[#2D5A4A] rounded-xl p-6 md:p-8 relative shadow-xl transform lg:-translate-y-2",children:[(0,t.jsx)("div",{className:"pt-3 mb-5",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-1",children:[(0,t.jsx)("div",{className:"w-10 h-10 bg-[#2D5A4A] flex items-center justify-center",children:(0,t.jsx)(l.Sparkles,{className:"w-5 h-5 text-white"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold text-[#1a1a1a]",children:"Pro"}),(0,t.jsx)("p",{className:"text-[#706A66] text-xs",children:"Notes without a cap"})]})]})}),(0,t.jsxs)("div",{className:"mb-6",children:["monthly"===v?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{usd:_.pro.monthly,mode:"geo-conditional",countryCode:e,suffix:"/mo",usdClassName:"text-5xl font-bold text-[#1a1a1a] tracking-[-0.03em]",cadClassName:"text-[#706A66] text-xs mt-1"}),(0,t.jsx)("p",{className:"text-[#706A66] text-xs mt-1",children:"Billed monthly"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{usd:Math.round(_.pro.annual/12),mode:"geo-conditional",countryCode:e,suffix:"/mo",usdClassName:"text-5xl font-bold text-[#1a1a1a] tracking-[-0.03em]",cadClassName:"text-[#706A66] text-xs mt-1"}),(0,t.jsxs)("p",{className:"text-[#1a1a1a] font-semibold text-xs mt-1",children:[f.PRO_ANNUAL_PRICE_LABEL,", billed annually"]})]}),(0,t.jsx)("p",{className:"text-[#2D5A4A] font-semibold text-xs mt-2",children:"Pro removes the note cap. Worksheets, session prep, and Thinking Partner are included."})]}),(0,t.jsx)("button",{onClick:()=>I("monthly"===v?"pro_monthly":"pro_annual"),disabled:null!==N,className:"group w-full inline-flex items-center justify-center gap-2 bg-[#2D5A4A] text-white rounded-lg px-6 py-3.5 text-[14px] tracking-[0.12em] uppercase font-bold hover:bg-[#234539] transition-colors duration-200 hover:shadow-lg disabled:opacity-70 disabled:cursor-not-allowed",children:"pro_monthly"===N||"pro_annual"===N?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Loader2,{className:"w-3.5 h-3.5 animate-spin"}),(0,t.jsx)("span",{children:"Processing..."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"Choose Pro"}),(0,t.jsx)(r.ArrowRight,{className:"w-3.5 h-3.5 transition-transform group-hover:translate-x-1"})]})}),(0,t.jsx)("p",{className:"text-center text-[10px] text-[#706A66] mt-2",children:"Cancel anytime"}),(0,t.jsx)("ul",{className:"mt-5 space-y-2.5",children:A.map((e,s)=>(0,t.jsxs)("li",{className:"flex items-start gap-2.5",children:[(0,t.jsx)(i.Check,{className:"w-4 h-4 text-[#2D5A4A] mt-0.5 shrink-0"}),(0,t.jsx)("span",{className:"text-[#57534E] text-sm leading-snug",children:e})]},s))}),(0,t.jsx)("div",{className:"mt-5 pt-4 border-t border-[#2D5A4A]/15",children:(0,t.jsx)("p",{className:"text-[11px] text-[#706A66] text-center",children:f.PRO_GUARANTEE_COPY})})]})]}),(0,t.jsxs)("p",{className:"mt-6 text-sm leading-relaxed text-[#57534E]",children:["Free covers ",b.FREE_ACCOUNT_PROGRESS_NOTES_PER_PERIOD," progress notes every 30 days with a free account. Pro removes the cap and includes worksheets, session prep, and Thinking Partner."]}),"monthly"===v&&(0,t.jsx)("div",{className:"mt-6 p-4 bg-white border-y border-[#234539]/15 text-center",children:(0,t.jsxs)("p",{className:"text-[#1a1a1a] text-sm",children:[(0,t.jsx)("span",{className:"font-bold text-[#8A5C32]",children:f.PRO_ANNUAL_PRICE_LABEL})," instead of ",f.PRO_MONTHLY_PRICE_LABEL,".",(0,t.jsx)("button",{type:"button",onClick:()=>L("annual"),className:"ml-2 inline-flex min-h-11 items-center font-bold text-[#1a1a1a] underline transition-colors hover:text-[#234539] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#2D5A4A]",children:"Switch to Annual"})]})}),(0,t.jsx)("p",{className:"mt-6 max-w-3xl text-sm leading-relaxed text-[#57534E]",children:"These plans cover Reframe's clinical tools. The practice work has a separate scope and price."}),(0,t.jsx)("div",{className:"mt-6 rounded-[24px] border border-[#D4A574]/40 bg-white px-6 py-6",children:(0,t.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"mt-1 flex h-10 w-10 items-center justify-center bg-[#D4A574]",children:(0,t.jsx)(c,{className:"h-5 w-5 text-white"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-bold uppercase tracking-[0.16em] text-[#1a1a1a]",children:"For Practices"}),(0,t.jsx)("h3",{className:"mt-1 text-xl font-bold text-[#1a1a1a]",children:"Your clinicians use it. The practice pays for it."}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-[#57534E]",children:"Priced per clinician on one invoice, and you control who has a seat. Ten clinicians and up. What it costs depends on how many will actually use it, so it is a short conversation rather than a button."})]})]}),(0,t.jsxs)(n.default,{href:"/contact?topic=group-access",className:"group inline-flex items-center justify-center gap-2 bg-[#D4A574] text-white rounded-lg px-6 py-3.5 text-[14px] tracking-[0.12em] uppercase font-bold hover:bg-[#c49564] transition-colors duration-200 hover:shadow-lg",children:[(0,t.jsx)("span",{children:"Ask About A Practice Plan"}),(0,t.jsx)(r.ArrowRight,{className:"w-3.5 h-3.5 transition-transform group-hover:translate-x-1"})]})]})}),(0,t.jsx)("div",{className:"text-center mt-8",children:(0,t.jsx)("p",{className:"text-[#706A66] text-sm",children:"Every plan handles your session text the same way: processed for your request, not retained afterward. Cancel anytime."})})]})})]})}],352933)},556933,e=>{"use strict";var t=e.i(772221);let s="$29 a month",a=`Pro is ${s} with no cap.`;t.FREE_ACCOUNT_PROGRESS_NOTES_PER_PERIOD,e.s(["NOTE_ALLOWANCE_PRICING_HREF",0,"/pricing?source=note_allowance","PLAN_COMPARISON_FREE_LABEL",0,"Free account","PLAN_COMPARISON_PRO_LABEL",0,"Pro","PRO_ANNUAL_PRICE_LABEL",0,"$288 a year (save $60)","PRO_ANNUAL_PRICE_USD",0,288,"PRO_ANNUAL_SAVINGS_USD",0,60,"PRO_GUARANTEE_COPY",0,"Try Pro for a month. If it doesn't earn its $29, email me and I'll refund it. No form, no call. Jesse","PRO_MONTHLY_PRICE_LABEL",0,s,"PRO_MONTHLY_PRICE_USD",0,29,"PRO_NOTE_CAP_LINE",0,a,"PRO_UNCAPPED_LABEL",0,"No cap","noteAllowancePromptLine",0,function(e,t){let s=Math.max(0,t-e);return`You have ${s} ${1===s?"note":"notes"} left this month. ${a}`},"noteAllowanceStatusLine",0,function(e){let{used:s,limit:a,isPro:n,peri
1odStart:r}=e;if(n||!Number.isFinite(a))return`${s} ${1===s?"note":"notes"} written, no cap`;let i=function(e){if(!e)return null;let s=Date.parse(e);return Number.isFinite(s)?new Date(s+24*t.PROGRESS_NOTE_PERIOD_DAYS*36e5).toLocaleDateString("en-US",{month:"short",day:"numeric"}):null}(r),l=`${s} of ${a} notes this month`;return i?`${l}, resets ${i}`:l},"shouldShowNoteAllowancePrompt",0,function(e){let{used:t,limit:s,isPro:a}=e;return!a&&!!Number.isFinite(s)&&t>=s-5&&t<s}])},934756,e=>{"use strict";var t=e.i(772221);let s=t.FREE_WORKSHEETS_PER_ACCOUNT,a=t.FREE_SESSION_PREP_PER_ACCOUNT,n=t.FREE_PROGRESS_NOTES_PER_MONTH,r=t.FREE_ACCOUNT_PROGRESS_NOTES_PER_PERIOD;e.s(["FREE_ACCOUNT_PROGRESS_NOTES_PER_PERIOD",0,r,"FREE_PROGRESS_NOTES_PER_MONTH",0,n,"FREE_SESSION_GUIDE_LIMIT",0,a,"FREE_THINKING_PARTNER_LIMIT",0,1,"FREE_WORKSHEET_LIMIT",0,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.