1 line
9.0 KiB
JavaScript
1 line
9.0 KiB
JavaScript
(()=>{"use strict";window.React;const e=window.ReactJSXRuntime,s="https://www.lemonsqueezy.com/",{__}=wp.i18n,{BaseControl:t,Button:i,PanelBody:n,PanelRow:a,Card:l,CardMedia:o,CardBody:r,Notice:c}=wp.components,{render:h,Component:d,Fragment:u}=wp.element;class g extends d{constructor(){super(...arguments),this.state={isSettingsLoaded:!1,isAPILoading:!1,isAPISaving:!1,isTestAPISaving:!1,lsqApiKey:"",lsqApiKeyTest:"",showingTestInput:!1,enteredApiKeyTest:"",lsqUser:null,oauth:window.lsq_oauth||{}}}async componentDidMount(){wp.api.loadPromise.then(()=>{this.settings=new wp.api.models.Settings,!1===this.state.isSettingsLoaded&&this.settings.fetch().then(e=>{this.setState({lsqApiKey:e.lsq_api_key,lsqApiKeyTest:e.lsq_api_key_test,isSettingsLoaded:!0}),this.checkApi()})})}removeTestKey(){return this.setState({isTestAPISaving:!0}),wp.apiFetch({path:"lsq/v1/delete_test_key",method:"DELETE"}).then(e=>{1==e.success?this.setState({lsqApiKeyTest:"",isTestAPISaving:!1}):(this.setState({isTestAPISaving:!1}),e.error&&alert(e.error))})}saveTestApiKey(){return this.setState({isTestAPISaving:!0}),wp.apiFetch({path:"lsq/v1/save_test_key",method:"POST",data:{test_key:this.state.enteredApiKeyTest}}).then(e=>{1==e.success?this.setState({lsqApiKeyTest:this.state.enteredApiKeyTest,isTestAPISaving:!1}):(this.setState({isTestAPISaving:!1,lsqApiKeyTest:""}),e.error&&alert(e.error))})}checkApi(){return this.setState({isAPILoading:!0}),wp.apiFetch({path:"lsq/v1/validate"}).then(e=>{1==e.success?this.setState({isAPILoading:!1,lsqUser:e.user}):this.setState({isAPILoading:!1,lsqUser:null})}).catch(()=>{this.setState({isAPILoading:!1,lsqUser:null})})}changeOptions(e,s){return this.setState({isAPISaving:!0}),new wp.api.models.Settings({[e]:s}).save().then(s=>{this.setState({[e]:s[e],isAPISaving:!1})})}oauthAuthorize(){window.location.href=window.Lemonsqueezy.oauth_url}oauthDisconnect(){this.changeOptions("lsq_api_key","").then(()=>{this.setState({lsqUser:null})})}saveTestKey(){this.saveTestApiKey()}render(){const h=this.state.lsqUser?__("Connected to Lemon Squeezy","lemon-squeezy"):__("Connect to Lemon Squeezy","lemon-squeezy");let d=this.state.isAPILoading?__("Checking...","lemon-squeezy"):__("Connect to Lemon Squeezy","lemon-squeezy");return(0,e.jsxs)(u,{children:[(0,e.jsxs)("div",{className:"lsq-header",children:[(0,e.jsxs)("div",{className:"lsq-header__logo",children:[(0,e.jsx)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIxOHB4IiB2aWV3Qm94PSIwIDAgMTI4IDE3NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00My4yODY3IDEwNi43OTVMOTAuMjE1NSAxMjguMzc1Qzk2LjAzMTkgMTMxLjA1MSAxMDAuMTM4IDEzNS41NDIgMTAyLjM1NSAxNDAuNjk0QzEwNy45NjMgMTUzLjczOSAxMDAuMjk4IDE2Ny4wODEgODguMjY1OCAxNzEuODc5Qzc2LjIzMTYgMTc2LjY3NiA2My40MDYxIDE3My41ODkgNTcuNTc0NCAxNjAuMDIzTDM3LjE1MTEgMTEyLjM5NEMzNS41Njg0IDEwOC43MDIgMzkuNTQ0MSAxMDUuMDc0IDQzLjI4NjcgMTA2Ljc5NSIgZmlsbD0iI0ZGQzIzMyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ2LjEwNTQgOTIuODI2NEw5NC41NDggNzQuNjEyNkMxMTAuNjQ4IDY4LjU1OTEgMTI4LjIzNSA4MC4wMTI3IDEyNy45OTggOTYuNjU0N0MxMjcuOTk0IDk2Ljg3MTkgMTI3Ljk5IDk3LjA4OTEgMTI3Ljk4NCA5Ny4zMDgxQzEyNy42MzYgMTEzLjUxNCAxMTAuNTM5IDEyNC40MDYgOTQuNzkyNyAxMTguNjczTDQ2LjE1MTMgMTAwLjk2NUM0Mi4yNzExIDk5LjU1MzUgNDIuMjQyNSA5NC4yNzg2IDQ2LjEwNTQgOTIuODI2NCIgZmlsbD0iI0ZGQzIzMyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQzLjM5IDg2LjUxNzVMOTEuMDEwNyA2Ni4zOTE0QzEwNi44MzUgNTkuNzAyOSAxMTAuODUxIDM5LjYyODMgOTguNDU3NSAyOC4wMjk0Qzk4LjI5NTEgMjcuODc2NiA5OC4xMzI2IDI3LjcyNTcgOTcuOTY4MiAyNy41NzQ3Qzg1LjgxNzQgMTYuMzU2NyA2NS43MzA1IDIwLjMwNjUgNTguODEzMSAzNS4wODIyTDM3LjQ0MzYgODAuNzMyOEMzNS43Mzg2IDg0LjM3MzMgMzkuNTkyIDg4LjEyMjUgNDMuMzkgODYuNTE3NSIgZmlsbD0iI0ZGQzIzMyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMxLjEzNTYgNzguNTY0Mkw0OC40NDkxIDMxLjM0NTZDNTAuNTk1NiAyNS40OTA5IDUwLjE5OCAxOS41MjAyIDQ3Ljk3ODkgMTQuMzY4NkM0Mi4zNTk0IDEuMzI4NDggMjcuMTQwOCAtMi44ODA4IDE1LjExMDQgMS45MjQ4MUMzLjA4MTkxIDYuNzMyMjYgLTMuNzE1MDQgMTcuNjUwMiAyLjEyODEyIDMxLjIxMTJMMjIuNjg1MyA3OC43ODg4QzI0LjI3OTQgODIuNDc1MyAyOS43NTU2IDgyLjMyOTkgMzEuMTM1NiA3OC41NjQyIiBmaWxsPSIjRkZDMjMzIi8+Cjwvc3ZnPg==",className:"lsq-header__logo-icon"}),__("LemonSqueezy.com","lemon-squeezy")]}),(0,e.jsxs)("div",{className:"lsq-header__cta",children:[__("Want to make money with digital products?","lemon-squeezy"),(0,e.jsx)("a",{href:s,target:"_blank",rel:"noreferrer",className:"lsq-button lsq-button--secondary",children:__("Start selling today","lemon-squeezy")})]})]}),(0,e.jsxs)("div",{className:"lsq-main",children:[(0,e.jsxs)("div",{className:"lsq-main__column lsq-main__column--left",children:[(0,e.jsxs)("div",{className:"lsq-content lsq-content--intro",children:[(0,e.jsx)("h1",{children:__("Connect your store","lemon-squeezy")}),(0,e.jsx)("p",{children:__("The Lemon Squeezy plugin connects your Lemon Squeezy stores to your WordPress site to bring your products right into the block editor.","lemon-squeezy")})]}),(0,e.jsxs)("div",{className:"lsq-content lsq-content--step",children:[(0,e.jsx)("h2",{children:__("1. Connect to Lemon Squeezy","lemon-squeezy")}),(0,e.jsx)("p",{children:__('To get started, use the "Connect to Lemon Squeezy" button on the right. When prompted, click "Authorize" to connect your Lemon Squeezy account with this WordPress site.',"lemon-squeezy")})]}),(0,e.jsxs)("div",{className:"lsq-content lsq-content--step",children:[(0,e.jsx)("h2",{children:__("2. Add the Lemon Squeezy block and start selling!","lemon-squeezy")}),(0,e.jsx)("p",{children:__("To add products to your posts or pages, simply add the Lemon Squeezy block and select which product you'd like to insert. Use the block settings to select a checkout link or a checkout overlay.","lemon-squeezy")})]})]}),(0,e.jsx)("div",{className:"lsq-main__column lsq-main__column--right",children:(0,e.jsx)(n,{className:"lsq-panel",children:(0,e.jsx)(a,{className:"lsq-panel__row",children:(0,e.jsxs)(t,{label:h,id:"lsq-options-lsq-api",className:"lsq-panel__control",children:[this.state.oauth.error&&(0,e.jsxs)(c,{status:"error",className:"lsq-notice",children:["An error occurred: ",this.state.oauth.error]}),this.state.lsqUser&&(0,e.jsxs)(l,{size:"small",className:"lsq-card",children:[(0,e.jsx)(o,{children:(0,e.jsxs)("div",{className:"lsq-avatar",children:[(0,e.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80px",height:"80px",viewBox:"0 0 80 80",version:"1.1",children:[(0,e.jsx)("circle",{fill:this.state.lsqUser.attributes.color,width:"80",height:"80",cx:"40",cy:"40",r:"40"}),(0,e.jsx)("text",{x:"50%",y:"50%",alignmentBaseline:"middle",textAnchor:"middle",fontSize:"32",fontWeight:"400",dy:".1em",dominantBaseline:"middle",fill:"#ffffff",children:this.state.lsqUser.attributes.name.charAt(0).toUpperCase()})]}),this.state.lsqUser.attributes.avatar_url&&(0,e.jsx)("img",{src:this.state.lsqUser.attributes.avatar_url})]})}),(0,e.jsxs)(r,{className:"lsq-card__body",children:[(0,e.jsx)("p",{children:"Connected as:"}),(0,e.jsx)("h3",{children:this.state.lsqUser.attributes.name}),(0,e.jsx)("div",{children:this.state.lsqUser.attributes.email})]})]}),(0,e.jsxs)("div",{className:"lsq-panel__buttons",children:[this.state.lsqUser&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(i,{isPrimary:!0,isBusy:this.state.isAPISaving,disabled:this.state.isAPISaving,onClick:()=>this.oauthDisconnect(),className:"lsq-button lsq-button--primary",children:"Disconnect from Lemon Squeezy"}),!this.state.lsqApiKeyTest&&(0,e.jsxs)(e.Fragment,{children:[!this.state.showingTestInput&&(0,e.jsx)(i,{onClick:()=>this.setState({showingTestInput:!0}),isSmall:!0,children:"Need to Test? Enter your Test Key"}),this.state.showingTestInput&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("input",{className:"lsq-input",onChange:e=>{this.setState({enteredApiKeyTest:e.target.value})},type:"text",placeholder:"Enter your Test API Key"}),(0,e.jsx)(i,{isBusy:this.state.isTestAPISaving,isSecondary:!0,onClick:()=>this.saveTestKey(),children:"Save Test API Key"}),(0,e.jsx)(i,{onClick:()=>this.setState({showingTestInput:!1}),children:"Cancel"}),(0,e.jsxs)("div",{children:[(0,e.jsx)("br",{}),(0,e.jsx)(i,{isLink:!0,target:"_blank",href:"https://docs.lemonsqueezy.com/help/getting-started/test-mode",children:"Read about the test mode."})]})]})]}),this.state.lsqApiKeyTest&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("p",{children:"You're on Test Mode."}),(0,e.jsx)(i,{isBusy:this.state.isTestAPISaving,isSecondary:!0,onClick:()=>this.removeTestKey(),children:"Remove Test Mode"})]})]}),!this.state.lsqUser&&(0,e.jsx)(i,{isPrimary:!0,isBusy:this.state.isAPILoading||!this.state.isSettingsLoaded,disabled:this.state.isAPILoading||!this.state.isSettingsLoaded,onClick:()=>this.oauthAuthorize(),className:"lsq-button lsq-button--primary",children:d})]}),(0,e.jsx)("div",{className:"lsq-panel__footer",children:(0,e.jsxs)("p",{children:["© ",(new Date).getFullYear()," ","Lemon Squeezy, LLC"," ",(0,e.jsx)("span",{className:"lsq-u-bullet-spacer",children:"•"})," ",(0,e.jsx)("a",{target:"blank",rel:"noreferrer",href:s,children:"LemonSqueezy.com"})]})})]})})})})]})]})}}h((0,e.jsx)(g,{}),document.getElementById("lsq-plugin"))})(); |