PageSourceSearch

https://app.dfx.swiss/static/js/3977.d02a3354.chunk.js

js dfx.swiss collected 2026-10-01 13:54:08 UTC 13,793 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk_dfx_swiss_services_react=self.webpackChunk_dfx_swiss_services_react||[]).push([[3977],{23934:(e,t,n)=>{n.d(t,{N:()=>m});var s=n(21437),a=n(7290),o=n(65043),r=n(24858),i=n(41137),l=n(4237),c=n(18230),u=n(33857),d=n(70579);function m(e){let{onSubmit:t,confirmationText:n}=e;const{translate:m,translateError:I}=(0,l.M)(),{navigate:p}=(0,c.c)(),[f,S]=(0,o.useState)(),[N,R]=(0,o.useState)(),[b,h]=(0,o.useState)(),[v,T]=(0,o.useState)(!1),{control:x,handleSubmit:A,formState:{errors:E,isValid:g}}=(0,r.mN)({mode:"onTouched"}),{createAccount:H}=(0,s.K4)(),{allowedCountries:_}=(0,l.M)();async function F(e){S(void 0),R(void 0),h(void 0),T(!0),H(e).then(n?h:t).catch((e=>{var t,n;if(400===e.statusCode&&null!==(t=e.message)&&void 0!==t&&t.includes("Multi-account IBAN"))R((0,d.jsxs)(i.x6,{i18nKey:"general/errors.iban",children:["This is a multi-account IBAN and cannot be added as a personal account. Please open a support ticket at ",(0,d.jsx)(a.ah,{label:new URL("support","https://app.dfx.swiss").href,onClick:()=>p("/support/issue?issue-type=".concat(s.F7.GENERIC_ISSUE)),dark:!0})," and attach the bank transaction confirmation as a PDF."]}));else if(400===e.statusCode&&null!==(n=e.message)&&void 0!==n&&n.includes("KYC only account"))R((0,d.jsxs)(i.x6,{i18nKey:"general/errors.ibanKycOnly",children:["A bank account can only be added once a wallet is linked to this account. ",(0,d.jsx)(a.ah,{label:m("screens/home","Connect your wallet"),onClick:()=>p("/connect",{setRedirect:!0}),dark:!0})]}));else{var o;S(null!==(o=e.message)&&void 0!==o?o:"Unknown error")}})).finally((()=>T(!1)))}const C=s.Aq.createRules({iban:[s.RH.Required,s.RH.Iban(_)]});return b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-dfxGray-700",children:n}),(0,d.jsx)(a.OV,{color:a.J8.RED,label:m("general/actions","OK"),onClick:()=>t(b)})]}):(0,d.jsx)(a.lV,{control:x,rules:C,errors:E,onSubmit:A(F),translate:I,children:(0,d.jsxs)(a.QB,{gap:4,children:[(0,d.jsx)(a.sQ,{name:"iban",autocomplete:"iban",label:m("screens/payment","IBAN"),placeholder:"XX XXXX XXXX XXXX XXXX X"}),(0,d.jsx)(a.sQ,{name:"label",autocomplete:"iban-label",label:m("screens/sell","Optional - Account Designation"),placeholder:m("screens/sell","e.g. Deutsche Bank")}),(0,d.jsx)(a.IW,{spacing:-1}),f&&(0,d.jsx)("div",{className:"text-center",children:(0,d.jsx)(u.E,{message:f})}),N&&(0,d.jsx)("div",{className:"text-left",children:(0,d.jsx)(a.vp,{invertedIcon:!0,children:N})}),(0,d.jsx)(a.OV,{type:"submit",disabled:!g,color:a.J8.RED,label:m("general/actions","Add bank account"),onClick:A(F),isLoading:v,caps:!0,width:a.Kl.FULL,className:"mb-4"})]})})}},50637:(e,t,n)=>{n.d(t,{A:()=>o});var s=n(65043),a=n(74886);function o(e,t){const[n,o]=(0,s.useState)(),r=(0,s.useRef)();return(0,s.useEffect)((()=>{if(!(0,a.bD)(e,r.current)){const n=setTimeout((()=>{o(e),r.current=e}),t||500);return()=>{clearTimeout(n)}}}),[e,t]),n}},63977:(e,t,n)=>{n.r(t),n.d(t,{default:()=>O});var s=n(89379),a=n(21437),o=n(7290),r=n(65043),i=n(24858),l=n(41137),c=n(35475),u=n(23934),d=n(3766),m=n(98559),I=n(69356),p=n(50637),f=n(33857),S=n(82358),N=n(4237),R=n(79803),b=n(15631),h=n(18230),v=n(74886),T=n(18362),x=n(70579);const A={[a.F7.GENERIC_ISSUE]:[a.Ho.OTHER],[a.F7.TRANSACTION_ISSUE]:[a.Ho.FUNDS_NOT_RECEIVED,a.Ho.TRANSACTION_MISSING,a.Ho.OTHER],[a.F7.KYC_ISSUE]:[a.Ho.OTHER],[a.F7.LIMIT_REQUEST]:[a.Ho.OTHER],[a.F7.PARTNERSHIP_REQUEST]:[a.Ho.OTHER],[a.F7.NOTIFICATION_OF_CHANGES]:[a.Ho.CIVIL_STATUS_CHANGED,a.Ho.OTHER],[a.F7.BUG_REPORT]:[a.Ho.OTHER],[a.F7.VERIFICATION_CALL]:[a.Ho.REJECT_CALL,a.Ho.REPEAT_CALL,a.Ho.OTHER]},E="No IBAN, only account number",g="Add bank account",H="Select transaction",_=500,F=15;const C={[a.mm.DFX_IBAN]:"We have recognized this IBAN.",[a.mm.NOT_MATCHED]:"We could not recognize this IBAN with the information available to us. You can submit your request anyway.",[a.mm.INVALID_IBAN]:"This does not look like a valid IBAN.",[a.mm.LOGIN_REQUIRED]:"Please log in so that we can also check your personal IBAN."},X="We could not check this IBAN at the moment. You can submit your request anyway.",y={type:void 0,senderIban:void 0,receiverIban:void 0,date:void 0,name:void 0,transaction:void 0,reason:void 0,message:void 0,limit:void 0,investmentDate:void 0,fundOrigin:void 0,file:void 0};function O(){var e,t;const{navigate:n,clearParams:O}=(0,h.c)(),{rootRef:j}=(0,I.L)(),{translate:k,translateError:D,allowedCountries:w}=(0,N.M)(),{user:L,isUserLoading:U}=(0,a.ur)(),{isLoggedIn:B,logout:G}=(0,a.Lg)(),{checkReceiveIban:M}=(0,a.yz)(),{bankAccounts:q}=(0,a.K4)(),[Q]=(0,c.ok)(),{createSupportIssue:V,loadSupportIssue:K,isLoading:P,supportIssue:Y}=(0,a.YR)(),[W,z]=(0,r.useState)(!1),[J,Z]=(0,r.useState)(),[$,ee]=(0,r.useState)(!1),[te,ne]=(0,r.useState)(),[se,ae]=(0,r.useState)(),[oe,re]=(0,r.useState)(),[ie,le]=(0,r.useState)(!1),[ce,ue]=(0,r.useState)(!1),de=(0,r.useRef)(0),{control:me,handleSubmit:Ie,formState:{errors:pe,isValid:fe},reset:Se,setValue:Ne}=(0,i.mN)({mode:"all",defaultValues:y}),Re=(0,i.FH)({control:me,name:"type"}),be=(0,i.FH)({control:me,name:"investmentDate"}
1),he=(0,i.FH)({control:me,name:"reason"}),ve=(0,i.FH)({control:me,name:"transaction"}),Te=(0,i.FH)({control:me,name:"senderIban"}),xe=function(e){var t;return null!==(t=null===e||void 0===e?void 0:e.replace(/[^A-Za-z0-9]/g,""))&&void 0!==t?t:""}((0,i.FH)({control:me,name:"receiverIban"})),Ae=(0,p.A)(xe,_),Ee=Object.values(a.F7),ge=null!==(e=A[Re])&&void 0!==e?e:[],He=se===a.iM.WAITING_FOR_PAYMENT,_e=null!==(t=Q.get("quote"))&&void 0!==t?t:Q.get("order"),Fe=(0,r.useRef)(Boolean(_e||Q.get("tx"))).current,Ce=Q.get("issue-type"),Xe=Q.get("reason"),[ye]=(0,r.useState)((()=>Q.get("tx")));function Oe(e){n({pathname:"/support/chat/".concat(e)})}async function je(e){z(!0);try{var t,n;const r={type:e.type,name:e.name,reason:null!==(t=e.reason)&&void 0!==t?t:a.Ho.OTHER,message:e.message,file:e.file&&await(0,v.nk)(e.file),fileName:null===(n=e.file)||void 0===n?void 0:n.name};if(e.type===a.F7.TRANSACTION_ISSUE){if(e.reason===a.Ho.TRANSACTION_MISSING)r.transaction={senderIban:e.senderIban,receiverIban:e.receiverIban,date:new Date(e.date)};else if(e.reason===a.Ho.FUNDS_NOT_RECEIVED&&He){var s;r.transaction={uid:null===(s=e.transaction)||void 0===s?void 0:s.uid,senderIban:e.senderIban,date:new Date(e.date)}}else{var o;r.transaction={uid:null===(o=e.transaction)||void 0===o?void 0:o.uid}}_e&&(r.transaction.orderUid=_e)}e.type===a.F7.LIMIT_REQUEST&&e.limit&&(r.limitRequest={limit:e.limit,investmentDate:e.investmentDate,fundOrigin:e.fundOrigin,fundOriginText:e.message}),await V(r,e.file).then((e=>Oe(e))).catch((e=>{var t;return Z(null!==(t=e.message)&&void 0!==t?t:"Unknown error")}))}catch(i){var r;Z(null!==(r=i.message)&&void 0!==r?r:"Unknown error")}finally{z(!1)}}(0,r.useEffect)((()=>{const e=setTimeout((()=>{(_e||Ce||Xe||ye)&&O([...Array.from(Q.keys())])}),0);return()=>clearTimeout(e)}),[]),(0,r.useEffect)((()=>{const e=Ce&&Ee.find((e=>e===Ce));e&&Ne("type",e);const t=e&&Xe&&A[e].find((e=>e===Xe));t&&Ne("reason",t),ye&&(Ne("type",a.F7.TRANSACTION_ISSUE),Ne("transaction",{uid:ye,description:"Transaction ID"}))}),[Ce,Xe,ye]),(0,R.em)("/login",!_e&&!ye),(0,R.c8)(a.CC.Link,"/contact"),(0,r.useEffect)((()=>{const e=L&&L.kyc.level>=a.CC.Completed;!1!==e||Re!==a.F7.LIMIT_REQUEST?ne(e):n("/kyc")}),[L,Re]),(0,r.useEffect)((()=>{Fe||!B||U||!L||L.mail||n("/account/mail",{setRedirect:!0})}),[B,U,L,n,Fe]),(0,r.useEffect)((()=>{if(_e){const e=a.F7.TRANSACTION_ISSUE;Ne("type",e),K(_e).catch((()=>{}))}}),[_e]),(0,r.useEffect)((()=>{(_e||ye)&&B&&G()}),[_e,ye,B]),(0,r.useEffect)((()=>{_e&&!W&&Y&&Oe(Y.uid)}),[P,Y]),(0,r.useEffect)((()=>{(null===ve||void 0===ve?void 0:ve.uid)===H&&ee(!0)}),[null===ve||void 0===ve?void 0:ve.uid]),(0,r.useEffect)((()=>{$&&he===a.Ho.TRANSACTION_MISSING&&ee(!1)}),[he,$]),(0,r.useEffect)((()=>{ye||(ae(void 0),Ne("transaction",void 0))}),[he,ye]),(0,r.useEffect)((()=>{de.current++,le(!1)}),[xe]),(0,r.useEffect)((()=>{const e=null!==Ae&&void 0!==Ae?Ae:"";if(he!==a.Ho.TRANSACTION_MISSING||e.length<F||e!==xe)return de.current++,void le(!1);const t=++de.current,n=()=>t===de.current;le(!0),M(e).then((t=>{n()&&re({iban:e,status:t.status})})).catch((()=>{n()&&re({iban:e,unavailable:!0})})).finally((()=>{n()&&le(!1)}))}),[Ae,xe,he]);const ke=he===a.Ho.FUNDS_NOT_RECEIVED&&!0===He,De=(null===oe||void 0===oe?void 0:oe.iban)===xe?oe:void 0;const we=function(){if(De){if("status"in De&&De.status===a.mm.DFX_IBAN)return C[De.status];if(!ce)return"status"in De?C[De.status]:"unavailable"in De?X:void 0}}(),Le=De&&"status"in De&&De.status===a.mm.DFX_IBAN?"text-dfxGreen-100":"text-dfxGray-800",Ue=a.Aq.createRules({type:a.RH.Required,senderIban:[(he===a.Ho.TRANSACTION_MISSING||ke)&&a.RH.Required,!!_e&&a.RH.Iban(w)],receiverIban:[he===a.Ho.TRANSACTION_MISSING&&a.RH.Required,he===a.Ho.TRANSACTION_MISSING&&a.RH.Custom((e=>!e||e.trim().length>0||"required"))],date:[(he===a.Ho.TRANSACTION_MISSING||ke)&&a.RH.Required,a.RH.Custom((e=>!(e&&!/\d{4}-\d{2}-\d{2}/g.test(e))||"pattern"))],name:a.RH.Required,transaction:a.RH.Required,reason:a.RH.Required,message:[a.RH.Required,a.RH.Custom((e=>e.length<=4e3||"message_length"))],limit:a.RH.Required,investmentDate:a.RH.Required,fundOrigin:a.RH.Required,file:[Re===a.F7.NOTIFICATION_OF_CHANGES&&a.RH.Required,a.RH.Custom((e=>!(e&&!m.b.includes(e.type))||"file_type"))]});return(0,b.K)({title:k("screens/support","Support issue"),onBack:$?()=>{ee(!1),Se((0,s.A)((0,s.A)({},y),{},{type:Re,reason:he}))}:void 0}),(0,x.jsx)(x.Fragment,{children:Re===a.F7.LIMIT_REQUEST&&void 0===te||P||!Fe&&B&&(U||!L||!L.mail)?(0,x.jsx)(o.pF,{size:o.HU.LG}):$?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("p",{className:"text-dfxGray-700",children:k("screens/support","Select the transaction for which you would like to create an issue.")}),(0,x.jsx)(T.TransactionList,{isSupport:!0,onSelectTransaction:function(e,t){Ne("transaction",{uid:e,description:"Transaction ID"}),ae(t),ee(!1)},setError:Z})]}):Te===g?(0,x.jsx)(u.N,{onSubmit:e=>{Ne("senderIban",e.iban)},confirmationText:k("screens/iban","The bank account has been added, all transactions from this IBAN will now be associated with your account.")}):(0,x.jsx)(o.lV,{control:me,rules:Ue,errors:pe,onSubmit:Ie(je),translate:D,children:(0,x.jsxs)(o.QB,{gap:6,full:!0,center:!0,children:[(0,x.jsx)(o.lF,{rootRef:j,label:k("screens/support","Issue type"),items:Ee.filter((e=>e!==a.F7.LIMIT_REQUEST||te)),labelFunc:e=>e&&k("screens/support",S.nO[e]),name:"type",placeholder:k("general/actions","Select")+"...",disabled:!!_e||!!ye,full:!0}),ge.length>1&&(0,x.jsxs)(o.QB,{gap:2,full:!0,center:!0,children:[(0,x.jsx)(o.lF,{rootRef:j,label:k("screens/support","Reason"),items:ge.filter((e=>e!==a.Ho.FUNDS_NOT_RECEIVED||!_e)),labelFunc:e=>k("screens/support",S.fc[e]),name:"reason",placeholder:k("general/actions","Select")+"...",full:!0}),Re===a.F7.NOTIFICATION_OF_CHANGES&&(0,x.jsx)("p",{className:"text-dfxGray-700 text-sm",children:(0,x.jsxs)(l.x6,{i18nKey:"screens/support.contactDataChangeHint",children:["Name, address, phone number and email address can be changed directly in your"," ",(0,x.jsx)(o.ah,{label:k("screens/home","Account"),url:"/account",target:"_self",dark:!0}),"."]})})]}),Re===a.F7.TRANSACTION_ISSUE&&he&&(0,x.jsxs)(x.Fragment,{children:[he!==a.Ho.TRANSACTION_MISSING&&!_e&&!ye&&(0,x.jsxs)(o.QB,{gap:3.5,full:!0,center:!0,children:[(0,x.jsx)("p",{className:"w-full text-left text-dfxBlue-800 text-base font-semibold pl-3.5 -mb-1",children:k("screens/payment","Transaction")}),(0,x.jsx)(o.lF,{rootRef:j,name:"transaction",items:[{uid:H,description:"Select a transaction to proceed with"}],labelFunc:e=>k("general/actions",e.uid),descriptionFunc:e=>k("screens/support",e.description),full:!0,forceEnable:!0})]}),(he===a.Ho.TRANSACTION_MISSING||ke)&&(0,x.jsxs)(x.Fragment,{children:[q&&B?(0,x.jsx)(o.lF,{rootRef:j,label:k("screens/support","Sender IBAN"),items:[...q.map((e=>e.iban)),g,E],labelFunc:e=>{var t;return(0,v.WK)(e===g?k("general/actions",e):e===E?k("screens/iban",e):null!==(t=a.Aq.formatIban(e))&&void 0!==t?t:"",{displayLength:30})},descriptionFunc:e=>{var t,n;return null!==(t=null===(n=q.find((t=>t.iban===e)))||void 0===n?void 0:n.label)&&void 0!==t?t:""},name:"senderIban",placeholder:k("general/actions","Select")+"...",full:!0}):(0,x.jsx)(o.sQ,{name:"senderIban",autocomplete:"iban",label:k("screens/support","Sender IBAN"),placeholder:"XX XXXX XXXX XXXX XXXX X",full:!0}),he===a.Ho.TRANSACTION_MISSING&&(0,x.jsxs)(o.QB,{gap:1,full:!0,center:!0,children:[(0,x.jsx)("div",{className:"w-full",onFocus:()=>ue(!0),onBlur:()=>ue(!1),children:(0,x.jsx)(o.sQ,{name:"receiverIban",label:k("screens/support","Receiver IBAN"),placeholder:"XX XXXX XXXX XXXX XXXX X",loading:ie,full:!0})}),we&&(0,x.jsx)("p",{className:"w-full text-start text-sm pl-3 ".concat(Le),children:k("screens/support",we)}
1)]}),(0,x.jsx)(o.sQ,{name:"date",label:k("screens/support","Date of the transaction"),placeholder:(new Date).toISOString().split("T")[0],full:!0})]})]}),Re===a.F7.LIMIT_REQUEST?(0,x.jsx)(d.Q,{rootRef:j,control:me,rules:Ue,errors:pe,investmentDate:be}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(o.sQ,{name:"name",autocomplete:"name",label:k("screens/support","Name"),placeholder:"".concat(k("screens/kyc","John")," ").concat(k("screens/kyc","Doe")),full:!0}),(0,x.jsx)(o.sQ,{name:"message",label:k("screens/support","Description"),multiLine:!0,full:!0}),(0,x.jsx)(o.xY,{name:"file",label:k("screens/support","File"),placeholder:k("general/actions","Drop files here"),buttonLabel:k("general/actions","Browse"),full:!0})]}),J&&(0,x.jsx)("div",{children:(0,x.jsx)(f.E,{message:J})}),(0,x.jsx)(o.OV,{type:"submit",label:k("general/actions","Next"),onClick:Ie(je),width:o.Kl.FULL,disabled:!fe,isLoading:W})]})})})}}}]);
2//# sourceMappingURL=3977.d02a3354.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.