PageSourceSearch

https://daks.by/_next/static/chunks/pages/profile/scanner-5a3ed4f77802b13b.js

js daks.by collected 2026-10-02 01:22:02 UTC 7,809 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8009],{18998:function(e,n,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/profile/scanner",function(){return r(22139)}])},55513:function(e,n,r){"use strict";var s=r(85893),c=r(78046),a=r(11163),t=r(67294),_=r(82857);let l=(e,n,r)=>{let l=r=>{let{headerStore:l}=(0,c.oR)(),o=(0,a.useRouter)(),[i,u]=(0,t.useState)(!0),d=e=>{u(e)};return(0,t.useEffect)(()=>{l.setOpenMenuBlock(!1)},[o,l]),(0,s.jsxs)(t.Fragment,{children:[i&&(0,s.jsx)(_.Z,{visible:!0,message:n}),(0,s.jsx)(e,{...r,setLoading:d,load:i})]})};return l.Layout=r,l};n.Z=l},25962:function(e,n,r){"use strict";var s=r(85893),c=r(50281),a=r(1811),t=r.n(a);let _=e=>{let{children:n}=e;return(0,s.jsx)(c.Container,{children:(0,s.jsx)("main",{className:t().layout,children:n})})};n.Z=_},22139:function(e,n,r){"use strict";r.r(n);var s=r(85893),c=r(90302),a=r(50281),t=r(25962),_=r(55513),l=r(96916),o=r(67294),i=r(20458),u=r.n(i);let d=e=>{let{setLoading:n,load:r}=e,[t,_]=(0,o.useState)(null),[i,d]=(0,o.useState)(!1),[m,h]=(0,o.useState)(null),[x,f]=(0,o.useState)(null),[p,j]=(0,o.useState)(!1),[v,g]=(0,o.useState)(!1),[N,b]=(0,o.useState)(!1),[E,R]=(0,o.useState)(null),S=(0,o.useRef)(null),w=(0,o.useRef)(null),y=()=>{R(null),b(!0),setTimeout(()=>{if(S.current)try{S.current.clear()}catch(e){console.error("Error clearing scanner:",e)}let e={fps:10,qrbox:{width:250,height:250},aspectRatio:1,rememberLastUsedCamera:!0,formatsToSupport:[l.CE.QR_CODE],html5qrcode:{formatsToSupport:[l.CE.QR_CODE],useBarCodeDetectorIfSupported:!0},texts:{header:"Сканер QR-кода",subHeader:"Выберите камеру",camera:"Камера",cameraPermission:"Разрешите доступ к камере",cameraNotFound:"Камера не найдена",scanningStatus:"Сканирование...",poweredBy:"Работает на",dragAndDrop:"или перетащите QR-код сюда",chooseImage:"Выберите изображение",loadingImage:"Загрузка изображения...",selectCamera:"Выберите камеру:",switchCamera:"Переключить камеру",torchOn:"Включить вспышку",torchOff:"Выключить вспышку",startScanning:"Начать сканирование",stopScanning:"Остановить сканирование",closeModal:"Закрыть",error:"Ошибка",fileSelectionError:"Пожалуйста, выберите файл",invalidFileError:"Выбран неверный тип файла",readingLocalFileError:"Ошибка чтения локального файла",genericError:"Произошла ошибка",scanAnImageFile:"Сканировать изображение"}};try{S.current=new l.wF("qr-reader",e,!1),S.current.render(e=>{k(e)},e=>{e.includes("NotFoundException")||console.warn("QR Code scan error:",e)})}catch(e){console.error("Error initializing scanner:",e),R("Ошибка инициализации сканера"),b(!1)}},100)},C=()=>{if(S.current)try{let e=S.current.getState();e!==l.lz.NOT_STARTED&&S.current.clear().catch(e=>{console.error("Ошибка при остановке сканера:",e)}),S.current=null}catch(e){console.error("Error stopping scanner:",e)}b(!1)},k=async e=>{C(),_(e);try{let n=await c.hi.radar.verifyPrizeRedeem(e);console.log("Результат верификации:",n),f(n),d(!0),h(null)}catch(s){var n,r;let e=(null==s?void 0:null===(n=s.response)||void 0===n?void 0:null===(r=n.data)||void 0===r?void 0:r.message)||"Ошибка верификации QR кода";h(e),d(!1)}};(0,o.useEffect)(()=>(n(!1),()=>{if(S.current)try{let e=S.current.getState();e!==l.lz.NOT_STARTED&&S.current.clear()}catch(e){console.error("Error cleaning up scanner:",e)}}),[r,n]);let Q=async()=>{if(t){g(!0);try{let e=await c.hi.radar.redeemPrize(t);console.log("Результат выдачи приза:",e),j(!0)}catch(s){var e,n;let r=(null==s?void 0:null===(e=s.response)||void 0===e?void 0:null===(n=e.data)||void 0===n?void 0:n.message)||"Ошибка при выдаче приза";h(r)}finally{g(!1)}}},O=()=>{_(null),d(!1),h(null),f(null),j(!1),R(null),C()};return(0,s.jsx)(s.Fragment,{children:!r&&(0,s.jsxs)("div",{className:u().scanner,children:[(0,s.jsx)(a.Heading,{title:"Сканер QR кодов",backUrl:"/profile"}),E&&(0,s.jsxs)("div",{className:u().scanner_error,children:[(0,s.jsx)("p",{children:E}),(0,s.jsx)("button",{onClick:()=>R(null),children:"Попробовать снова"})]}),!t&&!N&&!E&&(0,s.jsxs)("div",{className:u().scanner_instructions,children:[(0,s.jsx)("p",{className:u().scanner_instructions_text,children:"Наведите камеру на QR код для сканирования приза"}),(0,s.jsx)("button",{onClick:y,className:u().scanner_start_btn,children:"Включить сканирование"})]}),!t&&N&&(0,s.jsx)("div",{className:u().scanner_camera,children:(0,s.jsx)("div",{className:u().scanner_viewfinder,children:(0,s.jsx)("div",{id:"qr-reader",ref:w})})}),t&&(0,s.jsxs)("div",{className:u().scanner_result,children:[(0,s.jsx)("p",{children:"QR код успешно отсканирован!"}),(0,s.jsxs)("p",{className:u().scanner_token,children:["Токен: ",t]}),x&&(0,s.jsxs)("div",{className:u().scanner_success,children:[(0,s.jsx)("p",{className:u().scanner_success_text,children:"Результат верификации:"}),(0,s.jsx)("img",{src:x.prize_data.icon,alt:"Приз",className:u().scanner_success_image}),(0,s.jsx)("p",{className:u().scanner_success_text,children:x.prize_data.name})]}),m&&(0,s.jsxs)("div",{className:u().scanner_error,children:[(0,s.jsx)("p",{children:m}),(0,s.jsx)("button",{onClick:O,children:"Сканировать заново"})]}),i&&(0,s.jsxs)("div",{className:u().scanner_success,children:[(0,s.jsx)("p",{className:u().scanner_success_text,children:"QR код успешно верифицирован!"}),(0,s.jsx)("button",{onClick:Q,disabled:v,className:u().scanner_redeem_btn,children:v?"Идёт выдача приза...":"В
1ыдать приз"})]})]}),p&&(0,s.jsx)("div",{className:u().scanner_modal,children:(0,s.jsxs)("div",{className:u().scanner_modal_content,children:[(0,s.jsx)("h3",{children:"Поздравляем!"}),(0,s.jsx)("p",{children:"Приз был успешно выдан. Проверьте свой профиль."}),(0,s.jsx)("button",{onClick:O,children:"Закрыть"})]})})]})})};n.default=(0,_.Z)(d,"Загрузка сканера...",t.Z)},1811:function(e){e.exports={layout:"ProfileLayout_layout__mQlfR"}},20458:function(e){e.exports={scanner:"scanner_scanner__1hKE4",scanner_result:"scanner_scanner_result__L2oq0",scanner_success_image:"scanner_scanner_success_image__7vd2M",scanner_success_text:"scanner_scanner_success_text__vptvw",scanner_token:"scanner_scanner_token__grBW1",scanner_error:"scanner_scanner_error__BUc5e",scanner_success:"scanner_scanner_success__4hyUm",scanner_redeem_btn:"scanner_scanner_redeem_btn__HBUhG",scanner_modal:"scanner_scanner_modal__3lofV",scanner_modal_content:"scanner_scanner_modal_content___98Gq",scanner_modal_content_title:"scanner_scanner_modal_content_title__EK_0b",scanner_modal_content_text:"scanner_scanner_modal_content_text__80bfN",scanner_modal_content_btn:"scanner_scanner_modal_content_btn__U_RhB",scanner_instructions:"scanner_scanner_instructions__fgEDV",scanner_start_btn:"scanner_scanner_start_btn__6z6aQ",scanner_stop_btn:"scanner_scanner_stop_btn__z_c3j",scanner_status:"scanner_scanner_status__AOvwd",scanner_camera:"scanner_scanner_camera__H0Kjz",scanner_instructions_text:"scanner_scanner_instructions_text__1p_sx",scanner_viewfinder:"scanner_scanner_viewfinder__xIWl6",scanner_controls:"scanner_scanner_controls__O6_VU"}}},function(e){e.O(0,[7430,6916,9774,2888,179],function(){return e(e.s=18998)}),_N_E=e.O()}]);

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.