PageSourceSearch

https://app.blackmount.ai/static/js/255.c6734411.chunk.js

js blackmount.ai collected 2026-10-02 01:11:00 UTC 9,385 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[255],{18255(e,r,t){t.r(r),t.d(r,{default:()=>E});var i=t(65043),o=t(19252),s=t(81637),n=t(7353),a=t(94496),l=t(67254),c=t(68903),d=t(12110),u=t(43845),h=t(26494),x=t(35721),p=t(42518),v=t(37918),g=t(2050),y=t(48734),m=t(59506),A=t(33438),b=t(77111),j=t(42718),f=t(81033),w=t(40430),k=t(5073),C=t(43417),S=t(70579);const P=e=>{let{text:r,included:t,light:i=!1}=e;return(0,S.jsxs)(v.Ay,{sx:{px:0,py:.5},children:[(0,S.jsx)(g.A,{sx:{minWidth:32},children:t?(0,S.jsx)(m.A,{fontSize:"small",sx:{color:i?"white":"success.main"}}):(0,S.jsx)(A.A,{fontSize:"small",sx:{color:"grey.400"}})}),(0,S.jsx)(y.A,{primary:r,primaryTypographyProps:{variant:"body2",sx:{color:t?"inherit":"grey.500",textDecoration:t?"none":"line-through"}}})]})},E=()=>{var e;const{subscription:r,loading:t}=(0,f.R)(),{status:v,hasDiscount:g,discountDaysRemaining:y,currentPrice:m}=(0,w.sH)(),{currentUser:A}=(0,k.A)(),[E,z]=(0,i.useState)(!1),[W,B]=(0,i.useState)(null),F="pro"===("pro"===(null===v||void 0===v?void 0:v.tier)?"pro":(null===r||void 0===r?void 0:r.tier)||(null===r||void 0===r||null===(e=r.subscription)||void 0===e?void 0:e.plan)||"free");if(t)return(0,S.jsx)(o.A,{maxWidth:"md",sx:{py:4,display:"flex",justifyContent:"center"},children:(0,S.jsx)(s.A,{})});const U=m?m():1.99,I=!!g&&g(),D=y?y():0;return(0,S.jsxs)(o.A,{maxWidth:"md",sx:{py:4},children:[(0,S.jsxs)(n.A,{sx:{textAlign:"center",mb:4},children:[(0,S.jsx)(a.A,{variant:"h3",fontWeight:700,gutterBottom:!0,children:"Choose Your Plan"}),(0,S.jsx)(a.A,{variant:"h6",color:"text.secondary",children:"Simple pricing. No hidden fees."})]}),W&&(0,S.jsx)(l.A,{severity:"error",sx:{mb:3},onClose:()=>B(null),children:W}),!F&&I&&(0,S.jsxs)(l.A,{severity:"success",icon:(0,S.jsx)(b.A,{}),sx:{mb:3},children:[(0,S.jsx)(a.A,{variant:"body1",fontWeight:600,children:"Early Adopter Discount: Lock in $0.99/month forever!"}),(0,S.jsxs)(a.A,{variant:"body2",children:[D," days left to claim this price. It stays locked as long as you stay subscribed."]})]}),(0,S.jsxs)(c.Ay,{container:!0,spacing:3,justifyContent:"center",children:[(0,S.jsx)(c.Ay,{item:!0,xs:12,sm:6,children:(0,S.jsxs)(d.A,{sx:{height:"100%",border:"2px solid",borderColor:F?"grey.300":"primary.main",position:"relative"},children:[!F&&(0,S.jsx)(u.A,{label:"Current",size:"small",sx:{position:"absolute",top:12,right:12}}),(0,S.jsxs)(h.A,{sx:{p:3},children:[(0,S.jsx)(a.A,{variant:"h5",fontWeight:600,gutterBottom:!0,children:"Free"}),(0,S.jsx)(a.A,{variant:"h3",fontWeight:700,gutterBottom:!0,children:"$0"}),(0,S.jsx)(a.A,{variant:"body2",color:"text.secondary",sx:{mb:3},children:"Perfect for getting started"}),(0,S.jsxs)(x.A,{dense:!0,children:[(0,S.jsx)(P,{text:"14-day trial (10 syncs)",included:!0}),(0,S.jsx)(P,{text:"1 sync/month after trial",included:!0}),(0,S.jsx)(P,{text:"1 device",included:!0}),(0,S.jsx)(P,{text:"Local-only backup",included:!0}),(0,S.jsx)(P,{text:"Export",included:!1}),(0,S.jsx)(P,{text:"Voice notes",included:!1}),(0,S.jsx)(P,{text:"1-click restore",included:!1})]}),(0,S.jsx)(p.A,{fullWidth:!0,variant:"outlined",disabled:!0,sx:{mt:2},children:F?"Free Plan":"Current Plan"})]})]})}),(0,S.jsx)(c.Ay,{item:!0,xs:12,sm:6,children:(0,S.jsxs)(d.A,{sx:{height:"100%",border:"2px solid",borderColor:F?"primary.main":"grey.300",position:"relative",background:F?"white":"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",color:F?"inherit":"white"},children:[F&&(0,S.jsx)(u.A,{label:"Current",size:"small",color:"success",sx:{position:"absolute",top:12,right:12}}),!F&&(0,S.jsx)(u.A,{label:"RECOMMENDED",size:"small",sx:{position:"absolute",top:12,right:12,bgcolor:"warning.main",color:"warning.contrastText",fontWeight:600}}),(0,S.jsxs)(h.A,{sx:{p:3},children:[(0,S.jsx)(a.A,{variant:"h5",fontWeight:600,gutterBottom:!0,children:"Blackmount Pro"}),(0,S.jsxs)(n.A,{sx:{display:"flex",alignItems:"baseline",gap:1,mb:1},children:[(0,S.jsxs)(a.A,{variant:"h3",fontWeight:700,children:["$",U.toFixed(2)]}),(0,S.jsx)(a.A,{variant:"body1",sx:{opacity:.8},children:"/month"})]}),I&&!F&&(0,S.jsx)(a.A,{variant:"body2",sx:{textDecoration:"line-through",opacity:.7,mb:1},children:"$1.99/month"}),(0,S.jsx)(a.A,{variant:"body2",sx:{mb:3,opacity:F?1:.9,color:F?"text.secondary":"inherit"},children:"For people who live in their browser"}),(0,S.jsxs)(x.A,{dense:!0,children:[(0,S.jsx)(P,{text:"Unlimited cloud sessions",included:!0,light:!F}),(0,S.jsx)(P,{text:"Thousands of bookmarks/month",included:!0,light:!F}),(0,S.jsx)(P,{text:"Up to 3 devices",included:!0,light:!F}),(0,S.jsx)(P,{text:"Export & 1-click restore",included:!0,light:!F}),(0,S.jsx)(P,{text:"Voice notes (web + iOS)",included:!0,light:!F})]}),F?(0,S.jsx)(p.A,{fullWidth:!0,variant:"outlined",onClick:async()=>
1{if(A)try{const e=await A.getIdToken(),r=await C.A.createPortalSession(e);window.location.href=r}catch(e){console.error("Portal access failed:",e),B(e.message||"Failed to access subscription management.")}else B("Please sign in to manage subscription")},sx:{mt:2,borderColor:"grey.400"},children:"Manage Subscription"}):(0,S.jsx)(p.A,{fullWidth:!0,variant:"contained",size:"large",onClick:async()=>{if(A){z(!0),B(null);try{const e=await A.getIdToken(),r=await C.A.createExtensionCheckout(e);window.location.href=r}catch(e){console.error("Checkout failed:",e),B(e.message||"Failed to start checkout. Please try again."),z(!1)}}else B("Please sign in to upgrade")},disabled:E,startIcon:E?(0,S.jsx)(s.A,{size:20}):(0,S.jsx)(j.A,{}),sx:{mt:2,bgcolor:"white",color:"primary.main","&:hover":{bgcolor:"grey.100"}},children:E?"Processing...":"Upgrade to Blackmount Pro"})]})]})})]}),(0,S.jsx)(l.A,{severity:"info",sx:{mt:4},children:(0,S.jsxs)(a.A,{variant:"body2",children:[(0,S.jsx)("strong",{children:"Simple cancellation:"})," Cancel anytime from your account settings. Access continues until the end of your billing period. No questions asked."]})}),(0,S.jsx)(n.A,{sx:{textAlign:"center",mt:4},children:(0,S.jsxs)(a.A,{variant:"body2",color:"text.secondary",children:["Questions? Contact us at"," ",(0,S.jsx)("a",{href:"mailto:[email protected]",style:{color:"inherit"},children:"[email protected]"})]})})]})}},43417(e,r,t){t.d(r,{A:()=>o});var i=t(47591);const o=new class{async createCheckoutSession(e,r){try{var t;const o=await i.A.post("/api/billing/create-checkout",{priceId:e},{headers:{Authorization:"Bearer ".concat(r)}});if(null===(t=o.data)||void 0===t||!t.url)throw new Error("No checkout URL returned from server");return o.data.url}catch(n){var o,s;throw console.error("[StripeService] Checkout session creation failed:",n),new Error((null===(o=n.response)||void 0===o||null===(s=o.data)||void 0===s?void 0:s.error)||"Failed to create checkout session. Please try again.")}}async previewProration(e,r){try{return(await i.A.post("/api/billing/preview-proration",{priceId:e},{headers:{Authorization:"Bearer ".concat(r)}})).data}catch(t){return console.error("[StripeService] Proration preview failed:",t),null}}async updateSubscription(e,r){try{return(await i.A.post("/api/billing/update-subscription",{priceId:e},{headers:{Authorization:"Bearer ".concat(r)}})).data}catch(d){var t,o,s;if(console.error("[StripeService] Subscription update failed:",d),400===(null===(t=d.response)||void 0===t?void 0:t.status)){var n,a,l,c;const e=(null===(n=d.response)||void 0===n||null===(a=n.data)||void 0===a?void 0:a.message)||(null===(l=d.response)||void 0===l||null===(c=l.data)||void 0===c?void 0:c.error);throw new Error(e||"Unable to update subscription")}throw new Error((null===(o=d.response)||void 0===o||null===(s=o.data)||void 0===s?void 0:s.error)||"Failed to update subscription. Please try again.")}}async createExtensionCheckout(e){try{var r;const t=await i.A.post("/api/billing/extension-checkout",{},{headers:{Authorization:"Bearer ".concat(e)}});if(null===(r=t.data)||void 0===r||!r.url)throw new Error("No checkout URL returned from server");return t.data.url}catch(s){var t,o;throw console.error("[StripeService] Extension checkout creation failed:",s),new Error((null===(t=s.response)||void 0===t||null===(o=t.data)||void 0===o?void 0:o.error)||"Failed to create checkout session. Please try again.")}}async createPortalSession(e){try{var r;const t=await i.A.post("/api/billing/create-portal",{},{headers:{Authorization:"Bearer ".concat(e)}});if(null===(r=t.data)||void 0===r||!r.url)throw new Error("No portal URL returned from server");return t.data.url}catch(n){var t,o,s;if(console.error("[StripeService] Portal session creation failed:",n),400===(null===(t=n.response)||void 0===t?void 0:t.status))throw new Error("No active subscription found. Please subscribe first.");throw new Error((null===(o=n.response)||void 0===o||null===(s=o.data)||void 0===s?void 0:s.error)||"Failed to access subscription management. Please try again.")}}}},77111(e,r,t){t.d(r,{A:()=>s});var i=t(66734),o=t(70579);const s=(0,i.A)((0,o.jsx)("path",{d:"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58s1.05-.22 1.41-.59l7-7c.37-.36.59
1-.86.59-1.41s-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7"}),"LocalOffer")},42718(e,r,t){t.d(r,{A:()=>s});var i=t(66734),o=t(70579);const s=(0,i.A)((0,o.jsx)("path",{d:"M16 18v2H8v-2zM11 7.99V16h2V7.99h3L12 4 8 7.99z"}),"Upgrade")}}]);
2//# sourceMappingURL=255.c6734411.chunk.js.map

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.