HEX
Server: LiteSpeed
System: Linux premium212.web-hosting.com 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64
User: vitanhod (1367)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //home/vitanhod/public_html/wp-content/plugins/woocommerce/assets/client/admin/chunks/2999.js
"use strict";(globalThis.webpackChunk_wcAdmin_webpackJsonp=globalThis.webpackChunk_wcAdmin_webpackJsonp||[]).push([[2999],{12999:(e,r,o)=>{o.d(r,{j:()=>f});var n=o(23203),c=o(86087),i=o(56427),a=o(27723),s=o(83306),t=o(33572),l=o(40314),m=o(1455),d=o.n(m);var u=o(55660),_=o(25066),p=o(67297),h=o(39793);const w=({numbers:e,deviceInfo:r,challengeExpiresAt:o,onChooseNumber:n,errorMessage:t=null})=>{const[l,m]=(0,c.useState)(!1),[d,u]=(0,c.useState)(null),[_,w]=(0,c.useState)(()=>Math.max(0,Math.floor(o-Date.now()/1e3)));(0,c.useEffect)(()=>{const e=()=>{w(Math.max(0,Math.floor(o-Date.now()/1e3)))};e();const r=setInterval(e,1e3);return()=>clearInterval(r)},[o]),(0,c.useEffect)(()=>{(0,s.recordEvent)("mobile_app_qr_login_number_match_displayed")},[]);const g=(0,c.useMemo)(()=>(0,p.Dh)(r),[r]),v=_<=0,f=l||v,b=async e=>{if(!f){m(!0),u(e),(0,s.recordEvent)("mobile_app_qr_login_number_match_chosen");try{await n(e)}finally{m(!1),u(null)}}},E=(0,a.sprintf)((0,a.__)("Match this number on %s","woocommerce"),g);return(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login woocommerce-qr-direct-login--number-match",role:"group","aria-label":(0,a.__)("Confirm sign-in","woocommerce"),children:[(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__match-headline",children:E}),(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__match-description",children:(0,a.__)("Tap the number that matches what you see on your phone.","woocommerce")}),(0,h.jsx)("div",{className:"woocommerce-qr-direct-login__number-tiles",role:"group","aria-label":(0,a.__)("Number-match candidates","woocommerce"),children:e.map((e,r)=>{const o=l&&d===e;return(0,h.jsx)(i.Button,{variant:"secondary",className:"woocommerce-qr-direct-login__number-tile",disabled:f,"aria-disabled":f,isBusy:o,"aria-label":(0,a.sprintf)((0,a.__)("Confirm with the number %s","woocommerce"),e),onClick:()=>b(e),children:e},`${e}-${r}`)})}),(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__match-countdown","aria-live":v?"polite":"off",children:v?(0,a.__)("This sign-in attempt has expired.","woocommerce"):(0,a.sprintf)((0,a.__)("Expires in %ds","woocommerce"),_)}),t&&(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__error",role:"alert",children:t}),(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login__match-cancel-row",children:[(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__match-cancel-text",children:(0,a.__)("I don't recognise this device","woocommerce")}),(0,h.jsx)(i.Button,{variant:"secondary",className:"woocommerce-qr-direct-login__match-cancel-button",disabled:f,onClick:()=>{(0,s.recordEvent)("mobile_app_qr_login_number_match_cancelled"),b("")},children:l&&""===d?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(i.Spinner,{}),(0,h.jsx)("span",{children:(0,a.__)("Cancelling…","woocommerce")})]}):(0,a.__)("Cancel login","woocommerce")})]})]})};var g=o(98846);const v=({reason:e})=>{let r;return r="https_required"===e?(0,a.__)("QR sign-in is unavailable because this site is not served over HTTPS. Application passwords require an HTTPS connection.","woocommerce"):(0,c.createInterpolateElement)((0,a.__)("Mobile login is unavailable if application passwords are disabled on your site. Find more about application passwords <link>here</link>.","woocommerce"),{link:(0,h.jsx)(g.Link,{href:"https://developer.wordpress.org/advanced-administration/security/application-passwords/",target:"_blank",type:"external"})}),(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login woocommerce-qr-direct-login--unavailable",children:[(0,h.jsx)(i.Notice,{className:"woocommerce-qr-direct-login__unavailable-notice",status:"warning",isDismissible:!1,children:r}),(0,h.jsxs)("details",{className:"woocommerce-qr-direct-login__why",children:[(0,h.jsx)("summary",{children:(0,a.__)("Why am I seeing this?","woocommerce")}),(0,h.jsxs)("ul",{children:[(0,h.jsx)("li",{children:(0,a.__)("A security plugin (e.g. Wordfence, Solid Security, iThemes Security) may have disabled application passwords.","woocommerce")}),(0,h.jsx)("li",{children:(0,a.__)("A custom code snippet using the wp_is_application_passwords_available filter may have disabled them.","woocommerce")}),(0,h.jsx)("li",{children:(0,a.__)("On most hosts, application passwords also require an HTTPS connection.","woocommerce")})]})]})]})},f=({onDone:e,onConsumed:r,suppressInlinePanels:o=!1})=>{const m=(0,c.useRef)(!1),p=(()=>{const[e,r]=(0,c.useState)(null),[o,n]=(0,c.useState)(null);return(0,c.useEffect)(()=>{let e=!1;return d()({path:`${l.WC_ADMIN_NAMESPACE}/mobile-app/qr-login-availability`,method:"GET"}).then(o=>{if(!e){if(!o||"boolean"!=typeof o.available)return r(!0),void n(null);r(o.available),n(o.reason??null)}}).catch(()=>{e||(r(!0),n(null))}),()=>{e=!0}},[]),{isLoading:null===e,available:e??!1,reason:o}})(),{state:g,qrUrl:f,secondsRemaining:b,errorMessage:E,errorCode:x,deviceInfo:q,apUuid:j,candidateNumbers:N,challengeExpiresAt:k,chooseNumber:y,fetchToken:R,refreshToken:C,revoke:D}=(0,t.N)({onReady:()=>{m.current||(m.current=!0,(0,s.recordEvent)("mobile_app_qr_direct_login_displayed"))},onError:e=>{(0,s.recordEvent)("mobile_app_qr_direct_login_failed",{error_code:e})}});(0,c.useEffect)(()=>{!p.isLoading&&p.available&&R()},[p.isLoading,p.available,R]),(0,c.useEffect)(()=>{g===t.a.CONSUMED&&r&&r({apUuid:j,deviceInfo:q})},[g,j,q,r]);const S=(e,r,o)=>(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login",children:[(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__error",role:"alert",children:e}),(0,h.jsx)(i.Button,{variant:"secondary",onClick:()=>{(0,s.recordEvent)(o),C()},children:r})]});if(p.isLoading)return(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login",children:[(0,h.jsx)(i.Spinner,{}),(0,h.jsx)("p",{role:"status","aria-live":"polite",children:(0,a.__)("Checking sign-in availability…","woocommerce")})]});if(!p.available)return(0,h.jsx)(v,{reason:p.reason});if(g===t.a.LOADING)return(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login",children:[(0,h.jsx)(i.Spinner,{}),(0,h.jsx)("p",{role:"status","aria-live":"polite",children:(0,a.__)("Generating secure login code…","woocommerce")})]});if(g===t.a.ERROR){const e="application_passwords_unavailable"===x;return(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login",children:[(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__error",role:"status","aria-live":"polite",children:E}),!e&&(0,h.jsx)(i.Button,{variant:"secondary",onClick:()=>{(0,s.recordEvent)("mobile_app_qr_direct_login_refreshed"),C()},children:(0,a.__)("Try again","woocommerce")})]})}return g===t.a.EXPIRED?(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login",children:[(0,h.jsx)("p",{role:"status","aria-live":"polite",children:(0,a.__)("The login code has expired.","woocommerce")}),(0,h.jsx)(i.Button,{variant:"secondary",onClick:()=>{(0,s.recordEvent)("mobile_app_qr_direct_login_refreshed"),C()},children:(0,a.__)("Generate new code","woocommerce")})]}):g===t.a.SCANNED&&N?(0,h.jsx)(w,{numbers:N,deviceInfo:q,challengeExpiresAt:k,onChooseNumber:y,errorMessage:E}):g===t.a.SCANNED?S((0,a.__)("We could not load the confirmation challenge. Please try again.","woocommerce"),(0,a.__)("Try again","woocommerce"),"mobile_app_qr_direct_login_refreshed"):g===t.a.APPROVED?(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login woocommerce-qr-direct-login--approved",role:"status","aria-live":"polite",children:[(0,h.jsx)(i.Spinner,{}),(0,h.jsx)("p",{children:(0,a.__)("Confirmed. Finishing sign-in on your phone…","woocommerce")})]}):g===t.a.REJECTED?(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login woocommerce-qr-direct-login--rejected",role:"alert",children:[(0,h.jsx)("p",{children:(0,a.__)("Sign-in denied. For your security, this attempt has been cancelled.","woocommerce")}),(0,h.jsx)(i.Button,{variant:"secondary",onClick:()=>{(0,s.recordEvent)("mobile_app_qr_direct_login_refreshed"),C()},children:(0,a.__)("Start over","woocommerce")})]}):g===t.a.CONSUMED?o?null:(0,h.jsx)(u.X,{deviceInfo:q,onRevoke:D,onDone:e,errorMessage:E}):g===t.a.REVOKED?o?null:(0,h.jsx)(_.Z,{onDone:e}):g===t.a.READY&&f?(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login woocommerce-qr-direct-login--ready",children:[(0,h.jsx)("div",{className:"woocommerce-qr-direct-login__qr",children:(0,h.jsx)(n.hp,{value:f,size:140})}),(0,h.jsxs)("div",{className:"woocommerce-qr-direct-login__meta",children:[(0,h.jsx)("p",{className:"woocommerce-qr-direct-login__timer","aria-live":"off",children:(0,a.sprintf)((0,a.__)("Code expires in %s","woocommerce"),(A=b,`${Math.floor(A/60)}:${(A%60).toString().padStart(2,"0")}`))}),(0,h.jsx)(i.Button,{variant:"link",className:"woocommerce-qr-direct-login__renew",onClick:()=>{(0,s.recordEvent)("mobile_app_qr_direct_login_renewed"),C()},children:(0,a.__)("Renew code","woocommerce")})]})]}):g===t.a.READY?S((0,a.__)("We could not generate the login code. Please renew and try again.","woocommerce"),(0,a.__)("Renew code","woocommerce"),"mobile_app_qr_direct_login_renewed"):null;var A}},55660:(e,r,o)=>{o.d(r,{X:()=>t}),o(86087);var n=o(56427),c=o(27723),i=o(83306),a=o(67297),s=o(39793);const t=({deviceInfo:e,onRevoke:r,onDone:o,errorMessage:t})=>{const l=(0,a.nS)(e),m=(0,a.vr)(e);return(0,s.jsxs)("div",{className:"woocommerce-qr-direct-login woocommerce-qr-direct-login--consumed",role:"status","aria-live":"polite",children:[(0,s.jsx)("p",{className:"woocommerce-qr-direct-login__consumed-headline",children:l}),m&&(0,s.jsx)("p",{className:"woocommerce-qr-direct-login__consumed-subline",children:m}),t&&(0,s.jsx)("p",{className:"woocommerce-qr-direct-login__error",role:"alert",children:t}),o&&(0,s.jsx)(n.Button,{variant:"primary",onClick:o,children:(0,c.__)("Done","woocommerce")}),(0,s.jsx)(n.Button,{variant:"link",className:"woocommerce-qr-direct-login__revoke",onClick:()=>{(0,i.recordEvent)("mobile_app_qr_direct_login_revoke_attempt"),r()},children:(0,c.__)("It wasn't you? Revoke access","woocommerce")})]})}},25066:(e,r,o)=>{o.d(r,{Z:()=>a}),o(86087);var n=o(56427),c=o(27723),i=o(39793);const a=({onDone:e})=>(0,i.jsxs)("div",{className:"woocommerce-qr-direct-login woocommerce-qr-direct-login--revoked",role:"status","aria-live":"polite",children:[(0,i.jsx)("p",{className:"woocommerce-qr-direct-login__revoked-headline",children:(0,c.__)("Access revoked","woocommerce")}),(0,i.jsx)("p",{className:"woocommerce-qr-direct-login__revoked-subline",children:(0,c.__)("The mobile app will be signed out the next time it makes a request.","woocommerce")}),e&&(0,i.jsx)(n.Button,{variant:"primary",onClick:e,children:(0,c.__)("Done","woocommerce")})]})},67297:(e,r,o)=>{o.d(r,{Dh:()=>i,nS:()=>c,vr:()=>a});var n=o(27723);const c=e=>{const r=e?.model?.trim();if(r)return(0,n.sprintf)((0,n.__)("Signed in successfully on %s","woocommerce"),r);const o=e?.os?.trim();return o?(0,n.sprintf)((0,n.__)("Signed in successfully on %s","woocommerce"),o):(0,n.__)("Signed in successfully","woocommerce")},i=e=>{const r=[],o=e?.model?.trim();return o&&r.push(o),e?.os&&r.push(e.os_version?`${e.os} ${e.os_version}`:e.os),e?.app_version&&r.push((0,n.sprintf)((0,n.__)("App version %s","woocommerce"),e.app_version)),r.length>0?r.join(" · "):(0,n.__)("Mobile app","woocommerce")},a=e=>{if(!e)return"";const r=[];return e.os&&r.push(e.os_version?`${e.os} ${e.os_version}`:e.os),e.app_version&&r.push((0,n.sprintf)((0,n.__)("App version %s","woocommerce"),e.app_version)),r.join(" · ")}},33572:(e,r,o)=>{o.d(r,{N:()=>d,a:()=>m});var n=o(86087),c=o(27723),i=o(40314),a=o(1455),s=o.n(a),t=o(98846),l=o(39793);const m={IDLE:"idle",LOADING:"loading",READY:"ready",SCANNED:"scanned",APPROVED:"approved",REJECTED:"rejected",EXPIRED:"expired",CONSUMED:"consumed",REVOKED:"revoked",ERROR:"error"},d=({onReady:e,onError:r}={})=>{const[o,a]=(0,n.useState)(m.IDLE),[d,u]=(0,n.useState)(null),[_,p]=(0,n.useState)(0),[h,w]=(0,n.useState)(null),[g,v]=(0,n.useState)(null),[f,b]=(0,n.useState)(null),[E,x]=(0,n.useState)(null),[q,j]=(0,n.useState)(null),[N,k]=(0,n.useState)(0),y=(0,n.useRef)(null),R=(0,n.useRef)(null),C=(0,n.useRef)(null),D=(0,n.useRef)(0),S=(0,n.useRef)(e),A=(0,n.useRef)(r),P=(0,n.useRef)(!0),I=(0,n.useRef)(0);S.current=e,A.current=r;const M=(0,n.useCallback)(()=>{y.current&&(clearInterval(y.current),y.current=null)},[]),T=(0,n.useCallback)(()=>{C.current&&(clearInterval(C.current),C.current=null)},[]),O=(0,n.useCallback)(e=>{M(),D.current=e;const r=()=>{if(!P.current)return;const e=Math.max(0,Math.floor(D.current-Date.now()/1e3));p(e),e<=0&&(M(),T(),a(m.EXPIRED),u(null),R.current=null)};r(),y.current=setInterval(r,1e3)},[M,T]),L=(0,n.useCallback)(async()=>{const e=R.current;if(!e||!P.current)return;const r=I.current;try{const o=await s()({path:`${i.WC_ADMIN_NAMESPACE}/mobile-app/qr-login-status`,method:"POST",data:{token:e}});if(!P.current||e!==R.current||r!==I.current)return;if("consumed"===o.status)return M(),T(),u(null),x(o.ap_uuid),b(o.device||null),a(m.CONSUMED),void(R.current=null);if("scanned"===o.status)return M(),u(null),j(o.numbers),k(o.expires_at),b(o.device||null),a(m.SCANNED),void O(o.expires_at);if("approved"===o.status)return I.current+=1,M(),j(null),k(0),void a(m.APPROVED);if("rejected"===o.status)return M(),T(),u(null),j(null),a(m.REJECTED),void(R.current=null);"expired"===o.status&&(M(),T(),u(null),j(null),k(0),a(m.EXPIRED),R.current=null)}catch(e){console.warn("QR login status polling failed.",e)}},[M,T,O]),$=(0,n.useCallback)(()=>{T(),L(),C.current=setInterval(L,2500)},[T,L]),B=(0,n.useCallback)(async()=>{const e=I.current+1;I.current=e,M(),T(),R.current=null,x(null),b(null),j(null),k(0),D.current=0,u(null),p(0),a(m.LOADING),w(null),v(null);try{const r=await s()({path:`${i.WC_ADMIN_NAMESPACE}/mobile-app/qr-login-token`,method:"POST"});if(!P.current||e!==I.current)return;if(!r||"string"!=typeof r.qr_url||0===r.qr_url.length||!Number.isFinite(r.expires_at)||r.expires_at<=Date.now()/1e3)throw new Error((0,c.__)("Failed to generate QR login code. Please try again.","woocommerce"));R.current=(e=>{const r=e.indexOf("?");return-1===r?null:new URLSearchParams(e.slice(r+1)).get("token")||null})(r.qr_url),u(r.qr_url),a(m.READY),O(r.expires_at),S.current?.(),R.current&&$()}catch(r){if(!P.current||e!==I.current)return;M(),T(),R.current=null,D.current=0,u(null),p(0);const o=r,i=o.code??null;let s;const d=o.data?.status;if("rate_limit_exceeded"===i||"invalid_json"===i||429===d)s=(0,c.__)("You've requested QR login codes too quickly. Please wait a moment and try again.","woocommerce");else switch(i){case"woocommerce_rest_cannot_view":s=(0,c.__)("You do not have permission to generate a QR login code. Ask a site administrator for help.","woocommerce");break;case"ssl_required":s=(0,c.__)("QR login requires an HTTPS connection.","woocommerce");break;case"application_passwords_unavailable":s=(0,n.createInterpolateElement)((0,c.__)("Application passwords are disabled on this site, so QR login is unavailable. Find more about application passwords <link>here</link>.","woocommerce"),{link:(0,l.jsx)(t.Link,{href:"https://developer.wordpress.org/advanced-administration/security/application-passwords/",target:"_blank",type:"external"})});break;default:s=o.message||(0,c.__)("Failed to generate QR login code. Please try again.","woocommerce")}v(i),w(s),a(m.ERROR),A.current?.(i??"unknown_error")}},[M,T,O,$]),U=(0,n.useCallback)(async e=>{const r=R.current;if(r){w(null),v(null);try{const o=await s()({path:`${i.WC_ADMIN_NAMESPACE}/mobile-app/qr-login-approve`,method:"POST",data:{token:r,choice:e}});if(!P.current)return;"approved"===o.state?(I.current+=1,M(),j(null),k(0),a(m.APPROVED)):(M(),T(),j(null),k(0),R.current=null,a(m.REJECTED))}catch(e){if(!P.current)return;const r=e;if("qr_login_expired"===r.code||410===r.data?.status)return M(),T(),j(null),R.current=null,void a(m.REJECTED);w(r.message||(0,c.__)("Failed to confirm sign-in. Please try generating a new code.","woocommerce")),v(r.code??null)}}},[M,T]),F=(0,n.useCallback)(async()=>{if(E)try{if(await s()({path:`${i.WC_ADMIN_NAMESPACE}/mobile-app/qr-login-revoke`,method:"DELETE",data:{uuid:E}}),!P.current)return;a(m.REVOKED)}catch(e){if(!P.current)return;w(e.message||(0,c.__)("Failed to revoke access. Please try again or remove the application password manually under Users → Profile.","woocommerce"))}},[E]);return(0,n.useEffect)(()=>(P.current=!0,()=>{P.current=!1,I.current+=1,R.current=null,M(),T()}),[M,T]),{state:o,qrUrl:d,secondsRemaining:_,errorMessage:h,errorCode:g,deviceInfo:f,apUuid:E,candidateNumbers:q,challengeExpiresAt:N,chooseNumber:U,fetchToken:B,refreshToken:B,revoke:F}}}}]);