tab--r1i_QxL.js 8.1 KB

12
  1. import{Z as o,a0 as E,Y as v,i as h,a2 as b,aj as O,by as D,dh as C,cd as G,b8 as V,R as j,U as T,W as q,bp as H,a5 as f,av as W,fh as Z,aw as Q,ab as X,ac as K,bQ as Y,aa as x,bw as z,a7 as J,X as ee,k as te,a3 as se}from"./index-D_EGaVbS.js";import{c as re,a as M,S as R,R as S,b as U,t as ne,h as ae,u as oe,I as ie}from"./appDialogsManager-B7M3PQZv.js";import{T as I}from"./chatBackground-j-mSAtH4.js";import{u as ce,S as le}from"./starsRangeInput-DUKz4CVH.js";import"./page-C6VUMrJP.js";import"./avatar-C4f7PAeP.js";import"./putPreloader-NOkcnuw_.js";import"./htmlToSpan-DhAls8qz.js";import"./textToSvgURL-Cnw_Q8Rw.js";import"./fastBlur-Co-79rP4.js";import"./countryInputField-yId9tpyt.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./codeInputField-4XE97kZh.js";const ue=({hasChanges:e,saveAllSettings:t})=>async()=>{if(!e())return;const s={langKey:"Save"};try{await re({titleLangKey:"UnsavedChanges",descriptionLangKey:"UnsavedChangesDescription.Privacy",button:s,buttons:[s,{isCancel:!0,langKey:"Discard"}],rejectWithReason:!0}),t()}catch(n){if(n==="closed")throw new Error}},F=(e=!1)=>async(t,s)=>{const n=["scale(0)","scale(1)"];e&&n.reverse(),await t.animate({transform:n},{duration:80}).finished,s()},de=e=>o(I,{get onEnter(){return F()},get onExit(){return F(!0)},get children(){return e.children}});var m=(e=>(e[e.Everybody=1]="Everybody",e[e.ContactsAndPremium=2]="ContactsAndPremium",e[e.Paid=3]="Paid",e))(m||{});const L="inputPrivacyKeyNoPaidMessages",ge=[{_:"inputPrivacyValueAllowContacts"}],_=120,me=b("<div>"),pe=b("<span class=primary>"),he=e=>{const[t,{AppAddMembersTab:s}]=M(),{commissionPercents:n,willReceiveDollars:l}=ce(()=>e.store.stars),i=()=>{t.slider.createTab(s).open({type:"privacy",skippable:!0,title:"PaidMessages.RemoveFee",placeholder:"PrivacyModal.Search.Placeholder",takeOut:a=>{e.setStore("chosenPeers",a)},selectedPeerIds:[...e.store.chosenPeers]})},u=()=>{if(!e.store.chosenPeers.length)return h("PrivacySettingsController.AddUsers");const{users:a,chats:d}=e.chosenPeersByType;return O([a.length?h("Users",[a.length]):null,d.length?h("Chats",[d.length]):null].filter(Boolean),!1)};return o(I,{onEnter:async(a,d)=>{const r=a;r.style.opacity="0",await e.exitAnimationPromise,await r.animate({opacity:[0,1]},{duration:_}).finished,r.style.removeProperty("opacity"),d()},onExit:async(a,d)=>{await a.animate({opacity:[1,0]},{duration:_}).finished,d()},get children(){return o(E,{get when(){return e.isPaid},get children(){const a=me();return v(a,o(R,{name:"PaidMessages.SetPrice",caption:"PaidMessages.SetPriceDescription",get captionArgs(){return[n(),l()]},get children(){return o(le,{get value(){return e.store.stars},get onChange(){return e.setStore.bind(null,"stars")}})}}),null),v(a,o(R,{name:"PrivacyExceptions",caption:"PaidMessages.RemoveFeeDescription",get children(){return o(S,{get title(){return h("PaidMessages.RemoveFee")},get rightContent(){return(()=>{const d=pe();return v(d,u),d})()},clickable:i})}}),null),a}})}})};function Pe(e,t,s){s?e[t]=!0:delete e[t]}const $=D("useSaveSettings"),ye=({store:e,globalPrivacy:t,isPaid:s,hasChanges:n,chosenPeersByType:l})=>{const{rootScope:i}=C(),[u]=M(),a=()=>{const c=structuredClone(t());c.noncontact_peers_paid_stars=s()?e.stars:void 0,c.pFlags??(c.pFlags={}),Pe(c.pFlags,"new_noncontact_peers_require_premium",e.option===m.ContactsAndPremium),$("saving settings :>> ",c);const p=i.managers.appPrivacyManager.setGlobalPrivacySettings(c);return u.payload.onSaved(p),p},d=async()=>{const c=[],{chats:p,users:g}=l();return c.push(...ge),p.length&&c.push({_:"inputPrivacyValueAllowChatParticipants",chats:p}),g.length&&c.push({_:"inputPrivacyValueAllowUsers",users:await Promise.all(g.map(A=>i.managers.appUsersManager.getUserInput(A)))}),$("saving rules :>> ",c),i.managers.appPrivacyManager.setPrivacy(L,c)};let r=!1;return async()=>{if(!(r||!n())){r=!0;try{await Promise.all([a(),s()?d():void 0]),u.close()}finally{r=!1}}}},ve="_Radio_8rde5_36",fe="_floating_8rde5_62",Se="_checked_8rde5_66",w={Radio:ve,floating:fe,checked:Se},_e=b("<span>"),k=e=>{const[t,s]=G(e,["checked","floating","class","classList"]);return(()=>{const n=_e();return V(n,j({get class(){return w.Radio},get classList(){return{[t.class]:!!t.class,[w.checked]:t.checked,[w.floating]:t.floating,"offset-left":t.floating,...t.classList}}},s),!1,!1),n})()},N=()=>{const{rootScope:e}=C(),[t,s]=T(e.premium),n=new H;return n.add(e)("premium_toggle",l=>{s(l)}),q(()=>{n.removeAll()}),t},be=10,Ce=e=>{const{PopupPremium:t}=C(),s=N(),n=i=>()=>{if(s())return i();ne({langPackKey:"PrivacySettings.Messages.PremiumError",langPackArguments:[U(()=>{ae(),t.show({feature:"message_privacy"})})]})},l=o(I,{mode:"outin",onEnter:async(i,u)=>{await i.animate({opacity:[0,1]},{duration:_}).finished,u()},onExit:async(i,u)=>{const a=i.animate({opacity:[1,0]},{duration:_}).finished;e.onExitAnimationPromise(a),await a,u()},get children(){return f(()=>!e.isPaid)()?h("Privacy.MessagesInfo",[U(()=>void t.show())]):h("PaidMessages.ChargeForMessagesDescription")}});return o(R,{name:"PrivacyMessagesTitle",caption:l,get children(){return[o(S,{get checkboxField(){return o(k,{floating:!0,get checked(){return e.store.option===m.Everybody}})},clickable:()=>{e.setStore("option",m.Everybody)},get title(){return h("PrivacySettingsController.Everbody")}}),o(S,{get checkboxField(){return f(()=>!!s())()&&o(k,{floating:!0,get checked(){return e.store.option===m.ContactsAndPremium}})},get icon(){return s()?void 0:"premium_lock"},get clickable(){return n(()=>{e.setStore("option",m.ContactsAndPremium)})},get title(){return h("Privacy.ContactsAndPremium")}}),o(S,{get checkboxField(){return f(()=>!!s())()&&o(k,{floating:!0,get checked(){return e.isPaid}})},get icon(){return s()?void 0:"premium_lock"},get clickable(){return n(()=>{e.setStore(i=>({option:m.Paid,stars:i.stars||be}))})},get title(){return h("PaidMessages.ChargeForMessages")}})]}})},Ae=({isReady:e,globalPrivacy:t,currentOption:s,currentAllowedChats:n,currentAllowedUsers:l})=>{let i={};const[u,a]=W({});Z(()=>{e()&&(i={option:s(),stars:Number(t().noncontact_peers_paid_stars)||void 0,chosenPeers:[...l(),...n()]},a(Q(structuredClone(i))))});const[d,r]=T(!1),P=X(r,200,!0);K(()=>{const g=c()?[]:["chosenPeers","stars"];P(!Y(u,i,g))});const c=f(()=>u.option===m.Paid);return[u,a,{hasChanges:d,isPaid:c,chosenPeersByType:()=>({chats:u.chosenPeers.filter(g=>g.isAnyChat()).map(g=>g.toChatId()),users:u.chosenPeers.filter(g=>g.isUser())})}]},we=e=>e instanceof Object?e.user_id?.toPeerId(!0):e.toPeerId(!0),ke=()=>{const{rootScope:e}=C(),t=oe(),s=N(),[n]=x(()=>{const r=e.managers.appPrivacyManager.getPrivacy(L);return t.collect(r),r}),[l]=x(()=>{const r=e.managers.appPrivacyManager.getGlobalPrivacySettings();return t.collect(r),r});return{isReady:()=>n.state==="ready"&&l.state==="ready",globalPrivacy:l,privacyRules:n,currentOption:()=>s()?l().noncontact_peers_paid_stars?m.Paid:l().pFlags.new_noncontact_peers_require_premium?m.ContactsAndPremium:m.Everybody:m.Everybody,currentAllowedUsers:()=>n()?.find(r=>r._==="privacyValueAllowUsers")?.users?.map(r=>r.toPeerId())||[],currentAllowedChats:()=>n()?.find(r=>r._==="privacyValueAllowChatParticipants")?.chats?.map(we)?.filter(r=>r!==void 0)||[]}},Ee=b('<button class="btn-icon blue">'),B=D("MessagesPrivacyTab"),Oe=()=>{const[e]=M(),{isReady:t,globalPrivacy:s,privacyRules:n,currentOption:l,currentAllowedUsers:i,currentAllowedChats:u}=ke(),[a,d,{isPaid:r,hasChanges:P,chosenPeersByType:c}]=Ae({isReady:t,globalPrivacy:s,currentOption:l,currentAllowedChats:u,currentAllowedUsers:i}),p=ye({store:a,globalPrivacy:s,isPaid:r,hasChanges:P,chosenPeersByType:c});e.isConfirmationNeededOnClose=ue({hasChanges:P,saveAllSettings:p});const[g,A]=T();return z&&K(()=>{B("privacyRules() :>> ",n()),B("globalPrivacy() :>> ",s())}),o(E,{get when(){return t()},get children(){return[o(J,{get mount(){return e.header},get children(){return o(de,{get children(){return o(E,{get when(){return P()},get children(){const y=Ee();return y.$$click=()=>void p(),ee(te,y,()=>!0),v(y,o(ie,{icon:"check"})),y}})}})}}),o(Ce,{get isPaid(){return r()},store:a,setStore:d,onExitAnimationPromise:A}),o(he,{get isPaid(){return r()},store:a,setStore:d,get chosenPeersByType(){return c()},get exitAnimationPromise(){return g()}})]}})};se(["click"]);export{Oe as default};
  2. //# sourceMappingURL=tab--r1i_QxL.js.map