@mindexec/cli 0.2.377 → 0.2.379
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/wwwroot/assets/{AdminDashboardPage-D2GhogSX.js → AdminDashboardPage-CptFPV__.js} +1 -1
- package/wwwroot/assets/AppSidebar-6q9MElKP.js +2 -0
- package/wwwroot/assets/AuthPages-BtLsYX_F.js +1 -0
- package/wwwroot/assets/{CodePage-D0CxncU0.js → CodePage-CtcukAw7.js} +1 -1
- package/wwwroot/assets/{CompanyCorePage-C8AAF9MJ.js → CompanyCorePage-CVw3X796.js} +1 -1
- package/wwwroot/assets/{ExecutionModePage-DM4G1xkT.js → ExecutionModePage-BxZvRmyD.js} +5 -5
- package/wwwroot/assets/{LaunchLeadCapture-Btre_FaA.js → LaunchLeadCapture-Bx9LM0IX.js} +1 -1
- package/wwwroot/assets/{MarketingHome-BJI2zEYK.js → MarketingHome-BsyerRpe.js} +1 -1
- package/wwwroot/assets/MindCanvas-wBB9fMPS.js +49 -0
- package/wwwroot/assets/{PlanMasterPage-axrFePG0.js → PlanMasterPage-juSUgUYZ.js} +4 -4
- package/wwwroot/assets/PricingPage-7NW6HJxV.js +1 -0
- package/wwwroot/assets/{ToolPages-CTVDo24Z.js → ToolPages-n6d8tLbT.js} +9 -9
- package/wwwroot/assets/{YouTubeSearchPage-BWA45eoM.js → YouTubeSearchPage-52qOcKbo.js} +2 -2
- package/wwwroot/assets/canvas-runtime-D3amtMwe.js +44 -0
- package/wwwroot/assets/{index-BK3iJDs0.js → index-De6zm3_M.js} +2 -2
- package/wwwroot/assets/{storage-BPqBi6qs.js → storage-RP5Dyxmq.js} +1 -1
- package/wwwroot/assets/supabaseAuthAdapter-CuJuASQT.js +44 -0
- package/wwwroot/assets/{vendor-icons-678PAT8P.js → vendor-icons-DE3gIReG.js} +22 -32
- package/wwwroot/index.html +2 -2
- package/wwwroot/assets/AppSidebar-W4jPDFbW.js +0 -2
- package/wwwroot/assets/AuthPages-Dt2IexfF.js +0 -1
- package/wwwroot/assets/MindCanvas-7sJDBOtx.js +0 -48
- package/wwwroot/assets/PricingPage-DPETQvcF.js +0 -1
- package/wwwroot/assets/canvas-runtime-CddXXjp9.js +0 -44
- package/wwwroot/assets/supabaseAuthAdapter-bSjZe3In.js +0 -44
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as g,j as t}from"./vendor-react-BXzpOyCS.js";import{L as M}from"./LaunchLeadCapture-Btre_FaA.js";import{g as C,a as P}from"./index-BK3iJDs0.js";import{p as E,P as N,r as _,c as x}from"./pricingCheckoutShell-O-DnwmbU.js";import{r as A}from"./productionAdapterConfig-C5jfk6oG.js";import{R as m}from"./app-runtime-xD2Z3NdN.js";import{getSupabaseBrowserClient as U}from"./supabaseAuthAdapter-bSjZe3In.js";import{A as I,aS as L,c as D,N as $}from"./vendor-icons-678PAT8P.js";import"./canvas-runtime-CddXXjp9.js";function f(e){return typeof e=="string"&&e.trim()?e.trim():null}function B(e){const o=Number(e);return Number.isFinite(o)?Math.max(1,Math.round(o)):1}function T(e){const o=B(e.quantity);return{price_id:e.priceId,return_url:e.returnUrl,email:e.email,quantity:o,source:"mindexec-react",sale_kind:"first_party",entitlement_kind:e.planKey,package_kind:e.planKey==="ltd"?"ltd":"subscription",plan_key:e.planKey,plan_code:e.planCode,price_stage:e.priceStage,metadata:{source:"mindexec-react",price_stage:e.priceStage,plan_key:e.planKey,plan_code:e.planCode,checkout_surface:"pricing"}}}async function O(e,o){var s;const u=A(e);if(!u.checkout.canAttempt)throw m.emit("pricing.checkout.provider.skipped",{mode:u.checkout.mode}),new Error(`Secure checkout adapter is not ready: ${u.checkout.mode}`);const l=U(e);if(!l)throw m.emit("pricing.checkout.provider.skipped",{mode:"config-missing"}),new Error("Supabase browser client is not available for checkout.");const{data:n,error:c}=await l.auth.getSession();if(c)throw m.emit("pricing.checkout.provider.sessionFailed",{message:c.message}),c;if(!((s=n.session)!=null&&s.access_token))throw m.emit("pricing.checkout.provider.sessionMissing"),new Error("Secure checkout requires a Supabase-authenticated session.");const p=T(o);m.emit("pricing.checkout.provider.started",{provider:"dodo",functionName:"dodo-create-checkout",priceStage:o.priceStage,priceId:o.priceId});const{data:r,error:a}=await l.functions.invoke("dodo-create-checkout",{body:p});if(a)throw m.emit("pricing.checkout.provider.failed",{provider:"dodo",message:a.message}),a;const h=f(r==null?void 0:r.checkout_url);if(!h){const i=f(r==null?void 0:r.reason)??f(r==null?void 0:r.error)??"checkout-url-missing";throw m.emit("pricing.checkout.provider.failed",{provider:"dodo",message:i}),new Error(`Dodo checkout did not return a checkout URL: ${i}`)}return m.emit("pricing.checkout.provider.ready",{provider:"dodo",hasSessionId:!!f(r==null?void 0:r.session_id)}),{mode:u.checkout.mode,canAttempt:!0,provider:"dodo",sessionId:f(r==null?void 0:r.session_id),checkoutUrl:h,userId:f(r==null?void 0:r.user_id)}}const d={currentStage:"STANDARD",ltdLimit:100,ltdSold:0,ltdRemaining:100,isLtdAvailable:!1,isClosed:!1,freeCloudBoardLimit:2,proMonthlyIncludedCredits:1e4,proMonthlyPriceUsd:12,proAnnualPriceUsd:96,ltdPriceUsd:149,managedAiMarkupMultiplier:1.7,localModeFreeEnabled:!0,byokFreeEnabled:!0};function b(e){return`$${e.toLocaleString("en-US",{maximumFractionDigits:2})}`}function R(e){return e?"Start Pro":"Sign in to continue"}function F(){return`${b(d.proMonthlyPriceUsd)} starting point`}function K(){return"Standard paid access should feel like a continuation of the free workflow, not a forced first step."}function z(){return[`Monthly Pro starts at ${b(d.proMonthlyPriceUsd)}`,`Annual target pricing is ${b(d.proAnnualPriceUsd)} per year`,`${d.freeCloudBoardLimit} cloud boards are available before paid limits matter`]}function H(){return A(P())}function Y(e){return"dodo_pro_monthly_v1"}function G(e){return"pro"}function k(e,o,u){const l=document.head.querySelector(e),n=l??o(),c=n.getAttribute("content"),p=!l;return p&&document.head.appendChild(n),n.setAttribute("content",u),()=>{p?n.remove():c===null?n.removeAttribute("content"):n.setAttribute("content",c)}}function j(e){const o=document.createElement("meta");return o.setAttribute("name",e),o}function w(e){const o=document.createElement("meta");return o.setAttribute("property",e),o}function J(){const e=document.title,o="MindExec Pricing",u="MindExec pricing for free local tools and MindCanvas projects. Start free with local tools, then upgrade when saved boards, cloud workflows, and AI support become important.",l="https://mindexec.pages.dev/pricing",n=document.head.querySelector('link[rel="canonical"]')??document.createElement("link"),c=!n.parentElement,p=n.getAttribute("href");n.setAttribute("rel","canonical"),n.setAttribute("href",l),c&&document.head.appendChild(n);const r={"@context":"https://schema.org","@type":"SoftwareApplication",name:"MindExec",applicationCategory:"ProductivityApplication",operatingSystem:"Web",description:"Local-first visual workspace with free markdown tools and paid MindCanvas project workflows.",url:l,offers:[{"@type":"Offer",name:"Free local tools",price:"0",priceCurrency:"USD"},{"@type":"Offer",name:"MindCanvas Pro",price:String(d.proMonthlyPriceUsd),priceCurrency:"USD"}]},a=document.head.querySelector("#pricing-structured-data")??document.createElement("script"),h=!a.parentElement,s=a.textContent;a.id="pricing-structured-data",a.type="application/ld+json",a.setAttribute("data-testid","pricing-structured-data"),a.textContent=JSON.stringify(r),h&&document.head.appendChild(a),document.title=o;const i=[k('meta[name="description"]',()=>j("description"),u),k('meta[name="robots"]',()=>j("robots"),"index,follow"),k('meta[property="og:title"]',()=>w("og:title"),o),k('meta[property="og:description"]',()=>w("og:description"),"Compare free local tools, MindCanvas Pro, and the current checkout offer."),k('meta[property="og:type"]',()=>w("og:type"),"website"),k('meta[property="og:url"]',()=>w("og:url"),l)];return()=>{document.title=e,i.forEach(y=>y()),c?n.remove():p===null?n.removeAttribute("href"):n.setAttribute("href",p),h?a.remove():a.textContent=s}}function oe({navigate:e}){const[o,u]=g.useState(()=>C()),[l,n]=g.useState(!1),c=g.useMemo(()=>H(),[]),[p,r]=g.useState(()=>{const s=C(),i=E();return s&&i?`Signed in as ${s.email}. Continue checkout when ready; payment remains adapter-gated.`:""}),a=g.useMemo(()=>z(),[]);g.useEffect(()=>J(),[]);const h=async()=>{const s=C();if(u(s),m.emit("pricing.checkout.requested",{stage:d.currentStage,signedIn:!!s}),!s){_(d.currentStage,"/pricing"),r("Sign in first to continue to secure checkout."),e("/login");return}if(n(!0),c.checkout.canAttempt)try{const i=G(d.currentStage),y=await O(P(),{priceId:Y(d.currentStage),priceStage:d.currentStage,planKey:i,planCode:i.toUpperCase(),email:s.email,returnUrl:new URL("/pricing?checkout=return",window.location.origin).toString()});x("pricing-checkout-provider-started"),r("Opening secure Dodo checkout..."),window.location.assign(y.checkoutUrl);return}catch(i){n(!1),r(`Secure checkout could not start: ${i instanceof Error?i.message:String(i)}`),m.emit("pricing.checkout.provider.failed",{stage:d.currentStage,message:i instanceof Error?i.message:String(i)});return}window.setTimeout(()=>{x("pricing-checkout-adapter-gated"),n(!1),r(`Checkout policy is ready for ${s.email}; secure payment adapter wiring is the remaining backend step.`),m.emit("pricing.checkout.adapter.gated",{stage:d.currentStage,signedIn:!0})},650)};return t.jsxs("div",{className:"page pricing-page","data-testid":"pricing-shell","data-pricing-stage":d.currentStage,"data-pricing-checkout-intent-key":N,"data-production-adapter-state":c.overallState,"data-pricing-checkout-provider-mode":c.checkout.mode,"data-pricing-checkout-provider-ready":c.checkout.canAttempt?"true":"false","data-client-secret-blocked":c.forbiddenClientSecretKeys.length>0?"true":"false",children:[t.jsxs("section",{className:"pricing-hero",children:[t.jsx("div",{className:"eyebrow",children:"Pricing"}),t.jsx("h1",{children:"Start free. Pay when the work becomes worth keeping."}),t.jsx("p",{children:"Free tools stay fast and local. MindCanvas becomes valuable when saved projects, cloud workflows, and AI-supported organization matter across larger boards."}),t.jsxs("div",{className:"action-row",children:[t.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>e("/tools"),"data-testid":"pricing-browse-tools",children:"Browse free tools"}),t.jsx("button",{className:"btn btn-secondary",type:"button",onClick:()=>e("/mindcanvas"),"data-testid":"pricing-open-mindcanvas",children:"Open MindCanvas"})]})]}),t.jsxs("section",{className:"pricing-grid pricing-grid--detailed",children:[t.jsx(v,{label:"Free local tools",price:"$0",body:"Best for quick markdown, notes, clipboard work, and no-login utility tasks.",lines:["Markdown preview, outline, and README tools","Browser notepad and clipboard board","Local-first use with no required upload","Great for one-off jobs before a project exists"],action:"Use the free tools",onAction:()=>e("/tools")}),t.jsx(v,{label:"MindCanvas Pro",price:b(d.proMonthlyPriceUsd),suffix:"/month",body:"For saved boards, cloud projects, and AI-assisted organization once the work grows beyond a disposable tool session.",note:`Annual planning target: ${b(d.proAnnualPriceUsd)} per year`,lines:["Saved project workflows instead of one-off tool output","Cloud access when local-only is no longer enough",`${d.proMonthlyIncludedCredits.toLocaleString()} included monthly credits`,"Better fit for repeat work, larger docs, and visual organization"],action:R(o==null?void 0:o.email),icon:l?I:L,actionClass:"btn-primary",busy:l,onAction:h,status:p,testId:"pricing-pro-checkout"}),t.jsx(v,{label:"Current offer",price:F(),body:K(),lines:a,action:"Open MindCanvas first",onAction:()=>e("/mindcanvas")})]}),t.jsxs("section",{className:"pricing-compare",children:[t.jsxs("div",{children:[t.jsx("div",{className:"eyebrow",children:"Why pay later"}),t.jsx("h2",{children:"The free entry point should stay frictionless."}),t.jsx("p",{children:"Pricing works when it appears after the user already understands value. Public tools are for instant utility. Pro is for keeping the work alive after it becomes important."})]}),t.jsxs("div",{className:"pricing-compare-grid",children:[t.jsxs("article",{children:[t.jsx(D,{size:20}),t.jsx("h3",{children:"Stay free when"}),t.jsx("p",{children:"You only need a quick preview, outline, conversion, note, or snippet board with no ongoing project state."})]}),t.jsxs("article",{children:[t.jsx($,{size:20}),t.jsx("h3",{children:"Upgrade when"}),t.jsx("p",{children:"You want saved boards, repeat workflows, cloud access, or AI-assisted organization across bigger visual projects."})]})]})]}),t.jsx(M,{compact:!0,eyebrow:"Launch list",headline:"Not ready to buy today?",body:"Join the English launch list for checkout openings, launch offers, and short examples of serious MindCanvas workflows.",buttonText:"Notify me",sourceTag:"pricing"})]})}function v({label:e,price:o,suffix:u,body:l,note:n,lines:c,action:p,icon:r,actionClass:a,busy:h,status:s,testId:i,onAction:y}){return t.jsxs("article",{className:"pricing-card pricing-card--detailed",children:[t.jsx("div",{className:"card-label",children:e}),t.jsxs("h2",{children:[o,u&&t.jsx("span",{children:u})]}),t.jsx("p",{children:l}),n&&t.jsx("div",{className:"pricing-note",children:n}),t.jsx("ul",{children:c.map(S=>t.jsx("li",{children:S},S))}),t.jsxs("button",{className:`btn pricing-card-action ${a||"btn-secondary"}`,type:"button",disabled:h,onClick:y,"data-testid":i,children:[r&&t.jsx(r,{size:16,className:h?"spin-icon":void 0}),p]}),s&&t.jsx("p",{className:"pricing-status","data-testid":i?`${i}-status`:void 0,children:s})]})}export{oe as PricingPage};
|