1import{x as mn,d as L,A as de,q as A,u as e,S as h,h as O,T as F}from"./vendor-preact-B9V_c-sJ.js";import{M as fn,p as vn,e as kn,i as J,Z as bn,f as T,S as B,T as a,_ as yn,d as c,k as X,I as ye,B as U,$ as Ve,P as Sn,b as _,a0 as me,a1 as wn}from"./shared-frontend-BEmEfIuZ.js";import{E as An,D as Se,k as Cn,n as In,p as Tn,O as Bn,d as z,c as je}from"./global-DU72IaSn.js";import{a as En,A as D,b as K,s as Ze,L as Pn,S as zn}from"./index-B1RGtDdM.js";import"./vendor-query-ug-pJfuv.js";import{A as Dn}from"./AssistantRegister-CD-nzOIB.js";import{T as Kn,a as Fn}from"./AssistantTaxSettings-C4_Prgq5.js";import{a as fe,aq as Nn,d as Ln}from"./vendor-DY-x50ri.js";import{x as Mn,L as ve,a as Q,U as On,R as Rn,A as He,N as Ue,e as M,b as Wn,M as _e,B as Vn,h as jn,g as Zn}from"./vendor-polaris-CqVsgsYl.js";import{T as Hn}from"./vendor-shopify-bridge-CTsueL4z.js";import{C as Un,S as $,aI as _n,l as ae,aJ as $n,w as ke,H as $e,aK as le,a9 as be,aL as Gn,y as qn,D as Ge,z as qe,aM as Yn,au as Jn,aF as Xn,j as Qn,aH as xn}from"./vendor-shopify-icons-Db0W4UC0.js";import"./vendor-router-CzIEKn6F.js";function et(n,o){var G;const[i,r]=J("Setup:wizard:currentKey",((G=n[0])==null?void 0:G.key)||""),b=de(null),t=F(()=>n.map(l=>l.key),[n]),s=F(()=>{const l=new Map;return n.forEach(y=>l.set(y.key,y)),l},[n]),u=F(()=>n.filter(l=>l.unlock?l.unlock(o):!0).map(l=>l.key),[n,o.sevdesk.isConnected,o.shop,o.plan,o.sevdesk,o.done,o.visited,o.platformId]),m=t.indexOf(i),p=A(l=>{u.includes(l)&&r(l)},[u]),C=A(l=>{l&&o.setDoneBool(l,!0);const y=t.indexOf(i),ce={...o,done:l?[...o.done,l].filter(Se):o.done};for(let q=y+1;q<t.length;q++){const x=t[q],Z=s.get(x);if(Z!=null&&Z.unlock?Z.unlock(ce):!0){r(x);return}}},[t,i,s,o]),R=A(()=>{for(let l=m-1;l>=0;l--){const y=t[l];if(u.includes(y)){r(y);return}}},[m,t,u]),N=F(()=>{for(let l=m-1;l>=0;l--)if(u.includes(t[l]))return!0;return!1},[m,u,t]),j=F(()=>({key:i,currentKey:i,currentIndex:m,unlockedKeys:u,go:p,next:C,prev:R,hasPrev:N}),[i,m,u,p,C,R,N]);return O(()=>{t.includes(i)||r(u[0]||t[0]||"")},[t,u,i,r]),O(()=>{if(u.includes(i))return;const l=t.find(y=>u.includes(y)&&!o.done.includes(y));r(l||u[0]||t[0]||"")},[t,u,o.done,i]),O(()=>{var y;if(b.current===i)return;b.current=i;const l=s.get(i);(y=l==null?void 0:l.onStart)==null||y.call(l,o,j)},[i]),j}function nt(){return[{key:"welcome",stepperStep:0,unlock:()=>!0,view:(n,o)=>{const i=n.sevdesk.isConnected||n.done.includes("agree-terms");return{header:"Buchhaltung einrichten",children:e(c,{gap:"500",ixnlineAlign:"center",children:[e(c,{gap:"400",children:[e(U,{borderRadius:"300",children:e(c,{horizontal:!0,gap:"300",blockAlign:"center",children:[e(B,{children:e(He,{size:"lg",customer:!0,source:Ze})}),e(c,{xinlineAlign:"center",gap:"050",children:[e(a,{variant:"headingMd",children:D.TITLE}),e(a,{variant:"bodySm",tone:"subdued",children:"Buchhaltung einfach, rechtskonform & automatisiert"})]})]})}),e(c,{gap:"300",children:[e(a,{variant:"bodySm",tone:"subdued",children:"So richtest du die App ein:"}),e(Ve,{gap:"300",items:[{title:"Verbindung herstellen",description:"Verbinde Shopify mit sevdesk"},{title:"Steuern konfigurieren",description:"Prüfe deine Steuerkonfiguration"},{title:"Einstellungen anpassen",description:"Passe Belege und Automatisierung an"}]})]})]}),e(c,{gap:"300",children:[e(U,{tone:i?"secondary":"",paddingBlock:"100",paddingInline:"400",borderRadius:"300",shadow:"0",children:e(Ue,{label:e(B,{marginLeft:.3,children:e(a,{lineHeight:2.25,as:"p",variant:"bodySm",tone:"subdued",children:["Ich akzeptiere die ",e(K,{url:"/help/app/terms",monochrome:!0,external:!0,children:"Nutzungsbedingungen"})," und nehme zur Kenntnis, dass jegliche Haftung für die Richtigkeit der generierten Belege ausgeschlossen wird"]})}),checked:n.sevdesk.isConnected||i,onChange:r=>n.setDoneBool("agree-terms",r),disabled:n.sevdesk.isConnected})}),n.sevdesk.isConnected&&e(Sn,{id:"disconnect-to-unagree",variant:"info",children:"Trenne die Verbindung zu sevdesk um dein Einverständnis zu widerrufen"}),e(Q,{size:"large",variant:"primary",disabled:!i,onClick:()=>o.next("welcome"),children:"Einrichtung beginnen"})]})]})}}},{key:"connect",stepperStep:1,offset:-.75,unlock:n=>n.sevdesk.isConnected||n.done.includes("welcome")&&n.done.includes("agree-terms"),view:(n,o)=>{var r,b,t;const i=async s=>{const u=s.trim();n.setApiTokenInput(u);const m=await n.connect(n.platformId,u);m!=null&&m.isConnected&&m.isSharedConnection===!0&&setTimeout(()=>{n.countdown.start(8),n.setModal("shared-connection")},3500)};return{header:n.sevdesk.isConnected?"Verbindung hergestellt":"Verbindung herstellen",title:n.sevdesk.isConnected?e(a,{alignment:"center",children:["Shopify wurde mit ",D.NAME," verbunden"]}):e(a,{alignment:"center",children:["Verbinde Shopify mit ",D.NAME]}),action:n.sevdesk.isConnected?{children:"Weiter",icon:ae,disabled:n.processing,onClick:()=>o.next("connect")}:{children:"API-Token überprüfen",icon:$n,disabled:n.processing||!n.apiTokenInput.trim(),loading:n.processing,onClick:()=>i(n.apiTokenInput)},actions:n.sevdesk.isConnected?[{children:"Zurück",variant:"tertiary",onClick:()=>o.prev()}]:[{children:"Konto erstellen",disabled:n.processing,url:D.LINK.SIGNUP,icon:_n}],note:n.sevdesk.isConnected&&{children:e(a,{variant:"bodySm",children:"Der wichtigste Teil ist geschafft"}),icon:$},children:n.sevdesk.isConnected?e(c,{gap:"400",children:[!n.prefersReducedMotion&&e(Nn,{particleCount:500,width:1100,colors:["#3e3698","#534acc","#1f1b4c","#3e3799"],force:.4,zIndex:1e5,particleSize:4,duration:6e3,style:{position:"absolute",top:"50px",left:"50%"}}),e(U,{borderRadius:"300",borderColor:"border",borderWidth:"025",padding:"400",paddingBlock:"300",shadow:"200",children:e(c,{horizontal:!0,gap:"400",wrap:!1,blockAlign:"center",align:"space-between",children:[e(He,{size:"lg",customer:!0,source:Ze}),e(B,{flexGrow:"1",children:[e(c,{horizontal:!0,gap:"150",align:"start",children:[e("strong",{children:n.sevdesk.isConnected?n.sevdesk.platform:"sevdesk"}),e(K,{url:"sev:dash",monochrome:!0,external:!1,children:e(ye,{source:ke,offset:-1})})," ",((t=(b=(r=n.shop.sevdesk)==null?void 0:r.client)==null?void 0:b.company)==null?void 0:t.smallSettlement)&&e(_,{plain:!0,help:"Die Kleinunter
1nehmerregelung wurde in den sevdesk-Einstellungen aktiviert",children:e(K,{url:"help:taxes.small-settlement",children:e(M,{size:"small",tone:"attention",children:"Kleinunternehmer"})})}),n.breakpoints.dmUp&&n.sevdesk.version>0&&e(_,{flee:!0,help:"sevdesk-Konto-Version",children:e(M,{size:"small",tone:n.sevdesk.version===2?"success":"new",children:"v"+n.sevdesk.version})})]}),e(a,{tone:"subdued",variant:"bodySm",children:n.sevdesk.isConnected?`${n.sevdesk.client.name} verbunden`:"Nicht verbunden"})]}),e(Wn,{children:e(Q,{variant:"primary",tone:"critical",loading:n.processing,onClick:n.disconnect,children:"Trennen"})})]})}),e(B,{center:!0,width:"72%",margin:"0 auto",children:e(a,{variant:"bodySm",tone:"subdued",children:"In den nächsten Schritten werden wir deine Buchhaltung automatisieren, damit du dich auf dein Wachstum konzentrieren kannst."})}),e(_e,{open:n.sevdesk.isSharedConnection&&n.modal==="shared-connection",title:"Dieses sevdesk-Konto wurde bereits mit einem anderen Shop verbunden",secondaryActions:[{icon:ke,content:"Bestell-IDs bearbeiten",url:"shopify://admin/settings/general"},{disabled:!n.employee&&n.seconds>0,icon:n.seconds>0?$e:$,content:e(h,{children:["Einzigartigkeit bestätigen",n.seconds>0&&e(h,{children:[" (",n.seconds,")"]})]}),onAction:()=>n.setModal("")}],onClose:()=>n.seconds>0?null:n.setModal(""),children:e(_e.Section,{children:e(c,{gap:"200",children:[e(a,{children:["Zwar können mehrere Shops mit einem sevdesk-Konto verbunden werden, allerdings muss dazu sichergestellt werden, dass es ",e("strong",{children:e(_,{styled:!0,help:"Die Bestell-ID wird verwendet, um Belege mit Bestellungen zu verknüpfen. Bei doppelten Bestell-IDs im gleichen sevdesk-Konto können daher Fehler entstehen.",children:"niemals zu doppelten Bestell-IDs kommen kann"})}),"."]}),e(Vn,{title:"Einzigartige Bestell-IDs gewährleisten",tone:"warning",children:"Wähle für jeden deiner Shops unterschiedliche Bestell-ID Prä- oder Suffixe um zu gewährleisten, dass keine Bestell-IDs doppelt vorkommen können."})]})})})]}):e(c,{gap:"400",children:[e(a,{variant:"bodySm",tone:"subdued",alignment:"center",children:["Verbinde Shopify sicher mit deinem ",D.NAME,"-Konto"]}),e(U,{borderRadius:"300",borderColor:"border",borderWidth:"025",padding:"400",shadow:"200",children:e(c,{gap:"300",children:[e(c,{horizontal:!0,gap:"300",align:"space-between",blockAlign:"center",children:[e(c,{gap:"050",children:[e(a,{variant:"headingSm",children:"API-Token aus sevdesk kopieren"}),e(a,{variant:"bodySm",tone:"subdued",children:"Du findest den Token in den sevdesk-Integrationen."})]}),e(Q,{variant:"primary",icon:ke,url:Pn.url("integrations"),external:!0,children:"sevdesk öffnen"})]}),e(B,{marginY:.25,marginX:"-1rem",children:e(jn,{})}),e(Ve,{gap:"200",items:[{title:"Integrationen öffnen",description:e(h,{children:["Ãffne in sevdesk ",e(K,{url:"sev:integrations",external:!1,children:"Erweiterungen â Integrationen"}),"."]})},{title:"API-Token anzeigen",description:e(h,{children:["Klicke oben beim API-Token auf ",e("strong",{children:"Einblenden"})," und bestätige dein sevdesk-Passwort."]})},{title:"Token einfügen",description:"Kopiere den Token und füge ihn unten ein."}]})]})}),e(Zn,{autoComplete:"off",disabled:n.processing,value:n.apiTokenInput,autoFocus:!0,onChange:async s=>{n.setApiTokenInput(s),s.trim().length===32&&await i(s)},label:e(a,{as:"span",fontWeight:"semibold",children:"sevdesk API-Token"}),placeholder:"API-Token einfügen",clearButton:!0,onClearButtonClick:()=>n.setApiTokenInput(""),error:n.error})]})}}},{key:"trial",stepperStep:2,unlock:n=>!!n.sevdesk.isConnected&&n.done.includes("connect"),view:(n,o)=>{var t;const i=n.shop.plan.id.startsWith("free"),r=i&&!((t=n.shop)!=null&&t.setupCompletedAt),b=Math.max(0,z(n.shop.trialAt||z()).add(D.TRIAL+1,"days").diff(z(),"days"));return{header:"Erweiterte Funktionen freischalten",title:i?e(h,{children:"Aktiviere deine kostenlose Testphase ð"}):e(a,{alignment:"center",children:"Erweiterte Funktionen freigeschaltet! ð"}),note:i?{icon:Gn,children:"Monatlich kündbar"}
1:{icon:$,children:n.breakpoints.mdUp?"Zusätzliche Automatisierungen wurden freigeschaltet":"Inhalte freigeschaltet"},actions:i?[{children:r?"Jetzt nicht":"Rabatt verwerfen",icon:be,tone:"critical",variant:"tertiary",onClick:()=>o.next("trial")}]:[],action:{children:i?r?e(_,{help:e(h,{children:["Aktiviere die App und erhalte einen ",e(a,{as:"span",fontWeight:"semibold",children:"einmaligen Sonderrabatt über 50%"})]}),children:b?`Kostenlose Testphase ${n.shop.trialAt?"fortsetzen":"starten"}`:"App aktivieren"}):e(h,{children:"App aktivieren"}):"Weiter",icon:i?r?le:$:ae,onClick:()=>i?n.navigate("/plan/standard?coupon=CONNECTED&redirect=setup&budget=0"):o.next("trial")},children:i?e(h,{children:["Premium-Abonnements fügen der App ",e(K,{url:"/#pricing",external:!0,target:"_blank",children:"viele nützliche Funktionen"})," hinzu, die dir mühselige und teure Handarbeit abnehmen. Wenn du deine Testphase jetzt aktivierst, verdienst du dir einen ",e("strong",{children:"einmaligen Sonderrabatt über 50%"}),"!"]}):e(a,{alignment:"center",children:["Herzlichen Glückwunsch, du hast das ",e(M,{tone:n.plan.color,icon:qn,children:[n.plan.name,"-Abonnement"]})," aktiviert!"]})}}},{key:"vat",stepperStep:3,unlock:n=>n.done.includes("trial"),view:(n,o)=>{const i=zn.PLATFORMS.find(r=>r.id===n.platformId);return{header:"Steuerpflicht ermitteln",title:e(a,{alignment:"center",children:"Umsatzsteuerpflicht ermitteln"}),note:{children:"Du kannst dies später ändern",icon:Ge},children:e(c,{gap:"500",children:[e(a,{tone:"subdued",variant:"bodySm",alignment:"center",children:"Welche Aussage beschreibt deine umsatzsteuerlichen Pflichten am besten?"}),e(Kn,{isLive:!0,onChange:()=>n.setTaxConfirmed(!1),setValid:n.setTaxConfigured,platform:i,field:n.vatField})]}),action:{children:"Weiter",icon:ae,disabled:!n.vatField.value||!n.taxConfigured,onClick:()=>o.next("vat")},back:o.prev}}},{key:"tax-config",stepperStep:3,unlock:n=>!!n.sevdesk.isConnected&&n.done.includes("vat"),onStart:n=>{n.taxConfirmed||n.countdown.start(5)},view:(n,o)=>{var i,r;return{header:"Steuereinstellungen überprüfen",title:e(a,{alignment:"center",children:"Shop-Steuereinstellungen überprüfen"}),children:e(c,{gap:"500",children:[e(a,{alignment:"center",variant:"bodySm",tone:"subdued",children:n.vatField.value==="0"?"Prüfe in Shopify, ob die Steuererhebung deaktiviert ist":"Prüfe in Shopify, ob die Steuererhebung in beiden Bereichen aktiviert ist"}),e(c,{gap:"200",children:e(Fn,{vat:n.vatField.value!=="0",oss:n.vatField.value==="oss",vatNumber:(r=(i=n.shop.sevdesk.client)==null?void 0:i.company)==null?void 0:r.vatNumber,confirmed:n.taxConfirmed,onConfirm:n.setTaxConfirmed})})]}),action:{children:e(h,{children:["Steuereinstellungen geprüft",n.seconds>0&&e(h,{children:[" (",n.seconds,")"]})]}),icon:n.seconds>0?$e:qe,disabled:n.seconds>0||n.processing,loading:n.processing,onClick:async()=>{await n.saveTaxSettings()&&(n.setTaxConfirmed(!0),o.next("tax-config"),n.importLast60())}},back:o.prev,note:n.breakpoints.mdUp&&"Wichtige Einstellung"}}},{key:"transactions",stepperStep:4,unlock:n=>!!n.sevdesk.isConnected&&n.done.includes("tax-config"),view:(n,o)=>{var t;const i=(((t=n.shop.sevdesk)==null?void 0:t.accounts)||[]).filter(s=>!s.server),r=i.find(s=>s.name==="Shopify"&&s.type==="offline"),b=n.account==="new"||i.some(s=>String(s.id)===String(n.account));return{header:"Zahlungskonto wählen",title:e(a,{alignment:"center",children:"Zahlungen übertragen"}),actions:[{children:"Ãberspringen",onClick:()=>o.next("transactions"),icon:Yn,variant:"tertiary"}],action:{children:"Weiter",disabled:!b,loading:n.processing,icon:ae,onClick:async()=>{n.setProcessing(!0);let s=!1;try{const{account:u,accounts:m}=await T(`/api/shops/transaction/account/${n.account}?setup=1`,{result:"json",method:"POST"});if(n.setAccount(String(u)),n.setShop({sevdesk:{accounts:m,transaction:{account:u}}}),n.plan.features.paypal){let p=await T("/api/orders/paypal/transactions/import/init?setup=1",{result:"json",method:"POST"});if(s=p.setupPaypal,s){if(!await n.importLast60())return;if(p=await T("/api/orders/paypal/transactions/import/init?setup=1",{result:"json",method:"POST"}),!p.setupPaypal)throw new Error("PAYPAL_SETUP_CHANGED")}for(;s&&p.total;){const{imported:C}=await T("/api/orders/paypal/transactions/import",{result:"json",method:"POST"});if(p=await T("/api/orders/paypal/transactions/import/init?setup=1",{result:"json",method:"POST"}),!p.setupPaypal)throw new Error("PAYPAL_SETUP_CHANGED");if(p.total&&!C)throw new Error("PAYPAL_IMPORT_STALLED")}if(s){const{paypal:C}=await T("/api/orders/paypal/transactions/import/activate?setup=1",{result:"json",method:"POST"});n.setShop({sevdesk:{transaction:{gateway:{paypal:C}}}}),shopify.toast.show("PayPal-Integration wurde automatisch aktiviert")}}o.next("transactions")}catch{shopify.toast.show(s?"PayPal-Integration konnte nicht aktiviert werden. Bitte versuche es erneut.":"Zahlungskonto konnte nicht gespeichert werden. Bitte versuche es erneut.",{isError:!0})}finally{n.setProcessing(!1)}}},children:e(c,{gap:"500",children:[e(a,{tone:"subdued",variant:"bodySm",alignment:"center",children:"Wähle das sevdesk-Konto für deine Shopify-Zahlungen"}),e("fieldset",{className:"ChoiceGroup",children:[e("legend",{children:"sevdesk-Konto für Shopify-Zahlungen"}),e(c,{gap:"200",children:[e(a,{variant:"headingXs",alignment:"center",children:r?"Empfohlenes Konto":"Neues Konto"}),r?e(me,{name:"setup-payment-account",label:e(c,{horizontal:!0,gap:"200",align:"start",inlineAlign:"center",children:[e(a,{children:r.name}),e(M,{tone:"info",children:"Empfohlen"}),e(M,{tone:r.type==="online"?"attention":"",children:je(r.type)+"konto"})]}
1),description:e(h,{children:["Bestehendes Konto (",r.number,") verwenden"]}),value:String(r.id),checked:n.account===String(r.id),onChange:()=>n.setAccount(String(r.id))},r.id):e(me,{name:"setup-payment-account",label:e(c,{horizontal:!0,gap:"200",align:"start",inlineAlign:"center",children:[e(a,{children:"Shopify"}),e(M,{tone:"info",children:"Empfohlen"})]}),description:"Erstelle ein neues sevdesk-Konto für Shop-Zahlungen",value:"new",checked:n.account==="new",onChange:()=>n.setAccount("new")}),i.some(s=>s.id!==(r==null?void 0:r.id))&&e(a,{variant:"headingXs",alignment:"center",gap:2,children:r?"Andere Konten":"Bestehende Konten"}),i.filter(s=>s.id!==(r==null?void 0:r.id)).slice(0,n.visibleAccountsCount).map(s=>e(me,{name:"setup-payment-account",label:e(c,{horizontal:!0,gap:"200",align:"start",inlineAlign:"center",children:[e(a,{children:s.name}),s.isDefault&&e(M,{tone:"info",children:"Standard"}),e(M,{tone:s.type==="online"?"attention":"",children:je(s.type)+"konto"})]}),description:e(h,{children:["Bestehendes Konto (",s.number,") verwenden"]}),value:String(s.id),checked:n.account===String(s.id),onChange:()=>n.setAccount(String(s.id))},s.id)),i.length>(r?n.visibleAccountsCount+1:n.visibleAccountsCount)&&e(Q,{variant:"tertiary",onClick:()=>n.setVisibleAccountsCount(s=>s+3),children:"Mehr anzeigen"})]})]}),e(U,{tone:"secondary",borderRadius:"300",paddingBlock:"150",paddingInline:"300",children:e(a,{variant:"bodySm",tone:"subdued",children:["Zahlungen können auch für jede Shopify-Zahlungsmethode auf unterschiedliche sevdesk-Konten gebucht werden; ändere diese Einstellung jederzeit in den ",e(K,{url:"/settings/transactions?setup",children:"Zahlungseinstellungen"}),"."]})})]})}}},{key:"enable",stepperStep:5,unlock:n=>n.done.includes("transactions"),view:(n,o)=>{var t;const i=n.shop.plan.id.startsWith("free"),r=i&&!((t=n.shop)!=null&&t.setupCompletedAt),b=Math.max(0,z(n.shop.trialAt||z()).add(D.TRIAL+1,"days").diff(z(),"days"));return{header:"Automatisierung festlegen",title:e(a,{alignment:"center",children:"Automatische Belegerstellung"}),children:e(c,{gap:"500",children:[e(a,{alignment:"center",variant:"bodySm",tone:"subdued",children:"Lege fest, ob die App Belege für neue Bestellungen und Erstattungen automatisch erstellen soll."}),e(U,{tone:"secondary",borderRadius:"300",paddingBlock:"200",paddingInline:"400",shadow:"0",children:e(Ue,{disabled:n.processing,label:e(a,{fontWeight:"semibold",children:["Automatische ",n.breakpoints.mdUp?"Rechnungs- & Gutschrifterstellung":"Belegerstellung"," aktivieren"]}),helpText:"Erstellt Belege für neue Bestellungen und Erstattungen automatisch.",...Ln(n.enableField,!0)})})]}),note:e(h,{children:["Jederzeit in den ",e(K,{monochrome:!0,url:"/settings?setup",children:"Einstellungen"})," änderbar"]}),back:o.prev,actions:r?[{children:"Rabatt verwerfen",icon:be,variant:"tertiary",onClick:async()=>{await n.saveEnable(),o.next("enable")}}]:i?[{children:"Verwerfen",tone:"critical",icon:be,variant:"tertiary",onClick:async()=>{await n.saveEnable(),o.next("enable")}}]:[],action:{children:i?e(_,{help:e(h,{children:["Aktiviere die App und erhalte einen ",e(a,{as:"span",fontWeight:"semibold",children:"einmaligen Sonderrabatt über 50%"})," auf das Standard-Abonnement"]}),children:b?`Kostenlose Testphase ${n.shop.trialAt?"fortsetzen":"starten"}`:"App aktivieren"}):e(h,{children:"AbschlieÃen"}),icon:i?le:$,loading:n.processing,onClick:async()=>{if(await n.saveEnable(),i)return n.navigate("/plan/standard?coupon=CONNECTED&redirect=setup&budget=0");o.next("enable")}}}}},{key:"finish",stepperStep:6,unlock:n=>n.done.includes("enable"),view:(n,o)=>{var t;const i=n.shop.plan.id.startsWith("free"),r=i&&!((t=n.shop)!=null&&t.setupCompletedAt),b=Math.max(0,z(n.shop.trialAt||z()).add(D.TRIAL+1,"days").diff(z(),"days"));return{header:"Die nächsten Schritte",action:{children:i?r?e(_,{help:e(h,{children:["Aktiviere die App und erhalte einen ",e(a,{as:"span",fontWeight:"semibold",children:"einmaligen Sonderrabatt über 50%"})]}),children:b?`Kostenlose Testphase ${n.shop.trialAt?"fortsetzen":"starten"}`:"App aktivieren"}):e(h,{children:"App aktivieren"}):"Zur Ãbersicht",icon:i?r?le:$:Jn,onClick:()=>i?n.navigate("/plan/standard?coupon=CONNECTED&redirect=setup&budget=0"):n.navigate("/")},note:e(h,{children:["Führe die Einrichtung über die ",e(K,{monochrome:!0,url:"/settings",children:"Einstellungen"})," erneut aus"]}),children:[e(X.Section,{children:e(c,{gap:"500",children:[e(c,{gap:"200",inlineAlign:"center",children:[e(B,{
1className:"Icon-Large",margin:"0.5 0 0.75",children:e(ye,{source:qe,size:20})}),e(a,{variant:"headingLg",children:"Dein Shop ist bereit!"}),e(a,{tone:"subdued",variant:"bodySm",children:"Als Nächstes kannst duâ¦"})]}),e(wn,{items:[n.plan.id==="free"&&{tone:"green",icon:le,title:"Kostenlose Testphase starten",description:"Schalte Premium-Funktionen frei die dir teure und mühsame Handarbeit abnehmen",url:"/plan/standard?coupon=CONNECTED&redirect=setup&budget=0"},{tone:"blue",icon:Xn,title:"Bestellungsübersicht öffnen",description:"Erzeuge Belege für existierende Bestellungen â einzeln oder gebündelt",url:"/orders"},{tone:"yellow",icon:Qn,title:"Belegerstellung testen",description:"Prüfe die Belegerstellung indem du Testbestellungen erzeugst und deine Abläufe kontrollierst",url:"/help/setup/testing"},n.plan.id!=="free"&&{tone:"green",icon:xn,title:"Einstellungen bearbeiten",description:"Optimiere deine Abläufe, integriere Belege in den Shop und passe ihr Erscheinungsbild an",url:"/settings"},{tone:"pink",icon:Ge,title:"HelpDesk lesen",description:"Erfahre mehr über erweitere Funktionen wie z.B. Metafelder, Platzhalter und vieles mehr",url:"/help"}].filter(Boolean)})]})},"next-steps")]}}}]}function gt(){var De,Ke,Fe,Ne,Le,Me,Oe,Re,We;const n=Mn(),o=typeof window<"u"&&!!((De=window.matchMedia)!=null&&De.call(window,"(prefers-reduced-motion: reduce)").matches),i=fn(),r=vn(),b=kn(),{shop:t,setShop:s,plan:u,refetch:m}=mn(En),{sevdesk:p}=t,C=fe(!t.setupCompletedAt||!!((Ke=p.invoice)!=null&&Ke.create&&((Fe=p.credit)!=null&&Fe.create))),[R,N]=J("Setup:done",[]),[j,G]=J("Setup:shopKey",""),[l]=J("Visited",[]),[y,ce]=L(""),[q,x]=L(((Ne=t==null?void 0:t.sevdesk)==null?void 0:Ne.platformId)||"sevdesk.de"),[Z,we]=L(""),[Ye,ue]=L(null),Ae=bn(0),{seconds:Je}=Ae,Xe=fe(((Me=(Le=t==null?void 0:t.shopify)==null?void 0:Le.order)==null?void 0:Me.money)||"presentment"),W=fe(null),[Qe,ee]=L(!1),[xe,he]=J("Setup:taxConfirmed:all",!1),[en,I]=L(!1),[nn,tn]=L(""),[rn,sn]=L(3),V=de(null),on=A(async(d,w)=>{I(!0);try{await An(.5);const f=await T("/api/sevdesk/connect",{json:{platform:d,apiToken:w}}),{error:v,isConnected:E=!1,isSharedConnection:Y,platform:g,client:oe}=f;if(E)V.current=null,await s({sevdesk:{isConnected:E,isSharedConnection:Y,platform:g,client:oe,connectedAt:new Date().toISOString(),pulledAt:new Date().toISOString()}}),await m(),shopify.toast.show("Verbindung erfolgreich hergestellt"),ue(null);else{let k;switch(v){case"INVALID_TOKEN":k=["Ungültiger Token","Der API-Token ist ungültig. Bitte versuche es erneut."];break;case"INSUFFICIENT_PERMISSIONS":k=["Fehlende Benutzer-Berechtigungen",e(h,{children:["Der Benutzer dieses API-Token verfügt nicht über alle erforderlichen Berechtigungen. Verwende den API-Token eines ",e("strong",{children:"Administrators"})," und versuche es erneut."]})];break;default:k=["Verbindung konnte nicht hergestellt werden","Der API-Token konnte nicht validiert werden. Bitte versuche es erneut."];break}shopify.toast.show(k[0],{isError:!0}),ue(k[1])}return f}finally{I(!1)}},[s,ue,I,m]),an=A(async()=>{I(!0);try{const{isConnected:d=!1}=await T("/api/sevdesk/disconnect",{method:"POST"});s({sevdesk:{isConnected:d}}),shopify.toast.show("Verbindung getrennt")}finally{I(!1)}},[s,I]),ln=A(async()=>{I(!0);try{return await T("/api/shops/connect",{method:"post",json:{oss:W.value==="oss"}}),!0}catch{return shopify.toast.show("Steuereinstellungen konnten nicht gespeichert werden",{isError:!0}),!1}finally{I(!1)}},[W.value]),dn=A(()=>(V.current||(V.current=(async()=>{try{const d=await T("/api/orders/import",{method:"post"});return(d==null?void 0:d.affected)>0&&shopify.toast.show(`${d.affected} Bestellung${d.affected!==1?"en":""} importiert`),!0}catch{return V.current=null,shopify.toast.show("Bestellungen konnten nicht importiert werden",{isError:!0}),!1}})()),V.current),[]),cn=A(async()=>{I(!0);try{V.current&&await V.current;const{value:d}=C;await s(await T(`/api/shops/enable/${C.value}?setup=1`,{method:"POST"})),shopify.toast.show(`Belegerstellung ${d?"":"de"}aktiviert`)}finally{I(!1)}},[C]),un=A(d=>{N(w=>[...w,d].filter(Se))},[R]),hn=A(d=>{N(w=>w.filter(f=>f!==d))},[R]),pn=A((d,w)=>{N(f=>w?[...f,d].filter(Se):f.filter(v=>v!==d))},[R]);O(()=>{var w,f,v;const d=(v=(f=(w=t==null?void 0:t.sevdesk)==null?void 0:w.client)==null?void 0:f.company)==null?void 0:v.smallSettlement;W.value==="0"?ee(!!d):W.value==="1"||W.value==="oss"?ee(d===!1):ee(!1)},[W.value,(We=(Re=(Oe=t==null?void 0:t.sevdesk)==null?void 0:Oe.client)==null?void 0:Re.company)==null?void 0:We.smallSettlement]);const ne=F(()=>nt(),[]),pe={shop:t,plan:u,employee:t==null?void 0:t.employee,sevdesk:p,query:i,breakpoints:n,prefersReducedMotion:o,navigate:r,refetch:m,setShop:s,i18n:b,visited:l,done:R,setDone:un,unsetDone:hn,setDoneBool:pn,modal:y,setModal:ce,processing:en,setProcessing:I,error:Ye,platformId:q,setPlatformId:x,seconds:Je,apiTokenInput:Z,setApiTokenInput:we,connect:on,disconnect:an,account:nn,setAccount:tn,visibleAccountsCount:rn,setVisibleAccountsCount:sn,enableField:C,saveEnable:cn,countdown:Ae,orderMoneyField:Xe,vatField:W,taxConfigured:Qe,taxConfirmed:xe,setTaxConfirmed:he,setTaxConfigured:ee,saveTaxSettings:ln,importLast60:dn},{currentKey:P,currentIndex:te,unlockedKeys:Ce,go:ie,next:re,prev:Ie,hasPrev:Te}=et(ne,pe);O(()=>{P==="connect"&&p.isConnected&&!p.isSharedConnection&&re("connect")},[P,p.isConnected,p.isSharedConnection,re]);const se=A(()=>{N([]),he(!1),ie("welcome")},[N,he,ie]);O(()=>{i.get("reset")!==null&&(se(),r("/setup"))},[i,r,se]),O(()=>{const d=t==null?void 0:t._key;!d||j===d||((j||!(t!=null&&t.setupCompletedAt))&&se(),G(d))},[t==null?void 0:t._key,t==null?void 0:t.setupCompletedAt,j,se,G]);const S=F(()=>ne[Math.max(0,Math.min(te,ne.length-1))],[ne,te]),Be=F(()=>({key:(S==null?void 0:S.key)||"",unlockedKeys:Ce,currentKey:P,currentIndex:te,go:ie,next:re,prev:Ie,hasPrev:Te}),[S==null?void 0:S.key,Ce,P,te,ie,re,Ie,Te]),Ee=F(()=>{const d=S==null?void 0:S.view(pe,Be);return Cn(d)},[S,pe,Be]),H=Ee[0],Pe=de(null),ze=de(P);return O(()=>{var d;ze.current!==P&&(ze.current=P,(d=Pe.current)==null||d.focus({preventScroll:!0}))},[P]),e(Rn,{narrowWidth:!0,children:[e(Hn,{title:"Buchhaltung einrichten"}),e(Dn,{show:i.get("register")!==null,onChange:()=>r("/setup"),connect:()=>setTimeout(()=>r("/setup?connect"),100)}),e(B,{minHeight:"calc(100vh - 22rem)",children:e(ve,{children:[e(ve.Section,{children:[e(B,{marginY:"2.25 0",textAlign:"center",children:[e(a,{variant:"bodySm",tone
1:"subdued",children:D.TITLE}),e("h1",{ref:Pe,tabIndex:-1,style:{margin:".5rem 0 0"},children:e(a,{as:"span",variant:"headingLg",children:H==null?void 0:H.header})}),e(B,{margin:"2 0 1 0",children:e(yn,{tone:"secondary",progress:(S==null?void 0:S.stepperStep)??0,items:["Willkommen","Verbindung","Premium","Steuern","Einstellungen","Abschluss"]})})]}),e(B,{className:"animate-fadeInUp",children:e(c,{gap:"200",children:Ee.map((d,w)=>{if(!d||d.hidden)return;let{children:f,action:v,actions:E=[],footer:Y,note:g,back:oe}=d;return v&&(v={...v},v.variant=v.variant||"primary",E=[...E,v]),oe&&(E=[{onClick:oe,variant:"tertiary",children:"Zurück"},...E]),Array.isArray(f)||(f=[e(X.Section,{children:f})]),f=f.filter(Boolean).map((k,ge)=>In(k)?k:Tn(k)?e(X.Section,{...k},ge):k),e(X,{title:d.title,padding:!0,children:[f,(E.length>0||Y||g)&&e(X.Footer,{divider:!0,padding:["400","500","400","500"],children:e(c,{horizontal:!0,gap:"300",align:v!=null&&v.align||E.length===1?"center":"end",blockAlign:"center",children:[(Y||g)&&e(B,{flexGrow:1,color:"var(--p-color-text-secondary)",children:[Y,g&&e(c,{horizontal:!0,align:"start",gap:"150",children:[(g==null?void 0:g.icon)!==!1&&e(ye,{source:(g==null?void 0:g.icon)||Un,offset:(g==null?void 0:g.offset)??-1}),e(a,{variant:"bodySm",children:(g==null?void 0:g.children)||g})]})]}),E.filter(Boolean).map((k,ge)=>{const gn=(k==null?void 0:k.Tag)||Q;return e(gn,{...k},ge)})]})})]},w)})})},P)]}),e(ve.Section,{children:e(On,{children:e(a,{gap:-4,style:{opacity:.65},variant:"bodyXs",tone:"subdued",children:(H==null?void 0:H.footer)||e(h,{children:["App by ",e(K,{url:"/help/apps",monochrome:!0,children:Bn.BRAND}),"®"]})})})})]})})]})}export{gt as default};
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.