1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8571],{7602:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/dashboard/edit-profile/[tab]",function(){return a(16840)}])},9728:(e,t,a)=>{"use strict";function r(e="generic"){window.dispatchEvent(new CustomEvent("test-auth-required",{detail:{reason:e}}))}a.d(t,{h:()=>r})},15310:(e,t,a)=>{"use strict";a.d(t,{AA:()=>h,AB:()=>p,An:()=>T,Bx:()=>q,Ee:()=>E,F1:()=>x,Ht:()=>y,J9:()=>f,KZ:()=>S,L$:()=>m,MP:()=>v,Mv:()=>$,Nm:()=>R,SE:()=>U,Wl:()=>d,Xs:()=>P,Ym:()=>C,c4:()=>c,hY:()=>o,lH:()=>g,nN:()=>A,nY:()=>z,uj:()=>_});var r=a(91040),s=a(97685),n=a(52673),i=a(9728),l=a(65364);function o(){if("true"===l.env.NEXT_PUBLIC_BACKEND_TESTS_PROXY)return"/api-tests-proxy";let e=void 0!==l&&1?"https://backend.infoedu.uz".replace(/\/$/,""):"https://backend.infoedu.uz";return`${e}/api`}function c(){return(0,n._p)()}let u=r.A.create({baseURL:o(),timeout:12e4,headers:{"Content-Type":"application/json"}});function d(e,t){if(e.response?.status===401)return;let a=function(e){let t=e.response?.data;if(t&&"object"==typeof t){if("string"==typeof t.error)return t.error;if("string"==typeof t.message)return t.message}return e.message?e.message:"So'rov bajarilmadi"}(e);s.Ay.error(t?`${t}: ${a}`:a)}async function m(){let{data:e}=await u.get("/tests/majors");return e}async function h(){let{data:e}=await u.get("/tests/contests");return e}async function x(){let{data:e}=await u.get("/tests/all-contests");return e}async function p(e){let{data:t}=await u.get(`/tests/contests/${e}/subjects`);return t}async function f(e){let{data:t}=await u.post("/tests/start",e);return t}async function g(){let{data:e}=await u.get("/tests/active-session");return e}async function y(e){let{data:t}=await u.get(`/tests/session/${e}`);return t}async function b(e){let{data:t}=await u.post("/tests/save-answer",e);return t}u.interceptors.request.use(e=>{let t=c();return t&&(e.headers.Authorization=`Bearer ${t}`),e}),u.interceptors.response.use(e=>e,e=>{let t=e.response?.status;return 401===t?((0,n.Qt)(),(0,i.h)("session_expired")):t&&t>=500&&s.Ay.error("Server vaqtincha ishlamayapti. Keyinroq urinib koâring."),Promise.reject(e)});let j=e=>new Promise(t=>setTimeout(t,e));async function v(e,t=3){let a;for(let r=0;r<t;r++)try{return await b(e)}catch(e){a=e,r<t-1&&await j(1e3*2**r)}throw a}let w="test_offline_save_queue";function k(){try{let e=localStorage.getItem(w);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function N(e){localStorage.setItem(w,JSON.stringify(e))}function A(e){let t=k();t.push({...e,queuedAt:Date.now()}),N(t)}async function U(){let e=k();if(0===e.length)return;let t=[];for(let a of e){let{queuedAt:e,...r}=a;try{await v(r,3)}catch{t.push(a)}}N(t)}async function S(e){let{data:t}=await u.post("/tests/finish",e);return t}async function _(e){let{data:t}=await u.get(`/tests/result/${e}`);return t}async function C(e){let{data:t}=await u.get(`/tests/result/${e}/review`);return t}async function q(e){let{data:t}=await u.post(`/tests/${e}/analyze`);return t}async function E(e,t){let{data:a}=await u.get(`/tests/contests/${e}/leaderboard`,{params:t?{major_code:t}:void 0});return a}async function z(){let{data:e}=await u.get("/tests/leaderboard");return e}async function $(e){let{data:t}=await u.get(`/tests/contests/${e}/stats`);return t}async function P(){let{data:e}=await u.get("/users/certificates");return e}async function T(e){let{data:t}=await u.post("/users/certificates",e);return t}async function R(e){let{data:t}=await u.delete(`/users/certificates/${e}`);return t}},16840:(e,t,a)=>{"use strict";a.r(t),a.d(t,{__N_SSG:()=>C,default:()=>q});var r=a(37876),s=a(68547),n=a(31777),i=a(92131),l=a(14232),o=a(89099),c=a(97685),u=a(32067),d=a(40959),m=a(72187),h=a(75309);let x=({className:e="",sizeClass:t="h-11",children:a,...s})=>(0,r.jsx)("select",{className:`nc-Select ${t} ${e} block w-full rounded-lg border-neutral-200 bg-white text-sm focus:border-primary-300 focus:ring focus:ring-primary-200 focus:ring-opacity-50 dark:border-neutral-700 dark:bg-neutral-900 dark:focus:ring-primary-600 dark:focus:ring-opacity-25`,...s,children:a});var p=a(66453),f=a(3143),g=a(49105);let y=e=>(0,r.jsx)(g.A,{...e,pattern:"third"});var b=a(73529);let j=["image/jpeg","image/png","image/webp"];function v({kind:e,currentUrl:t,userName:a,onUploaded:s}){let n=(0,l.useRef)(null),[i,o]=(0,l.useState)(!1),[u,d]=(0,l.useState)(null),[m,h]=(0,l.useState)(null),x="avatar"===e,p=m||t,g=async e=>{if(!e)return;if(d(null),!j.includes(e.type))return void d("Faqat JPEG, PNG yoki WEBP rasm yuklash mumkin.");if(e.size>8388608)return void d("Rasm hajmi 8 MB dan oshmasin.");let t=URL.createObjectURL(e);h(t),o(!0);try{let t=x?await (0,b.F4)(e):await (0,b.PY)(e);s(t),c.Ay.success(x?"Profil rasmi yangilandi.":"Muqova yangilandi.",{position:"bottom-center"})}catch(e){d((0,b.Hr)(e))}finally{o(!1),h(null),URL.revokeObjectURL(t),n.current&&(n.current.value="")}};return(0,r.jsxs)("div",{children:[(0,r.jsx)("input",{ref:n,type:"file",accept:j.join(","),className:"hidden",onChange:e=>void g(e.target.files?.[0])}),x?(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsx)(f.A,{imgUrl:p||"",userName:a||"?",sizeClass:"w-20 h-20 text-2xl"}),(0,r.jsxs)("div",{children:[(0,r.jsx)(y,{type:"button",onClick:()=>n.current?.click(),disabled:i,sizeClass:"py-2.5 px-5",fontSize:"text-sm font-medium",children:i?"Yuklanmoqdaâ¦":t?"Rasmni almashtirish":"Rasm yuklash"}),(0,r.jsx)("p",{className:"mt-1.5 text-xs text-neutral-500 dark:text-neutral-400",children:"JPEG, PNG yoki WEBP \xb7 maks 8 MB"})]})]}):(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"relative h-32 w-full overflow-hidden rounded-2xl border border-neutral-200 bg-neutral-100 sm:h-40 dark:border-neutral-700 dark:bg-neutral-900",children:[p?(0,r.jsx)("img",{src:p,alt:"Muqova",className:"h-full w-full object-cover"}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-neutral-400",children:"Muqova rasmi tanlanmagan"}),i&&(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/40 text-sm text-white",children:"Yuklanmoqdaâ¦"})]}),(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3",children:[(0,r.jsx)(y,{type:"button",onClick:()=>n.current?.click(),disabled:i,sizeClass:"py-2.5 px-5",fontSize:"text-sm font-medium",children:t?"Muqovani almashtirish":"Muqova yuklash"}),(0,r.jsx)("span",{className:"text-xs text-neutral-500 dark:text-neutral-400",children:"Keng rasm tavsiya etiladi (masalan 1600\xd7900) \xb7 maks 8 MB"})]})]}),u&&(0,r.jsx)("p",{className:"mt-2 rounded-lg bg-red-50 p-2.5 text-xs text-red-700 dark:bg-red-900/20 dark:text-red-300",children:u})]})}var w=a(46290);let k=["Andijon","Buxoro","Farg'ona","Jizzax","Xorazm","Namangan","Navoiy","Qashqadaryo","Qoraqalpog'iston","Samarqand","Sirdaryo","Surxondaryo","Toshkent","Toshkent shahri"];var N=a(13868);let A=(0,a(17633).A)(),U={displayName:"",bio:"",phoneNumber:"",region:"",birthday:"",website:"",facebookUrl:"",instagramUrl:"",youtubeUrl:"",telegramUrl:"",showStats:!0,showCertificates:!0,showContacts:!1};function S({message:e}){return e?(0,r.jsx)("p",{className:"mt-1 text-xs text-red-600 dark:text-red-400",children:e}):null}
1let _={general:"Umumiy",profile:"Shaxsiy ma'lumotlar",social:"Ijtimoiy tarmoqlar",privacy:"Maxfiylik"};var C=!0;let q=()=>{let{isReady:e,isAuthenticated:t}=(0,n.d4)(e=>e.viewer.authorizedUser),{logout:a,token:f}=(0,s.A)(),g=(0,n.wA)(),y=(0,o.useRouter)(),j=String(y.query.tab||"general"),C=["general","profile","social","privacy"].includes(j)?j:"general",[q,E]=(0,l.useState)(null),[z,$]=(0,l.useState)(U),[P,T]=(0,l.useState)(!0),[R,B]=(0,l.useState)(!1),[M,L]=(0,l.useState)(null),[O,Y]=(0,l.useState)({});(0,l.useEffect)(()=>{e&&!1===t&&y.push("/login")},[t,e,y]),(0,l.useEffect)(()=>{if(!e||!t)return;let a=!1;return T(!0),(0,b.jp)().then(e=>{a||(E(e),$(function(e){return{displayName:e.displayName||"",bio:e.bio||"",phoneNumber:e.phoneNumber||"",region:e.region||"",birthday:e.birthday?String(e.birthday).slice(0,10):"",website:e.website||"",facebookUrl:e.facebookUrl||"",instagramUrl:e.instagramUrl||"",youtubeUrl:e.youtubeUrl||"",telegramUrl:e.telegramUrl||"",showStats:!1!==e.showStats,showCertificates:!1!==e.showCertificates,showContacts:!0===e.showContacts}}(e)),L(null))}).catch(e=>{a||L((0,b.Hr)(e))}).finally(()=>{a||T(!1)}),()=>{a=!0}},[e,t]);let F=(0,l.useMemo)(()=>!!f&&("general"!==C||!!z.displayName.trim()),[f,C,z.displayName]),X=(e,t)=>{$(a=>({...a,[e]:t})),Y(t=>{if(!t[e])return t;let a={...t};return delete a[e],a})},I=async()=>{if(!F)return void c.Ay.error("Ism bo'sh bo'lmasin.");B(!0),Y({});try{let e=await (0,b.r7)(function(e,t){switch(e){case"profile":return{phone_number:t.phoneNumber,region:t.region,birthday:t.birthday};case"social":return{website:t.website,facebook_url:t.facebookUrl,instagram_url:t.instagramUrl,youtube_url:t.youtubeUrl,telegram_url:t.telegramUrl};case"privacy":return{show_stats:t.showStats,show_certificates:t.showCertificates,show_contacts:t.showContacts};default:return{display_name:t.displayName,bio:t.bio}}}(C,z));E(t=>t?{...t,...e}:t),await (0,N.A)(g),c.Ay.success("Profil yangilandi!",{position:"bottom-center"})}catch(t){let e=t.response?.data?.errors;Array.isArray(e)&&Y(Object.fromEntries(e.map(e=>[e.field,e.error]))),c.Ay.error((0,b.Hr)(t),{position:"bottom-center"})}finally{B(!1)}},G=e=>{E(t=>t?{...t,...e}:t),(0,N.A)(g)};return(0,r.jsx)(w.A,{children:(0,r.jsx)("div",{className:"mx-auto max-w-2xl px-4 sm:px-6 lg:px-8",children:P?(0,r.jsx)(u.A,{}):M?(0,r.jsx)("div",{className:"rounded-2xl bg-red-50 p-4 text-sm text-red-700 dark:bg-red-900/20 dark:text-red-300",children:M}):(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-xl font-semibold",children:A["Edit profile"]}),(0,r.jsx)("p",{className:"mt-1 text-sm text-neutral-500 dark:text-neutral-400",children:_[C]})]}),"general"===C&&(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:"Profil rasmi"}),(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(v,{kind:"avatar",currentUrl:q?.avatarUrl||null,userName:z.displayName,onUploaded:G})})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:"Muqova rasmi"}),(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(v,{kind:"cover",currentUrl:q?.coverUrl||null,onUploaded:G})})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:A["Display Name"]}),(0,r.jsx)(m.A,{className:"mt-1.5",value:z.displayName,maxLength:80,onChange:e=>X("displayName",e.target.value)}),(0,r.jsx)(S,{message:O.display_name})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:A["Biographical Info"]}),(0,r.jsx)(h.A,{className:"mt-1.5 rounded-2xl",rows:4,maxLength:2e3,placeholder:"O'zingiz haqingizda bir necha so'z",value:z.bio,onChange:e=>X("bio",e.target.value)}),(0,r.jsxs)("p",{className:"mt-1 text-xs text-neutral-400",children:[z.bio.length,"/2000"]}),(0,r.jsx)(S,{message:O.bio})]})]}),"profile"===C&&(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:A.Email}),(0,r.jsx)(m.A,{className:"mt-1.5 bg-neutral-50 dark:bg-neutral-900",value:q?.email||"",readOnly:!0,placeholder:"â"}),(0,r.jsx)("p",{className:"mt-1.5 text-xs text-neutral-500 dark:text-neutral-400",children:"Email Google yoki Telegram akkauntingizdan olinadi, shuning uchun bu yerda o'zgartirilmaydi."})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:"Telefon raqam"}),(0,r.jsx)(m.A,{className:"mt-1.5",value:z.phoneNumber,inputMode:"tel",placeholder:"+998 90 123 45 67",onChange:e=>X("phoneNumber",e.target.value)}),(0,r.jsx)("p",{className:"mt-1.5 text-xs text-neutral-500 dark:text-neutral-400",children:"Xalqaro formatda, 9â15 raqam."}),(0,r.jsx)(S,{message:O.phone_number})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:"Viloyat"}),(0,r.jsxs)(x,{className:"mt-1.5 rounded-2xl",value:z.region,onChange:e=>X("region",e.target.value),children:[(0,r.jsx)("option",{value:"",children:"Tanlanmagan"}),k.map(e=>(0,r.jsx)("option",{value:e,children:e},e))]}
1),(0,r.jsx)(S,{message:O.region})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:"Tug'ilgan kun"}),(0,r.jsx)(m.A,{className:"mt-1.5",type:"date",value:z.birthday,onChange:e=>X("birthday",e.target.value)}),(0,r.jsx)(S,{message:O.birthday})]})]}),"social"===C&&(0,r.jsxs)("div",{className:"space-y-5",children:[(0,r.jsx)("p",{className:"text-sm text-neutral-500 dark:text-neutral-400",children:A["Add elsewhere links to your profile."]}),[["website",A.Website,"https://example.com"],["facebookUrl","Facebook","https://facebook.com/..."],["instagramUrl","Instagram","https://instagram.com/..."],["youtubeUrl","YouTube","https://youtube.com/@..."],["telegramUrl","Telegram","https://t.me/..."]].map(([e,t,a])=>(0,r.jsxs)("div",{children:[(0,r.jsx)(d.A,{children:t}),(0,r.jsx)(m.A,{className:"mt-1.5",value:z[e],placeholder:a,onChange:t=>X(e,t.target.value)}),(0,r.jsx)(S,{message:O["website"===e?"website":e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)]})]},e))]}),"privacy"===C&&(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("p",{className:"text-sm text-neutral-500 dark:text-neutral-400",children:"Ommaviy profilingizda nima ko'rinishini tanlang. Email hech qachon ko'rsatilmaydi."}),[["showStats","Test statistikasi","Testlar soni va o'rtacha ball"],["showCertificates","Sertifikatlar","CEFR va milliy sertifikatlar"],["showContacts","Bog'lanish ma'lumotlari","Telefon raqam, viloyat va tug'ilgan kun"]].map(([e,t,a])=>(0,r.jsxs)("label",{className:"flex cursor-pointer items-start gap-3 rounded-2xl border border-neutral-200 p-4 dark:border-neutral-700",children:[(0,r.jsx)("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-neutral-300 text-primary-600 focus:ring-primary-500 dark:border-neutral-600 dar
1k:bg-neutral-700",checked:z[e],onChange:t=>X(e,t.target.checked)}),(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{className:"block text-sm font-medium",children:t}),(0,r.jsx)("span",{className:"block text-xs text-neutral-500 dark:text-neutral-400",children:a})]})]},e))]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,r.jsx)(p.A,{type:"button",loading:R,onClick:I,children:A["Update profile"]}),(0,r.jsx)("button",{type:"button",className:"text-sm text-neutral-500",onClick:()=>{g((0,i.C0)()),g((0,i.Y4)({isAuthenticated:!1,isReady:!0,loginUrl:null})),a()},children:A["Log out"]})]})]})})})}},40959:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var r=a(37876);let s=({className:e="",children:t,...a})=>(0,r.jsx)("label",{className:`nc-Label ${e} text-sm font-medium text-neutral-800 dark:text-neutral-300`,...a,children:t})},73529:(e,t,a)=>{"use strict";a.d(t,{F4:()=>c,Hr:()=>i,Nf:()=>p,PY:()=>u,VW:()=>g,XP:()=>m,gK:()=>h,jK:()=>d,jS:()=>x,jp:()=>l,r7:()=>o,vT:()=>f});var r=a(91040),s=a(15310);let n=r.A.create({baseURL:(0,s.hY)(),timeout:15e3});function i(e){let t=e.response?.data;if(t&&"object"==typeof t){if("string"==typeof t.error&&t.error)return t.error;if("string"==typeof t.message&&t.message)return t.message}return e.message||"So'rov bajarilmadi"}async function l(){let{data:e}=await n.get("/auth/me");return e}async function o(e){let{data:t}=await n.patch("/users/me",e);return t}async function c(e){let t=new FormData;t.append("avatar",e);let{data:a}=await n.post("/users/me/avatar",t);return a.profile}async function u(e){let t=new FormData;t.append("cover",e);let{data:a}=await n.post("/users/me/cover",t);return a.profile}async function d(){let{data:e}=await n.get("/users/me/stats");return e}async function m(e=5,t=0){let{data:a}=await n.get("/tests/history",{params:{limit:e,offset:t}});return a}async function h(){let{data:e}=await n.get("/users/me/telegram");return e}async function x(){let{data:e}=await n.post("/users/me/telegram/link-code");return e}async function p(){let{data:e}=await n.post("/users/me/telegram/oidc-ticket");return e}async function f(e){let{data:t}=await n.patch("/users/me/telegram/settings",{notificationsEnabled:e});return t}async function g(){let{data:e}=await n.delete("/users/me/telegram");return e}n.interceptors.request.use(e=>{let t=(0,s.c4)();return t&&(e.headers.Authorization=`Bearer ${t}`),e})},75309:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var r=a(37876);let s=(0,a(14232).forwardRef)(({className:e="",children:t,...a},s)=>(0,r.jsx)("textarea",{ref:s,className:`block w-full rounded-xl border-neutral-200 bg-white text-sm hover:ring hover:ring-primary-200/50 focus:border-primary-300 focus:ring focus:ring-primary-200/50 dark:border-neutral-600 dar
1k:bg-transparent dark:hover:ring-primary-500/30 dark:focus:ring-primary-500/30 ${e}`,rows:4,...a,children:t}))}},e=>{e.O(0,[1040,6290,636,6593,8792],()=>e(e.s=7602)),_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.