PageSourceSearch

https://tsn.ua/static/build/js/chunks/useProfileApi.BbSHL9GU.js

js tsn.ua collected 2026-10-01 07:07:37 UTC 6,802 bytes, 1 lines download raw bytes

1import{k as R,c as _}from"./convertToUrlSearchParams.D6QR1eDk.js";import{_ as r}from"./index.D_5av9BF.js";import{ab as $,K as O,M as T,L as j}from"./runtime-core.esm-bundler.B6keTsmA.js";const m={set(e,t,a=3600){const s={value:t,expiry:new Date().getTime()+a*1e3};localStorage.setItem(e,JSON.stringify(s))},get(e){const t=localStorage.getItem(e);if(!t)return null;const a=JSON.parse(t);return new Date().getTime()>a.expiry?(localStorage.removeItem(e),null):a.value}},h=$(null),y=O({});let d=null,A=!1;function ne(e){d=e,e.onShow(()=>{A=!0}),e.onHidden(()=>{A=!1,h.value=null})}function I(){function e(o,s){h.value=o,y.value=s??{},A||d==null||d.show()}function t(o,s){h.value=o,y.value=s??{}}function a(){d==null||d.hide()}return{activeComponent:h,activeProps:y,isOpen:T(()=>h.value!==null),open:e,navigate:t,close:a}}const k={LoginModal:()=>r(()=>import("./LoginModal.DiD_W1Ec.js"),[],import.meta.url),RegistrationModal:()=>r(()=>import("./RegistrationModal.CrBgdSt-.js"),[],import.meta.url),ForgotPasswordModal:()=>r(()=>import("./ForgotPasswordModal.DpXiACSn.js"),[],import.meta.url),AuthEmailVerificationModal:()=>r(()=>import("./EmailVerificationModal.Crtf1h_V.js"),[],import.meta.url),EmailVerificationModal:()=>r(()=>import("./EmailVerificationModal.DIirX2IG.js"),[],import.meta.url),ConfirmProfileDeletionModal:()=>r(()=>import("./ConfirmProfileDeletionModal.oFv23NLR.js"),[],import.meta.url),AccountDeletedModal:()=>r(()=>import("./AccountDeletedModal.DrIauCR-.js"),[],import.meta.url),PasswordChangedModal:()=>r(()=>import("./PasswordChangedModal.DPrT9JXo.js"),[],import.meta.url),ConfirmCommentDeletionModal:()=>r(()=>import("./ConfirmCommentDeletionModal.DL0as_0b.js"),[],import.meta.url)},P=I(),E={async open(e,t){const{default:a}=await k[e]();P.open(a,t)},async navigate(e,t){const{default:a}=await k[e]();P.navigate(a,t)},close(){P.close()}},f="access_token",re=()=>{const e=m.get(f);return!!(e&&e.length>0)},ce=()=>{window.location=window.tsn.homePageUrl};function ie(){E.open("LoginModal")}function le(){E.open("RegistrationModal")}const ue={list:e=>`comments/${e}`},de={create:e=>`raw-comments/${e}/create`,list:e=>`raw-comments/${e}`,delete:(e,t)=>`raw-comments/${e}/delete/${t}`,update:(e,t)=>`raw-comments/${e}/update/${t}`,vote:(e,t)=>`raw-comments/${e}/vote/${t}`},c={changePassword:"profile/change-password",personalData:"profile/personal-data",socialAttachCallback:e=>`profile/attach/${e}/callback`,socialAttach:e=>`profile/attach/${e}`,socialDetach:e=>`profile/socials/${e}`,socials:"profile/socials",info:"profile/info"},me={login:"auth/login",logout:"auth/logout",forgotPassword:"auth/forgot-password",register:"auth/register",verifyEmail:"auth/verify-email",resetPassword:"auth/reset-password"},fe={unreadCount:"profile/notifications/unread-count",read:e=>`profile/notifications/read/${e}`,list:"profile/notifications",readAll:"profile/notifications/read-all"},M=window.tsn.jwt.refresh_ttl;let w=null;const L=R.create({prefixUrl:window.tsn.apiUrl,credentials:"include",retry:0,headers:{"content-type":"application/json",Accept:"application/json"},hooks:{beforeRequest:[e=>{const t=m.get(f);t&&e.headers.set("Authorization",`Bearer ${t}`)}],afterResponse:[async(e,t,a)=>{if(a.status!==204&&a.status>=200&&a.status<300){const o=await a.clone().json();o!=null&&o.access_token&&m.set(f,o.access_token,M)}}]}});function b(e){return new Promise(t=>setTimeout(t,e))}function S(){const e=localStorage.getItem("refreshing-token");if(!e)return!0;const t=parseInt(e,10);return Date.now()-t>5e3}function C(){localStorage.setItem("refreshing-token",Date.now().toString())}function V(){localStorage.removeItem("refreshing-token")}async function x(){return w||(w=(async()=>{if(!S())for(let e=0;e<5;e++)S()||await b(500);C();try{return await L.post("auth/refresh").json()}finally{w=null,V()}})()),w}const v=L.extend(e=>{var t,a;return{hooks:{beforeRequest:[...((t=e.hooks)==null?void 0:t.beforeRequest)??[]],afterResponse:[...((a=e.hooks)==null?void 0:a.afterResponse)??[],async(o,s,l)=>{var D;const n=m.get(f);if(n&&n.length>0&&l.status===401)try{const u=await x();if(u.access_token)return o.headers.set("Authorization",`Bearer ${u.access_token}`),R(o)}catch(u){((D=u==null?void 0:u.response)==null?void 0:D.status)===401?m.set(f,null):console.error("Unexpected refresh error",u)}}]}}}),ge=(e,t)=>
1{Object.entries(t).forEach(([a,o])=>{e[a]=o})},pe=e=>{Object.keys(e).forEach(t=>delete e[t])},he=e=>e&&e.auth?e.auth[0]:e&&e.recaptcha?e.recaptcha[0]:e&&Object.values(e).length&&Object.values(e)[0]?Object.values(e)[0][0]:null,we=()=>{m.set(f,null)},i=()=>({get:async(o,s,l)=>{const n=_(s||{});return n.append("lang",window.tsn.currentLanguage),await v.get(o,{searchParams:n,...l}).json()},post:async(o,s,l)=>{const n=_(s||{});return n.append("lang",window.tsn.currentLanguage),await v.post(o,{searchParams:n,...l}).json()},deleteQuery:async(o,s,l)=>{const n=_(s||{});return n.append("lang",window.tsn.currentLanguage),await v.delete(o,{searchParams:n,...l}).json()}}),{post:U}=i(),q=()=>({changePassword:async t=>{const a=await U(c.changePassword,{},{json:{password:t.password,new_password:t.newPassword,new_password_confirmation:t.newPasswordConfirmation}});return{message:a==null?void 0:a.message}}}),{get:Q}=i(),N=()=>({getPersonalData:async()=>{const t=await Q(c.personalData);return{data:t.data,message:t==null?void 0:t.message}}}),{post:z}=i(),B=()=>({editPersonalData:async t=>{const a=await z(c.personalData,{},{json:{first_name:t.firstName,last_name:t.lastName,login:t.login,email_on_comment_reply:t.emailOnCommentReply}});return{data:a.data,message:a==null?void 0:a.message}}}),{deleteQuery:F}=i(),H=()=>({deleteProfile:async t=>{const a=await F(c.personalData,{},{json:{password:t.password}});return{message:a==null?void 0:a.message}}}),{get:J}=i(),K=()=>({getSocialAttachRedirect:async t=>({redirectUrl:(await J(c.socialAttach(t.provider))).redirect_url})}),{deleteQuery:G}=i(),W=()=>({detachSocial:async t=>{const a=await G(c.socialDetach(t.socialId));return{message:a==null?void 0:a.message}}}),{get:X}=i(),Y=()=>({getSocials:async()=>{const t=await X(c.socials);return{data:t.data,message:t==null?void 0:t.message}}}),{get:Z}=i(),ee=()=>({attachSocial:async t=>({redirectUrl:(await Z(c.socialAttachCallback(t.provider),t.queryParams)).redirect_url})}),g=j({response:null,isLoaded:!1});let p=null;const te=()=>({getAccountSummary:async(t=!1)=>{const{get:a}=i();return p||(t&&g.isLoaded&&g.response?g.response:(p=a(c.info).then(o=>{const s={data:o.data,message:o==null?void 0:o.message};return g.response=s,g.isLoaded=!0,s}).finally(()=>{p=null}),p))}}),_e=()=>({...q(),...te(),...N(),...B(),...H(),...K(),...ee(),...W(),...Y()});export{me as a,i as b,pe as c,I as d,ne as e,ge as f,he as g,we as h,re as i,de as j,ue as k,m as l,E as m,fe as n,le as o,ce as r,ie as s,_e as u};

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.