PageSourceSearch

https://creators.withwilla.io/assets/Index-rg9QT8Kg.js

js withwilla.io collected 2026-10-02 02:00:53 UTC 26,017 bytes, 2 lines download raw bytes

1import{r as h,R as ae,w as ce,u as le,j as e}from"./chunk-QFMPRPBF-BqID9nf9.js";import{u as de,T}from"./TopNav-D_e40-z3.js";import{c as ue,e as pe,a as fe,d as xe,b as he}from"./stripeService-BAMyoino.js";import{g as me}from"./creatorService-Cror-BVm.js";import{B as r,C as z,T as a,S as ye}from"./config-BS7gYU0v.js";import{b as _,o as ge,v as A,s as E,d as be,w as H,x as M,q as $,y as Ce,e as Se}from"./index-yZoykLQI.js";import{B as j}from"./Button-83Cjx3i_.js";import{S as je}from"./Select-D1g4qqBY.js";import{M as ve}from"./MenuItem-Df84kqc5.js";import"./apiClient-lZCs2piS.js";import"./webAuth-Dhh8tiFq.js";import"./DefaultPropsProvider-bMj0XTNT.js";import"./Menu-CYjPK9nz.js";import"./index-D3KgmlMq.js";import"./Paper-rLZjuGwm.js";import"./index-Ge6gERAz.js";import"./useControlled-DGAZal0c.js";function we(t,n){var o=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(o!=null){var c,l,f,d,u=[],s=!0,S=!1;try{if(f=(o=o.call(t)).next,n!==0)for(;!(s=(c=f.call(o)).done)&&(u.push(c.value),u.length!==n);s=!0);}catch(g){S=!0,l=g}finally{try{if(!s&&o.return!=null&&(d=o.return(),Object(d)!==d))return}finally{if(S)throw l}}return u}}function ke(t,n){return Oe(t)||we(t,n)||Ie(t,n)||Te()}function Oe(t){if(Array.isArray(t))return t}function Ie(t,n){if(t){if(typeof t=="string")return q(t,n);var o=Object.prototype.toString.call(t).slice(8,-1);if(o==="Object"&&t.constructor&&(o=t.constructor.name),o==="Map"||o==="Set")return Array.from(t);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return q(t,n)}}function q(t,n){(n==null||n>t.length)&&(n=t.length);for(var o=0,c=new Array(n);o<n;o++)c[o]=t[o];return c}function Te(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var U=h.createContext(null);U.displayName="ConnectComponents";var B=function(n){var o=n.connectInstance,c=n.children;return h.createElement(U.Provider,{value:{connectInstance:o}},c)},ze=function(){var n=h.useContext(U);if(!n)throw new Error("Could not find Components context; You need to wrap the part of your app in an <ConnectComponentsProvider> provider.");return n},V=function(n){var o=h.useState(null),c=ke(o,2),l=c[0],f=c[1],d=ze(),u=d.connectInstance,s=h.useRef(null),S=h.createElement("div",{style:{width:"100%"},"data-stripe-connect-js-wrapper":!0,ref:s});return h.useLayoutEffect(function(){if(s.current!==null&&l===null){var g=u.create(n);if(f(g),g!==null){try{g.setAttribute("reactSdkAnalytics","3.3.34")}catch(y){console.log("Error setting React Sdk version with error message: ",y)}for(;s.current.firstChild;)s.current.removeChild(s.current.firstChild);s.current.appendChild(g)}}},[u,n]),{wrapper:S,component:l}},C=function(n,o,c){ae.useEffect(function(){if(n)try{c(n,o)}catch(l){console.error("Error when calling setter! ",l);return}},[n,o,c])},Ee=function(n){var o=n.onLoadError,c=n.onLoaderStart,l=V("payouts"),f=l.wrapper,d=l.component;return C(d,c,function(u,s){u.setOnLoaderStart(s)}),C(d,o,function(u,s){u.setOnLoadError(s)}),f},Re=function(n){var o=n.onExit,c=n.recipientTermsOfServiceUrl,l=n.fullTermsOfServiceUrl,f=n.privacyPolicyUrl,d=n.skipTermsOfServiceCollection,u=n.collectionOptions,s=n.onLoadError,S=n.onLoaderStart,g=n.onStepChange,y=V("account-onboarding"),v=y.wrapper,m=y.component;return C(m,c,function(x,p){return x.setRecipientTermsOfServiceUrl(p)}),C(m,l,function(x,p){return x.setFullTermsOfServiceUrl(p)}),C(m,f,function(x,p){return x.setPrivacyPolicyUrl(p)}),C(m,d,function(x,p){return x.setSkipTermsOfServiceCollection(p)}),C(m,u,function(x,p){return x.setCollectionOptions(p)}),C(m,o,function(x,p){return x.setOnExit(p)}),C(m,S,function(x,p){x.setOnLoaderStart(p)}),C(m,s,function(x,p){x.setOnLoadError(p)}),C(m,g,function(x,p){return x.setOnStepChange(p)}),v},K;(function(t){t.exit="exit",t.close="close",t.instantPayoutCreated="instantpayoutcreated"})(K||(K={}));const Pe={setOnLoadError:t=>{},setOnLoaderStart:t=>{}},G={"account-onboarding":{setFullTermsOfServiceUrl:t=>{},setRecipientTermsOfServiceUrl:t=>{},setPrivacyPolicyUrl:t=>{},setSkipTermsOfServiceCollection:t=>{},setCollectionOptions:t=>{},setOnExit:t=>{},setOnStepChange:t=>{}},"account-management":{setCollectionOptions:t=>{}}
2,"notification-banner":{setCollectionOptions:t=>{},setOnNotificationsChange:t=>{}},"instant-payouts-promotion":{setOnInstantPayoutsPromotionLoaded:t=>{},setOnInstantPayoutCreated:t=>{}},"issuing-card":{setDefaultCard:t=>{},setCardSwitching:t=>{},setFetchEphemeralKey:t=>{},setShowSpendControls:t=>{}},"issuing-cards-list":{setFetchEphemeralKey:t=>{},setShowSpendControls:t=>{},setIssuingProgram:t=>{}},"financial-account":{setFinancialAccount:t=>{}},"financial-account-transactions":{setFinancialAccount:t=>{}},payments:{setDefaultFilters:t=>{}},"payment-details":{setPayment:t=>{},setOnClose:t=>{}},"payment-disputes":{setPayment:t=>{},setOnDisputesLoaded:t=>{}},"tax-settings":{setHideProductTaxCodeSelector:t=>{},setDisplayHeadOfficeCountries:t=>{},setOnTaxSettingsUpdated:t=>{}},"tax-registrations":{setOnAfterTaxRegistrationAdded:t=>{},setDisplayCountries:t=>{},setOnAfterTaxRegistrationExpired:t=>{}},"payout-details":{setPayout:t=>{},setOnClose:t=>{}}},We={"account-onboarding":"stripe-connect-account-onboarding","disputes-list":"stripe-connect-disputes-list",payments:"stripe-connect-payments","payment-details":"stripe-connect-payment-details","payment-disputes":"stripe-connect-payment-disputes",payouts:"stripe-connect-payouts","payouts-list":"stripe-connect-payouts-list","payout-details":"stripe-connect-payout-details",balances:"stripe-connect-balances","account-management":"stripe-connect-account-management","notification-banner":"stripe-connect-notification-banner","instant-payouts-promotion":"stripe-connect-instant-payouts-promotion","issuing-card":"stripe-connect-issuing-card","issuing-cards-list":"stripe-connect-issuing-cards-list","financial-account":"stripe-connect-financial-account","financial-account-transactions":"stripe-connect-financial-account-transactions",documents:"stripe-connect-documents","tax-registrations":"stripe-connect-tax-registrations","tax-settings":"stripe-connect-tax-settings"},Y="loadConnect was called but an existing Connect.js script already exists in the document; existing script parameters will be used",_e="https://connect-js.stripe.com/v0.1/connect.js",X="https://connect-js.stripe.com/v1.0/connect.js",Ae=()=>document.querySelectorAll(`script[src="${X}"]`)[0]||document.querySelectorAll(`script[src="${_e}"]`)[0]||null,Ue=()=>{const t=document.createElement("script");if(t.src=X,!document.head)throw new Error("Expected document.head not to be null. Connect.js requires a <head> element.");return document.head.appendChild(t),t};let R=null;const N=t=>!!(t&&typeof t=="object"&&"init"in t&&typeof t.init=="function"),Le=()=>(R!==null||(R=new Promise((t,n)=>{if(typeof window>"u"){n("ConnectJS won't load when rendering code in the server - it can only be loaded on a browser. This error is expected when loading ConnectJS in SSR environments, like NextJS. It will have no impact in the UI, however if you wish to avoid it, you can switch to the `pure` version of the connect.js loader: https://github.com/stripe/connect-js#importing-loadconnect-without-side-effects.");return}if(N(window.StripeConnect)){console.warn(Y);const o=J(window.StripeConnect);t(o);return}try{let o=Ae();o?console.warn(Y):o||(o=Ue()),o.addEventListener("load",()=>{if(N(window.StripeConnect)){const c=J(window.StripeConnect);t(c)}else n(new Error("Connect.js did not load the necessary objects"))}),o.addEventListener("error",()=>{n(new Error("Failed to load Connect.js"))})}catch(o){n(o)}})),R),Fe=t=>t in G,De=(t,n)=>{var o;const c=(()=>{try{return n.fetchClientSecret()}catch(d){return Promise.reject(d)}})(),l=(o=n.metaOptions)!==null&&o!==void 0?o:{},f=t.then(d=>d.initialize(Object.assign(Object.assign({},n),{metaOptions:Object.assign(Object.assign({},l),{eagerClientSecretPromise:c})})));return{create:d=>{let u=We[d];u||(u=d);const s=document.createElement(u),S=Fe(d)?G[d]:{},g=Object.assign(Object.assign({},S),Pe);for(const y in g)s[y]=function(v){f.then(()=>{if(!this[`${y}InternalOnly`])throw new Error(`Method ${y} is not available in the ${d} HTML element. Are you using a supported version of the "@stripe/connect-js" package? Using version: 3.3.35`);this[`${y}InternalOnly`](v)})};return f.then(y=>{if(!s.isConnected&&!s.setConnector){const v=s.style.display;s.style.display="none",document.body.appendChild(s),document.body.removeChild(s),s.style.display=v}if(!s||!s.setConnector)throw new Error(`Element ${d} was not transformed into a custom element. Are you using a documented component? See https://docs.stripe.com/connect/supported-embedded-components for a list of supported components`);s.setConnector(y.connect)}),s},update:d=>{f.then(u=>{u.update(d)})},debugInstance:()=>f,logout:()=>f.then(d=>d.logout())}},J=t=>(window.StripeConnect=window.StripeConnect||{},window.StripeConnect.optimizedLoading=!0,{initialize:o=>{var c;const l=(c=o.metaOptions)!==null&&c!==void 0?c:{};return t.init(Object.assign(Object.assign({},o),{metaOptions:Object.assign(Object.assign({},l),{sdk:!0,sdkOptions:{sdkVersion:"3.3.35"}})}))}}),Z=Promise.resolve().then(()=>Le());let Q=!1;Z.catch(t=>{Q||console.warn(t)});const He=t=>(Q=!0,De(Z,t)),b="#4361ee",ee=[{code:"US",flag:"🇺🇸",name:"United States"},{code:"CA",flag:"🇨🇦",name:"Canada"}];function O(t){const n=ee.find(o=>o.code===(t||"").toUpperCase());return n?{flag:n.flag,name:n.name}:{flag:"🇺🇸",name:"United States"}}const ot=ce(function(){const n=le(),{refresh:o}=de(),[c,l]=h.useState("loading"),[f,d]=h.useState(!1),[u,s]=h.useState(null),[S,g]=h.useState(!1),[y,v]=h.useState(!1),[m,x]=h.useState("US"),[p,P]=h.useState(null),[W,L]=h.useState(!1),[F,D]=h.useState(null),w=()=>He({publishableKey:ye,fetchClientSecret:async()=>{const{clientSecret:i}=await he();return i},appearance:{variables:{colorPrimary:b,fontFamily:"Inter, sans-serif",borderRadius:"12px",colorBackgroun
2d:"#ffffff",spacingUnit:"12px",fontSizeBase:"15px"}}}),te=()=>{if(!u){const i=w();return s(i),i}return u};h.useEffect(()=>{let i=!1;return me().then(async k=>{if(!i){if(!k?.stripeAccountId){l("country-gate");return}try{const I=await ue();if(i)return;I.country&&P(I.country),I.requirementsDue?(d(!0),s(w()),l("onboarding")):I.complete?l("complete"):(s(w()),l("onboarding"))}catch{s(w()),l("onboarding")}}}).catch(()=>{i||(s(w()),l("onboarding"))}),()=>{i=!0}},[]);const ne=async()=>{D(null),L(!0);try{await pe({country:m}),P(m),s(w()),l("onboarding")}catch(i){console.error("Failed to create Stripe account:",i),D("Couldn't create your payout account. Please try again.")}finally{L(!1)}},re=async()=>{try{const i=await fe();if(await o(),i.complete&&!i.requirementsDue){l("complete");return}}catch{}l("complete")},oe=()=>{te(),l("payouts")},se=async()=>{v(!0);try{await xe(),s(null),g(!1),P(null),x("US"),d(!1),l("country-gate")}catch(i){console.error("Failed to remove payout account:",i)}finally{v(!1)}};if(c==="loading")return e.jsxs(e.Fragment,{children:[e.jsx(T,{title:"Payout Setup"}),e.jsx(r,{sx:{display:"flex",justifyContent:"center",alignItems:"center",py:16},children:e.jsx(z,{sx:{color:b}})})]});if(c==="complete")return e.jsxs(e.Fragment,{children:[e.jsx(T,{title:"Payout Setup"}),e.jsx(r,{sx:{px:{xs:2,md:4},py:4},children:e.jsx(j,{startIcon:e.jsx(_,{size:14}),onClick:()=>n("/dashboard/earnings"),sx:{textTransform:"none",color:"#94a3b8",fontWeight:500,fontSize:"0.8125rem",mb:0,px:0,"&:hover":{backgroundColor:"transparent",color:"#4a4a4a"}},children:"Back to Earnings"})}),e.jsx(r,{sx:{px:{xs:2,md:6},pt:0,pb:4,maxWidth:1120,mx:"auto"},children:e.jsxs(r,{sx:{display:"flex",gap:{xs:3,lg:5},flexDirection:{xs:"column",lg:"row"},alignItems:"flex-start"},children:[e.jsxs(r,{sx:{flex:2,display:"flex",flexDirection:"column",gap:4},children:[e.jsxs(r,{sx:{backgroundColor:"#fff",border:"1px solid #e2e8f0",borderRadius:3,px:{xs:3,md:5},py:{xs:2.5,md:3.5},display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:2},children:[e.jsxs(r,{sx:{display:"flex",alignItems:"center",gap:3},children:[e.jsx(r,{sx:{width:56,height:56,borderRadius:3,backgroundColor:"rgba(34,197,94,0.08)",display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(ge,{size:28,color:"#22c55e"})}),e.jsxs(r,{children:[e.jsx(a,{sx:{fontSize:"1.125rem",fontWeight:700,color:"#020617"},children:"Stripe account connected"}),e.jsx(a,{sx:{fontSize:"0.875rem",color:"#64748b",mt:.5},children:"Payouts are enabled and ready"})]})]}),e.jsx(j,{onClick:oe,sx:{backgroundColor:"#f1f5f9",color:"#020617",textTransform:"none",fontWeight:700,fontSize:"0.875rem",px:3.5,py:1.25,borderRadius:2,"&:hover":{backgroundColor:"#e2e8f0"}},children:"Manage bank account"})]}),e.jsx(r,{sx:{backgroundColor:"#f8fafc",borderRadius:3,px:{xs:3,md:5},py:4},children:e.jsxs(r,{sx:{display:"flex",gap:3},children:[e.jsx(r,{sx:{width:56,height:56,borderRadius:3,backgroundColor:`${b}10`,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:e.jsx(A,{size:26,color:b})}),e.jsxs(r,{children:[e.jsx(a,{sx:{fontSize:"1.125rem",fontWeight:700,color:"#020617",mb:1.5},children:"Our Partnership with Stripe"}),e.jsx(a,{sx:{fontSize:"0.9375rem",color:"#64748b",lineHeight:1.7,mb:2.5},children:"We partner with Stripe for secure, industry-standard payments. This collaboration ensures your financial data is handled with the highest level of security."}),e.jsxs(r,{sx:{backgroundColor:"#fff",borderRadius:2,border:"1px solid #e2e8f0",px:2.5,py:2,display:"flex",alignItems:"center",gap:1.5},children:[e.jsx(E,{size:15,color:"#94a3b8"}),e.jsx(a,{sx:{fontSize:"0.8125rem",color:"#94a3b8"},children:"Willa never sees or stores sensitive banking data. All information is encrypted directly with Stripe."})]})]})]})}),e.jsxs(r,{sx:{backgroundColor:"#fff",border:"1px solid #e2e8f0",borderRadius:3,overflow:"hidden"},children:[e.jsx(r,{sx:{px:{xs:3,md:5},py:2.5,backgroundColor:"#f8fafc",borderBottom:"1px solid #e2e8f0"},children:e.jsx(a,{sx:{fontSize:"0.75rem",fontWeight:800,textTransform:"uppercase",letterSpacing:"0.08em",color:"#64748b"},children:"Payout Schedule"})}),e.jsx(r,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr 1fr"}}
2,children:[{label:"Cycle",value:"Monthly",detail:"Processed on the 1st"},{label:"Threshold",value:"$10.00",detail:"Minimum per payout"},{label:"Method",value:"Direct Deposit",detail:"1-3 business days"}].map((i,k)=>e.jsxs(r,{sx:{px:{xs:3,md:5},py:3,borderRight:{sm:k<2?"1px solid #e2e8f0":"none"},borderBottom:{xs:k<2?"1px solid #e2e8f0":"none",sm:"none"}},children:[e.jsx(a,{sx:{fontSize:"0.6875rem",fontWeight:800,textTransform:"uppercase",letterSpacing:"0.05em",color:"#94a3b8",mb:1},children:i.label}),e.jsx(a,{sx:{fontSize:"1.125rem",fontWeight:700,color:"#020617"},children:i.value}),e.jsx(a,{sx:{fontSize:"0.8125rem",color:"#94a3b8",mt:.5},children:i.detail})]},i.label))}),e.jsxs(r,{sx:{px:{xs:3,md:5},py:2.5,backgroundColor:"#f8fafc",borderTop:"1px solid #e2e8f0",display:"flex",gap:2},children:[e.jsx(be,{size:18,color:b,style:{flexShrink:0,marginTop:2}}),e.jsxs(a,{sx:{fontSize:"0.875rem",color:"#64748b",lineHeight:1.6},children:[e.jsx("strong",{children:"Carry-forward Policy:"})," If your earnings are below the $10 threshold at the end of the month, the balance will automatically roll over to the next month's payout cycle."]})]})]})]}),e.jsxs(r,{sx:{flex:1,display:"flex",flexDirection:"column",gap:4,minWidth:{lg:320}},children:[e.jsxs(r,{sx:{backgroundColor:"#f8fafc",borderLeft:`3px solid ${b}`,borderRadius:"0 12px 12px 0",px:3.5,py:3.5},children:[e.jsxs(r,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:2},children:[e.jsx(H,{size:18,color:b}),e.jsx(a,{sx:{fontSize:"0.75rem",fontWeight:800,textTransform:"uppercase",letterSpacing:"0.08em",color:"#020617"},children:"Tax Information"})]}),e.jsxs(a,{sx:{fontSize:"0.9375rem",color:"#64748b",lineHeight:1.65},children:["Stripe handles all ",e.jsx("strong",{children:"1099-NEC"})," issuance for creators earning over ",e.jsx("strong",{children:"$600"})," in a calendar year."]})]}),e.jsxs(r,{sx:{backgroundColor:"#0f172a",borderRadius:3,px:3.5,py:4,position:"relative",overflow:"hidden"},children:[e.jsx(r,{sx:{position:"absolute",inset:0,opacity:.08,background:`linear-gradient(135deg, ${b}, transparent)`}}),e.jsx(a,{sx:{fontSize:"1.125rem",fontWeight:700,color:"#fff",mb:1.5,position:"relative"},children:"Need help?"}),e.jsx(a,{sx:{fontSize:"0.9375rem",color:"#94a3b8",lineHeight:1.65,mb:3,position:"relative"},children:"If you're having trouble with your account or have questions about payments, our support team is here to help."}),e.jsx(j,{fullWidth:!0,href:"https://discord.gg/hs8w9aKJZf",target:"_blank",rel:"noopener noreferrer",sx:{backgroundColor:"#fff",color:"#0f172a",textTransform:"none",fontWeight:700,fontSize:"0.9375rem",py:1.5,borderRadius:2,position:"relative","&:hover":{backgroundColor:"#f1f5f9"}},children:"Contact Support"})]})]})]})})]});if(c==="payouts")return e.jsxs(e.Fragment,{children:[e.jsx(T,{title:"Payout Setup"}),e.jsxs(r,{sx:{px:{xs:2,md:4},py:4},children:[e.jsx(j,{startIcon:e.jsx(_,{size:14}),onClick:()=>l("complete"),sx:{textTransform:"none",color:"#94a3b8",fontWeight:500,fontSize:"0.8125rem",mb:3,px:0,"&:hover":{backgroundColor:"transparent",color:"#4a4a4a"}},children:"Back"}),e.jsxs(r,{sx:{maxWidth:600,mx:"auto"},children:[e.jsx(a,{sx:{fontSize:"1.25rem",fontWeight:700,color:"#020617",mb:.5},children:"Manage bank account"}),e.jsx(a,{sx:{fontSize:"0.875rem",color:"#64748b",lineHeight:1.6,mb:3},children:"View or update your payout method. Changes are handled securely by Stripe."}),e.jsxs(r,{sx:{backgroundColor:"#fff",border:"1px solid #e2e8f0",borderRadius:4,overflow:"hidden"},children:[e.jsx(r,{sx:{px:{xs:3,md:4},py:3},children:u?e.jsx(B,{connectInstance:u,children:e.jsx(Ee,{})}):e.jsx(r,{sx:{display:"flex",justifyContent:"center",py:6},children:e.jsx(z,{sx:{color:b}})})}),S?e.jsxs(r,{sx:{px:{xs:3,md:4},py:2.5,borderTop:"1px solid #f1f5f9",backgroundColor:"#fef2f2"},children:[e.jsx(a,{sx:{fontSize:"0.875rem",fontWeight:600,color:"#991b1b",mb:.5},children:"Are you sure?"}),e.jsx(a,{sx:{fontSize:"0.8125rem",color:"#b91c1c",lineHeight:1.6,mb:2},children:"This will disconnect your bank account from Willa. You can reconnect a new account at any time."}),e.jsxs(r,{sx:{display:"flex",gap:1.5},children:[e.jsx(j,{variant:"contained",disableElevation:!0,disabled:y,onClick:se,sx:{textTransform:"none",fontWeight:600,fontSize:"0.8125rem",borderRadius:50,px:3,backgroundColor:"#ef4444","&:hover":{backgroundColor:"#dc2626"}},children:y?"Removing…":"Yes, remove"}),e.jsx(j,{disabled:y,onClick:()=>g(!1),sx:{textTransform:"none",fontWeight:600,fontSize:"0.8125rem",borderRadius:50,px:3,color:"#64748b","&:hover":{backgroundColor:"#f1f5f9"}},children:"Cancel"})]})]}):e.jsx(r,{sx:{px:{xs:3,md:4},py:1.5,borderTop:"1px solid #f1f5f9",backgroundColor:"#fafbfc",display:"flex",justifyContent:"center"},children:e.jsx(j,{onClick:()=>g(!0),sx:{textTransform:"none",color:"#ef4444",fontWeight:500,fontSize:"0.8125rem",width:"100%","&:hover":{backgroundColor:"transparent",opacity:.8}},children:"Remove payout account"})}),e.jsxs(r,{sx:{px:{xs:3,md:4},py:2,borderTop:"1px solid #f1f5f9",backgroundColor:"#fafbfc",display:"flex",alignItems:"center",gap:1},children:[e.jsx(E,{size:12,color:"#94a3b8"}),e.jsx(a,{sx:{fontSize:"0.75rem",color:"#94a3b8"},children:"Secured by Stripe. Willa never sees your bank details."})]})]})]})]})]});const ie=f?[{icon:M,title:"Additional information needed",text:"Str
2ipe requires additional verification as your account grows. Complete the requirements below to keep payouts enabled."},{icon:A,title:"Why this is needed",text:"Stripe is required by law to collect additional identity information at certain volume thresholds. This is standard for all payment platforms."},{icon:$,title:"Your payouts",text:"Complete the outstanding requirements to ensure uninterrupted payouts. Payouts may be paused until verification is complete."}]:[{icon:$,title:"How payouts work",text:"Payouts are processed on the 1st of each month. Once your credited sign-ups hit the payout threshold, earnings are transferred directly to your bank account."},{icon:A,title:"Identity verification",text:"Stripe is required by law to verify your identity before enabling payouts. This is standard for all payment platforms and keeps your account secure."},{icon:H,title:"Tax compliance",text:"If your annual earnings exceed $600, Stripe will issue a 1099 form. The personal details you provide here are used for tax reporting — not shared with Willa."},{icon:Ce,title:"About the website field",text:"Stripe asks about a website for compliance purposes. This is pre-filled with withwilla.io — you don't need to have your own website."}];return e.jsxs(e.Fragment,{children:[e.jsx(T,{title:"Payout Setup"}),e.jsxs(r,{sx:{px:{xs:2,md:4},py:4},children:[e.jsx(j,{startIcon:e.jsx(_,{size:14}),onClick:()=>n("/dashboard/earnings"),sx:{textTransform:"none",color:"#94a3b8",fontWeight:500,fontSize:"0.8125rem",mb:3,px:0,"&:hover":{backgroundColor:"transparent",color:"#4a4a4a"}},children:"Back to Earnings"}),e.jsxs(r,{sx:{display:"flex",gap:{xs:3,lg:5},flexDirection:{xs:"column",lg:"row"},alignItems:"flex-start",justifyContent:"center",maxWidth:1e3,mx:"auto"},children:[e.jsxs(r,{sx:{width:{xs:"100%",lg:384},flexShrink:0},children:[e.jsx(a,{sx:{fontSize:"1.25rem",fontWeight:700,color:"#020617",mb:.5},children:f?"Action required":"Set up payouts"}),e.jsx(a,{sx:{fontSize:"0.875rem",color:"#64748b",lineHeight:1.6,mb:3},children:f?"Stripe needs additional information to keep your payouts active. Complete the requirements below.":"Connect your bank account to receive your earnings. Your information is encrypted and handled entirely by Stripe."}),e.jsx(r,{sx:{display:"flex",flexDirection:"column",gap:2.5},children:ie.map(i=>{const k=i.icon;return e.jsxs(r,{sx:{display:"flex",gap:1.5},children:[e.jsx(r,{sx:{width:32,height:32,borderRadius:2,backgroundColor:"#f1f5f9",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,mt:.25},children:e.jsx(k,{size:15,color:f?"#f59e0b":"#64748b"})}),e.jsxs(r,{children:[e.jsx(a,{sx:{fontSize:"0.8125rem",fontWeight:600,color:"#020617",mb:.25},children:i.title}),e.jsx(a,{sx:{fontSize:"0.8125rem",color:"#64748b",lineHeight:1.55},children:i.text})]})]},i.title)})})]}),e.jsx(r,{sx:{flex:1,minWidth:0,maxWidth:560},children:e.jsxs(r,{sx:{backgroundColor:"#fff",border:"1px solid #e2e8f0",borderRadius:4,overflow:"hidden"},children:[c==="country-gate"?e.jsxs(r,{sx:{px:{xs:3,md:4},py:3},children:[e.jsxs(r,{sx:{display:"flex",alignItems:"center",gap:1.5,p:1.5,mb:2.5,backgroundColor:"#fcfcfd",border:"1px solid #e7e8ec",borderRadius:2},children:[e.jsx(a,{sx:{fontSize:"0.75rem",fontWeight:600,color:"#4b5563",whiteSpace:"nowrap"},children:"Country"}),e.jsx(je,{value:m,onChange:i=>x(i.target.value),disabled:W,size:"small",sx:{flex:1,maxWidth:260,backgroundColor:"#fff","& .MuiSelect-select":{py:.75,fontSize:"0.875rem"}},children:ee.map(i=>e.jsxs(ve,{value:i.code,children:[e.jsx("span",{style:{marginRight:8},children:i.flag}),i.name]},i.code))})]}),e.jsxs(r,{sx:{border:"1px dashed #d9dbe0",borderRadius:2,px:2.5,py:4,display:"flex",flexDirection:"column",alignItems:"center",gap:1.25,textAlign:"center",backgroundColor:"#fafbfc"},children:[e.jsx(a,{sx:{fontSize:"0.9375rem",fontWeight:600,color:"#4b5563"},children:"Confirm your country to continue"}),e.jsxs(a,{sx:{fontSize:"0.8125rem",color:"#8a8f99",maxWidth:320,lineHeight:1.5},children:["We'll set up your Stripe account for ",e.jsx("b",{children:O(m).name}),". This makes sure the right bank options show up."]}),F&&e.jsxs(r,{sx:{mt:1,width:"100%",maxWidth:320,display:"flex",alignItems:"center",gap:1,px:1.5,py:1,borderRadius:1.5,backgroundColor:"#fdecec",border:"1px solid #f5c2c3"},children:[e.jsx(M,{size:14,color:"#8a1c20"}),e.jsx(a,{sx:{fontSize:"0.75rem",color:"#8a1c20",textAlign:"left"},children:F})]}),e.jsx(j,{variant:"contained",disableElevation:!0,disabled:W,onClick:ne,sx:{mt:.5,minWidth:260,borderRadius:2,backgroundColor:b,textTransform:"none",fontWeight:600,py:1.25,"&:hover":{backgroundColor:"#3a0ca3"},"&.Mui-disabled":{backgroundColor:"#c9cfff",color:"#fff"}},children:W?e.jsx(z,{size:18,sx:{color:"#fff"}}):e.jsxs(e.Fragment,{children:["Continue with ",O(m).flag," ",O(m).name]})})]})]}):e.jsxs(r,{sx:{px:{xs:3,md:4},py:3},children:[e.jsxs(r,{sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1.25,mb:2,borderRadius:1.5,backgroundColor:"#e8f7ef",border:"1px solid #c8ebd6"},children:[e.jsx(Se,{size:14,color:"#0b6b45",style:{flexShrink:0}}),e.jsxs(a,{sx:{fontSize:"0.75rem",color:"#0b6b45",lineHeight:1.5},children:["Stripe account created for ",e.jsx("b",{children:O(p).name}
2),". Reach out to support if this isn't right."]})]}),e.jsxs(r,{sx:{display:"flex",alignItems:"center",gap:1.5,p:1.5,mb:2,backgroundColor:"#fcfcfd",border:"1px solid #e7e8ec",borderRadius:2},children:[e.jsx(a,{sx:{fontSize:"0.75rem",fontWeight:600,color:"#4b5563",whiteSpace:"nowrap"},children:"Country"}),e.jsxs(r,{sx:{flex:1,maxWidth:260,height:36,px:1.5,borderRadius:1.5,border:"1px solid #e7e8ec",backgroundColor:"#f4f5f7",display:"flex",alignItems:"center",gap:1,color:"#4b5563"},children:[e.jsx("span",{children:O(p).flag}),e.jsx(a,{sx:{fontSize:"0.875rem",color:"#4b5563"},children:O(p).name}),e.jsx(E,{size:12,color:"#8a8f99",style:{marginLeft:"auto"}})]})]}),u?e.jsx(B,{connectInstance:u,children:e.jsx(Re,{onExit:re})}):e.jsx(r,{sx:{display:"flex",justifyContent:"center",py:6},children:e.jsx(z,{sx:{color:b}})})]}),e.jsxs(r,{sx:{px:{xs:3,md:4},py:2,borderTop:"1px solid #f1f5f9",backgroundColor:"#fafbfc",display:"flex",alignItems:"center",gap:1},children:[e.jsx(E,{size:12,color:"#94a3b8"}),e.jsx(a,{sx:{fontSize:"0.75rem",color:"#94a3b8"},children:"Secured by Stripe. Willa never sees your bank details."})]})]})})]})]})]})});export{ot 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.