Repository navigation
Expand file tree
/
Copy pathaiEditorPopup-D7W8es0h.js
More file actions
3 lines (3 loc) · 14.1 KB
/
Copy pathaiEditorPopup-D7W8es0h.js
File metadata and controls
3 lines (3 loc) · 14.1 KB
1
2
3
//# allFunctionsCalledOnLoad
import{t as e}from"./touchSupport-BE13YGjh.js";import{_ as t,n}from"./rootScope-Bvsn3YYP.js";import{A as r,I as i,O as a,S as o,f as s,g as c,h as l,i as u,j as d,l as f,o as p,p as m,s as h,u as g,v as _,y as v}from"./solid-Beq2bZCx.js";import{n as y}from"./bindManagersToAccount-JVm7nXNI.js";import{a as b,n as x,o as S}from"./store-CyBR0Q3R.js";import{c as C,g as w,h as T,o as E,s as D}from"./web-BIda0ujS.js";import{r as O}from"./hotReloadGuard-CHYXNvhm.js";import{t as k}from"./ripple-DVv8GiXp.js";import{t as ee}from"./classNames-HGN7N_ne.js";import{t as A}from"./iconTsx-B6kOwxE-.js";import{t as j}from"./i18n-D1s1fysg.js";import{t as M}from"./buttonTsx-BWzWDe7L.js";import{n as N}from"./isDocumentRTL-D2Q0700l.js";import{t as te}from"./scrollable2-kPNG-GU4.js";import{a as ne}from"./sticker-crDJZoNb.js";import{C as P,T as re,x as F}from"./index-kWWFxlHg.js";import{t as I}from"./transition-Ck57783R.js";import{t as L}from"./transitionGroup-D6noc0VU.js";import{a as ie,c as R,i as ae}from"./openEditors-CzYjk_4s.js";import{t as oe}from"./space-BaXxGDDl.js";import{c as z,k as se,x as ce}from"./emoticonsDropdown-C4wjZfXK.js";import{l as le}from"./pickKeys-KCooIRBj.js";import{t as ue}from"./heightTransition-SpCfds_D.js";import{a as B,r as V,t as H}from"./previewCard-s9v3XHvP.js";import{_ as U,a as W,c as G,d as K,f as de,g as fe,h as pe,i as q,l as J,m as me,n as he,o as ge,p as _e,r as ve,s as Y,t as ye,u as be,v as xe}from"./parts-DNMaiNXX.js";import{t as Se}from"./autoHeight-5WV3KeeT.js";import{t as Ce}from"./useObserveResize-B5lgPgyJ.js";import{t as we}from"./useScrollPosition-Bbj6Nmp4.js";import{n as Te,t as Ee}from"./limits-C8n8LZoo.js";import{xt as De}from"./appDialogsManager-rnxHvj7E.js";var X=e=>{let{text:t}=i(be),{Wrapper:n,onMeasured:r}=Y();return s(Se,{get outerClass(){return U.tabContent},get children(){return s(n,{get children(){return[s(V,{get isAppearing(){return e.isAppearing},text:t,onMeasured:r}),s(H,{}),s(he,{useDiffText:!0,get isAppearing(){return e.isAppearing},composeMessageWithAiArgs:{text:t,proofRead:!0}})]}})}})},Oe={fieldSectionCaption:`_fieldSectionCaption_1mg0c_1`};function ke(e){let{container:t,innerThreshold:n,outerThreshold:i,axis:a,interval:o,startInterval:s=o,rampFactor:c=()=>.8,startDelay:u=()=>0,listenTo:d=()=>window,enabled:f=()=>!0,smooth:p=()=>!0,padding:m=()=>0}=e;l(()=>{let e=t();if(!e||!f())return;let l=0,h=0,g=!1,_=null,v=null,y=null,b=0,x=()=>a()===`horizontal`,S=()=>N(e),C=t=>{let n=e.getBoundingClientRect(),r=Array.from(e.children);if(r.length===0)return;let i=x(),a=i?n.left:n.top,o=i?n.right:n.bottom,s=null,c=i&&S();if(t>0)for(let e=0;e<r.length;e++){let t=r[c?r.length-1-e:e];if(!(t instanceof HTMLElement))continue;let n=t.getBoundingClientRect();if((i?n.right:n.bottom)>o+1){s=t;break}}else for(let e=r.length-1;e>=0;e--){let t=r[c?r.length-1-e:e];if(!(t instanceof HTMLElement))continue;let n=t.getBoundingClientRect();if((i?n.left:n.top)<a-1){s=t;break}}if(!s)return;let l=s.getBoundingClientRect(),u;u=t>0?(i?l.right:l.bottom)-o+m():(i?l.left:l.top)-a-m();let d=p()?R():`auto`;i?e.scrollBy({left:u,behavior:d}):e.scrollBy({top:u,behavior:d})},w=t=>{let n=x(),r=n?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight,i=n?e.scrollLeft+(S()?r:0):e.scrollTop;return t<0?i>0:i<r-1},T=()=>{if(!g)return null;let t=e.getBoundingClientRect(),r=x(),a=r?l:h,o=r?t.left:t.top,s=r?t.right:t.bottom,c=r?h:l,u=r?t.top:t.left,d=r?t.bottom:t.right;if(c<u||c>d)return null;let f=n(),p=i(),m=a-o,_=s-a;return m>=-p&&m<=f?-1:_>=-p&&_<=f?1:null},E=()=>{_=null,y!=null&&(clearTimeout(y),y=null),v!=null&&(clearTimeout(v),v=null)},D=()=>{if(v=null,_==null)return;if(!w(_)){E();return}C(_);let e=o(),t=c();b=Math.max(e,b*t),v=setTimeout(D,b)},O=()=>{y=null,_!=null&&(b=Math.max(o(),s()),D())},k=e=>{if(_===e||(E(),!w(e)))return;_=e;let t=u();t>0?y=setTimeout(O,t):O()},ee=()=>{let e=T();e==null?E():k(e)},A=e=>{l=e.clientX,h=e.clientY,g=!0,ee()},j=d();j&&(j.addEventListener(`pointermove`,A),r(()=>{j.removeEventListener(`pointermove`,A),E()}))})}var Ae=T(`<div>`),je=T(`<div><div><div>`),Me=T(`<div style=overflow:hidden><div>`),Z=()=>{let{rootScope:t}=O(),n=re(),a=i(be),{text:d,initialTones:f,promptTextSignal:[p,y],primaryActionSignal:[,b],resultTextSignal:[w],resultRichMessageSignal:[T]}=a,D=!e,[k,M]=o(!1),[N,ne]=o(!1),[P,F]=o(!1),[I,R]=o(),[z,se]=o(),ce=fe(),le=()=>[...p()].length,B=()=>!!p().trim()&&le()<=ce()&&!N(),W=()=>!!(T()||w()),{appliedPrompt:G,generate:K,reset:J}=me({active:P,canGenerate:B,prompt:p}),ge=Ee(),ve=D?ae(I):{width:0,height:0},Y=D?we(I,`x`):()=>0,xe=()=>Y()<=1,Se=()=>!I()||I().scrollWidth-Y()-ve.width<=1,Ce=c(()=>{let e=z(),n=e?._===`aiComposeTone`?e.author_id?.toPeerId():void 0;return n===t.myId?void 0:n}),[X]=v(()=>!f||void 0,()=>t.managers.aiTonesManager.getTones(),f?{initialValue:f}:void 0),[Z,Q]=x([]);m(()=>{X.state===`ready`&&(Q(X()),a.initialTones=S(Z))});let Ie=()=>Z.filter(e=>e._===`aiComposeTone`).length;D&&ke({axis:()=>`horizontal`,container:I,listenTo:()=>n.element,innerThreshold:()=>32,outerThreshold:()=>16,interval:()=>320,startInterval:()=>800,startDelay:()=>200,padding:()=>4,rampFactor:()=>.75});let $=e=>{g(()=>{F(!1),J(),e===z()?se():se(e)})},Le=()=>{let e=!P();g(()=>{F(e),J(),se(),e&&M(!1)})},Re=e=>{y(e),J(e)},ze=pe({active:P,onSubmit:K});l(()=>{if(!P()||W())return;let e={disabled:()=>!B(),langKey:`AiEditor.Generate`,onClick:K};b(e),r(()=>b(t=>t===e?void 0:t))});let Be=()=>{let e=z();if(e)return e._===`aiComposeTone`?(ie(()=>({...e})),e.id.toString()):e.tone},Ve=e=>{if(e._!==`aiComposeTone`)return;let t=!e.pFlags.creator;return{isSaved:t,onEdit:Ne({tone:e,tones:Z,setTones:Q}),onShare:Pe({tone:e}),onDelete:Fe({tone:e,isSaved:t,setTones:Q})}};return(()=>{var e=je(),t=e.firstChild,r=t.firstChild;return C(r,s(te,{get class(){return U.tonesList},ref:R,axis:`x`,relative:!0,get children(){return s(L,{name:`fade-2`,moveClass:`t-move`,onBeforeExit:e=>e.classList.add(U.exit),get children(){return[s(q,{icon:`prompt`,get name(){return s(j,{key:`AiEditor.Prompt`})},get selected(){return P()},onClick:Le}),s(h,{get when(){return X.state===`ready`},get children(){return[s(u,{each:Z,children:e=>s(q,{get docId(){return e.emoji_id},get name(){return e.title},get selected(){return e===z()},onClick:[$,e],get withContextMenu(){return Ve(e)}})}),s(h,{get when(){return Ie()<ge()},get children(){return s(ye,{onCreate:e=>{I()?.scrollTo({left:0,behavior:`instant`}),Q(t=>[e,...t])}})}})]}}),s(h,{get when(){return X.state===`pending`},get children(){return[1,2,3,4].map(()=>(()=>{var e=Ae();return C(e,s(De.Div,{get class(){return U.toneSkeletonIcon},secondary:!0}),null),C(e,s(De.Div,{get class(){return U.toneSkeletonText},textLine:!0,secondary:!0}),null),_(()=>E(e,U.toneSkeleton)),e})())}})]}})}})),C(t,D&&[s(A,{get class(){return ee(U.sectionArrow,U.sectionArrowStart)},get classList(){return{[U.hidden]:xe()}},icon:`arrowhead`}),s(A,{get class(){return ee(U.sectionArrow,U.sectionArrowEnd)},get classList(){return{[U.hidden]:Se()}},icon:`arrowhead`})],null),C(e,s(oe,{amount:`1rem`}),null),C(e,s(_e,{get children(){return s(L,{name:`fade-2`,moveClass:`t-move-std`,onBeforeExit:e=>{e instanceof HTMLElement&&e.classList.add(U.exit)},get children(){return[s(h,{get when(){return P()},get children(){var e=Ae();return C(e,s(de,{instanceRef:ze,label:`AiEditor.PromptPlaceholder`,get maxLength(){return ce()},onRawInput:Re,get value(){return p()}})),_(()=>E(e,U.promptField)),e}}),s(V,{isAppearing:!1,text:d,get onEmojify(){return!k()&&!z()&&!P()?()=>M(!0):void 0}}),s(h,{get when(){return k()||z()||G()},get children(){return[s(H,{}),s(he,{get emojify(){return k()},onEmojify:()=>M(!k()),onPendingChange:ne,get composeMessageWithAiArgs(){return{text:d,customPrompt:G(),toneNameOrId:Be(),emojify:k()}}})]}})]}})}}),null),C(e,s(ue,{get children(){return s(h,{get when(){return Ce()},children:e=>(()=>{var t=Me(),r=t.firstChild;return C(r,s(j,{key:`AiEditor.StyleBy`,get args(){return[s(Te,{get peerId(){return e()},onClick:()=>n.hide()})]}})),_(()=>E(r,Oe.fieldSectionCaption)),t})()})}}),null),_(e=>{var n=U.sectionWrapper,i=U.section;return n!==e.e&&E(t,e.e=n),i!==e.t&&E(r,e.t=i),e},{e:void 0,t:void 0}),e})()},Ne=({tone:e,tones:t,setTones:n})=>{let{rootScope:r,HotReloadGuard:i}=O();if(e.pFlags.creator)return()=>{G({HotReloadGuard:i,initialValues:{title:e.title,emojiId:e.emoji_id,prompt:e.prompt,displayAuthor:!!e.author_id},titleLangKey:`AiEditor.NewStyle.TitleEdit`,submitLangKey:`Save`,errorLangKey:`AiEditor.NewStyle.ErrorEdit`,onSubmit:async i=>{let a=await r.managers.aiTonesManager.editTone({toneId:e.id.toString(),...i});for(let[t]of W)try{JSON.parse(t).toneNameOrId.toString()===e.id.toString()&&W.delete(t)}catch{}let o=t.find(t=>t._===`aiComposeTone`&&t.id.toString()===e.id.toString());o&&g(()=>{n(t=>[o,...t.filter(t=>t._!==`aiComposeTone`||t.id.toString()!==e.id.toString())]),n(0,b(a))})}})}},Pe=({tone:e})=>{let{rootScope:t,showSharingPickerPopup:n,PaidMessagesInterceptor:r}=O();return()=>{n({onSelect:async([n])=>{let i=y(t.managers);if(!n)return;let a=await r.prepareStarsForPayment({peerId:n.peerId,messageCount:1});if(a===r.PaymentRejectedSymbol)throw Error();let o=`https://t.me/addstyle/`+e.slug;i.appMessagesManager.sendText({peerId:n.peerId,threadId:n.threadId,replyToMonoforumPeerId:n.monoforumThreadId,text:o,confirmedPaymentResult:a})}})}},Fe=({tone:e,isSaved:t,setTones:n})=>{let{rootScope:r,toastNew:i,confirmationPopup:a}=O();return async()=>{let o=y(r.managers);try{if(t)await o.aiTonesManager.removeSavedTone(e.id);else{try{await a({titleLangKey:`AiEditor.DeleteStyle.Title`,descriptionLangKey:`AiEditor.DeleteStyle.Description`,button:{langKey:`Delete`,isDanger:!0}})}catch{return}await o.aiTonesManager.deleteTone(e.id.toString())}n(t=>t.filter(t=>t._!==`aiComposeTone`||t.id!==e.id))}catch{i({langPackKey:`AiEditor.StyleRemoveError`})}}},Q=T(`<span>`),Ie=e=>{let{usePeerTranslation:t,pickLanguage:n}=O(),{peerId:r,text:i}=K(),a=t(r),[c,l]=o(!1),[u,d]=o(a.language()),{Wrapper:f,onMeasured:p}=Y(),m=async()=>{let e=await n(!1);d(e),a.setLanguage(e)};return s(Se,{get outerClass(){return U.tabContent},get children(){return s(f,{get children(){return[s(V,{get isAppearing(){return e.isAppearing},text:i,onMeasured:p}),s(H,{}),s(he,{get isAppearing(){return e.isAppearing},get overrideTitle(){return s(j,{get class(){return B.resultTitle},key:`AiEditor.TranslateTo`,get args(){return[(()=>{var e=Q();return e.$$click=m,w(k,e,()=>!0),C(e,s(j,{get key(){return`Language.${u()}`}})),_(()=>E(e,B.resultLanguage)),e})()]}})},get emojify(){return c()},onEmojify:()=>l(!c()),get composeMessageWithAiArgs(){return{text:i,translateTo:u(),emojify:c()}}})]}})}})};D([`click`]);var $=T(`<div>`),Le=T(`<div> `),Re=T(`<div><div>`),ze=()=>{let{peerId:e,isScheduled:r,onApply:i,onApplyRichMessage:a,onSend:c,onSendRichMessage:l,canSendWhenOnline:u,actionPending:m,primaryActionSignal:[g],resultTextSignal:[v],resultRichMessageSignal:[y]}=K(),b=re(),x=b.middlewareHelper.get(),S=()=>!b.destroyed&&x(),{toastNew:w,I18n:T}=O(),[D,k]=o(),[N,P]=o(!1),F=()=>!!(y()||v()),L=()=>F()&&!m()&&!N(),ie=()=>{if(!S()||!L())return;let e=y(),t=v(),n=D();if(e||t&&c)return r=>{if(S()){if(e&&l)return l(e,{...r,effect:n});if(t&&c)return c(t,{...r,effect:n})}}},R=e=>ie()?.(e),ae=async()=>{let e=ie();if(e){P(!0);try{let t=await u?.();if(!S())return;z({canSendWhenOnline:t,onPick:(t,n,r)=>e({scheduleDate:t,scheduleRepeatPeriod:n,silent:r})})}catch{S()&&w({langPackKey:`Error.AnError`})}finally{P(!1)}}},ue=()=>{L()&&(r?ae():R())},[B,V]=o(1),[H,W]=o(!1),[G,de]=o(),[fe,pe]=o(),q,J=le(()=>{q?.onSizeChange()},100,!1,!0);return Ce(fe,J),Ce(G,J),(()=>{var o=Re(),b=o.firstChild;return C(o,s(ve,{get items(){return[{label:`Translate`,icon:`premium_translate`,key:0},{label:`AiEditor.Style`,icon:`edit_stars`,key:1},{label:`AiEditor.Fix`,icon:`search_check`,key:2}]},get activeKey(){return B()},onTabChange:V}),b),C(o,s(oe,{amount:`0.5rem`}),b),C(o,s(te,{tabIndex:0,ref:de,get class(){return U.scrollable},relative:!0,withBorders:`both`,contextRef:e=>void(q=e),get children(){var e=Le();return e.firstChild,C(e,s(Se,{ref:pe,get outerClass(){return U.autoHeight},get hasTransition(){return H()},overflowHidden:!0,get children(){return s(I,{name:`fade-2`,onBeforeExit:e=>{e.classList.add(U.exit),W(!0)},onAfterExit:()=>W(!1),onBeforeEnter:()=>W(!0),onAfterEnter:()=>W(!1),get children(){return s(f,{get children(){return[s(p,{get when(){return B()===0},children:e=>{let t=ge(H);return(()=>{var e=$();return C(e,s(Ie,{get isAppearing(){return t()}})),e})()}}),s(p,{get when(){return B()===1},get children(){var e=$();return C(e,s(Z,{})),e}}),s(p,{get when(){return B()===2},children:e=>{let t=ge(H);return(()=>{var e=$();return C(e,s(X,{get isAppearing(){return t()}})),e})()}})]}})}})}}),null),_(()=>E(e,U.scrollableContent)),e}}),b),C(o,s(oe,{amount:`0.5rem`}),b),C(b,s(M,{get class(){return U.applyButton},primaryFilled:!0,get disabled(){return m()||N()||(g()?.disabled()??!F())},onClick:()=>{let e=g();if(e){e.onClick();return}let t=y();t&&a?a(t):v()&&i(v())},get children(){return s(j,{get key(){return g()?.langKey||`Apply`}})}}),null),C(b,s(h,{when:c||l,keyed:!0,children:i=>{let a,o=()=>e.isUser()&&e!==n.myId;return r||d(()=>{new se({onSilentClick:()=>R({silent:!0}),onScheduleClick:ae,onSendWhenOnlineClick:()=>R({scheduleDate:t}),onOpen:L,openSide:`top-left`,onContextElement:a,middleware:ne().get(),canSendWhenOnline:u,withEffects:o,effect:D,onEffect:k}).setPeerParams({peerId:e,isPaid:!1})}),(()=>{var e=$();return C(e,s(M,{ref(e){var t=a;typeof t==`function`?t(e):a=e},get class(){return U.sendButton},primaryFilled:!0,get disabled(){return!L()},get"aria-label"(){return T.format(`Send`,!0)},onClick:ue,get children(){return s(A,{get class(){return ee(U.sendButtonIcon,`icon-mirror`)},icon:`logo`})}}),null),C(e,s(h,{when:!r,get children(){return s(ce,{effect:D})}}),null),_(()=>E(e,U.sendButtonWrapper)),e})()}}),null),_(e=>{var t=U.bodyContent,n=U.footerButtons;return t!==e.e&&E(o,e.e=t),n!==e.t&&E(b,e.t=n),e},{e:void 0,t:void 0}),o})()},Be=e=>s(F,{get class(){return xe.popup},get containerClass(){return xe.container},get children(){return[s(F.Header,{get children(){return[s(F.CloseButton,{}),s(F.Title,{get children(){return s(j,{key:`AiEditor.Title`})}})]}}),s(F.Body,{get children(){return s(J,a(e,{get children(){return s(ze,{})}}))}})]}});function Ve(e,t){P(()=>s(t,{get children(){return s(Be,e)}}))}export{Ve as openAiEditorPopup};
//# sourceMappingURL=aiEditorPopup-D7W8es0h.js.map