|
1
|
-
import{createSignal as e,onMount as t,onCleanup as s}from"solid-js";const a=e=>{},o="web",p="phone",n="desktop",r=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s)>=e&&-1!==t.indexOf((()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?p:["tdesktop","macos"].includes(t)?n:o})())},u="web_app_close",_=()=>i()?(d(u),{status:!0}):{status:"not_supported"},i=()=>r(0,[o,n,p]);var d=(e,t)=>{window.TelegramWebviewProxy?window.TelegramWebviewProxy.postEvent(e,JSON.stringify(t)):window.external&&"notify"in window.external&&window.external.notify(JSON.stringify({eventType:e,eventData:t}))};const c="web_app_close_scan_qr_popup",b=()=>l()?(d(c),{status:!0}):{status:"not_supported"},l=()=>r(6.4,[p]),g="web_app_data_send",w=e=>h()?(d(g,e),{status:!0}):{status:"not_supported"},h=()=>r(0,[o,n,p]),m="web_app_expand",f=()=>v()?(d(m),{status:!0}):{status:"not_supported"},v=()=>r(0,[p]),y="iframe_ready",S=e=>x()?(d(y,e),{status:!0}):{status:"not_supported"},x=()=>r(0,[o]),q="iframe_will_reload",k=()=>P()?(d(q),{status:!0}):{status:"not_supported"},P=()=>r(0,[o]),O="web_app_invoke_custom_method",R=e=>T()?(d(O,e),{status:!0}):{status:"not_supported"},T=()=>r(6.9,[o,n,p]),W="web_app_open_invoice",C=e=>B()?(d(W,e),{status:!0}):{status:"not_supported"},B=()=>r(6.1,[o,n,p]),E="web_app_open_link",I=e=>L()?(d(E,e),{status:!0}):{status:"not_supported"},L=()=>r(6.4,[o,n,p]),A="web_app_open_popup",D=e=>N()?(e.title.length,e.message.length,e.message.length,e.buttons.length,e.buttons.length,e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g))),d(A,e),{status:!0}):{status:"not_supported"},N=()=>r(6.2,[o,n,p]),U="web_app_open_scan_qr_popup",G=async e=>J()?(d(U,e),new Promise(((t,s)=>{Ue("qr_text_received",(s=>{e.is_close&&b(),t({status:!0,data:s})})),Ue("scan_qr_popup_closed",(()=>{t({status:"closed",data:{data:void 0}})}))}))):{status:"not_supported",data:{data:void 0}},J=()=>r(6.4,[p]),M="web_app_open_tg_link",Q=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),V()?(d(M,e),{status:!0}):{status:"not_supported"}),V=()=>r(7,[o,n,p]),j="web_app_read_text_from_clipboard",F=e=>H()?(d(j,e),{status:!0}):{status:"not_supported"},H=()=>r(6.4,[o,n,p]),$="web_app_ready",z=()=>K()?(d($),{status:!0}):{status:"not_supported"},K=()=>r(6.9,[o,n,p]),X="web_app_request_phone",Y=async()=>Z()?(d(X),new Promise(((e,t)=>{Ue("phone_requested",(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):{status:"not_supported"},Z=()=>r(6.9,[o,n,p]),ee="web_app_request_theme",te=()=>se()?(d(ee),{status:!0}):{status:"not_supported"},se=()=>r(0,[o,n,p]),ae="web_app_request_viewport",oe=()=>pe()?(d(ae),{status:!0}):{status:"not_supported"},pe=()=>r(0,[o,n,p]),ne="web_app_request_write_access",re=()=>ue()?(d(ne),{status:!0}):{status:"not_supported"},ue=()=>r(6.9,[o,n,p]),_e="web_app_set_background_color",ie=e=>de()?(d(_e,e),{status:!0}):{status:"not_supported"},de=()=>r(6.1,[o,n,p]),ce="web_app_set_header_color",be=e=>le()?(d(ce,e),{status:!0}):{status:"not_supported"},le=()=>r(6.1,[o,n,p]),ge="web_app_setup_back_button",we=e=>he()?(d(ge,e),{status:!0}):{status:"not_supported"},he=()=>r(6.1,[o,n,p]),me="web_app_setup_closing_behavior",fe=e=>ve()?(d(me,e),{status:!0}):{status:"not_supported"},ve=()=>r(0,[o,n,p]),ye="web_app_setup_main_button",Se=e=>xe()?(d(ye,e),{status:!0}):{status:"not_supported"},xe=()=>r(0,[o,n,p]),qe="web_app_setup_settings_button",ke=e=>Pe()?(d(qe,e),{status:!0}):{status:"not_supported"},Pe=()=>r(6.1,[o,n,p]),Oe="web_app_switch_inline_query",Re=e=>Te()?(e.query.length,d(Oe,e),{status:!0}):{status:"not_supported"},Te=()=>r(6.7,[o,n,p]),We="web_app_trigger_haptic_feedback",Ce=e=>Be()?(d(We,e),{status:!0}):{status:"not_supported"},Be=()=>r(6.1,[p]),Ee=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return null;const t=new URLSearchParams(e);let s={};return t.forEach(((e,t)=>{if(s[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{s[t]=JSON.parse(e)}catch{}})),s},Ie=()=>{const[a,o]=e({height:0,is_expanded:!1,is_state_stable:!1}),p=e=>o(e);return t((()=>{De("viewport_changed",p),d("web_app_request_viewport")})),s((()=>{Ne("viewport_changed",p)})),a},Le=((e=new Map)=>({once:(t,s,a=e.get(t),o=(e=>{s(e),a&&a.splice(a.indexOf(s)>>>0,1)}))=>a?a.push(o):e.set(t,[o]),on:(t,s,a=e.get(t))=>a?a.push(s):e.set(t,[s]),off:(t,s,a=e.get(t))=>a&&s?a.splice(a.indexOf(s)>>>0,1):e.set(t,[]),emit:(t,s,a=e.get(t)||[])=>{for(const e of a)e(s)}}))(),Ae=()=>{function e(e,t){Le.emit(e,t),Le.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}};Ae();const De=(e,t)=>{Le.on(e,t)},Ne=(e,t)=>{Le.off(e,t)},Ue=(e,t)=>{Le.once(e,t)};var Ge=Object.freeze({__proto__:null,listenerStart:Ae,off:Ne,on:De,once:Ue});export{n as TG_DESKTOP,p as TG_PHONE,o as TG_WEB,_ as bridgeClose,b as bridgeCloseScanQrPopup,w as bridgeDataSend,f as bridgeExpand,Ee as bridgeGetInitData,S as bridgeIframeReady,k as bridgeIframeWillReload,R as bridgeInvokeCustomMethod,C as bridgeOpenInvoice,I as bridgeOpenLink,D as bridgeOpenPopup,G as bridgeOpenScanQrPopup,Q as bridgeOpenTgLink,F as bridgeReadTextFromClipboard,z as bridgeReady,Y as bridgeRequestPhone,te as bridgeRequestTheme,oe as bridgeRequestViewport,re as bridgeRequestWriteAccess,ie as bridgeSetBackgroundColor,be as bridgeSetHeaderColor,we as bridgeSetupBackButton,fe as bridgeSetupClosingBehavior,Se as bridgeSetupMainButton,ke as bridgeSetupSettingsButton,Re as bridgeSwitchInlineQuery,Ce as bridgeTriggerHapticFeedback,Ie as createIsViewportChanged,a as debug,Ge as listener,d as sender,i as supportClose,l as supportCloseScanQrPopup,h as supportDataSend,v as supportExpand,x as supportIframeReady,P as supportIframeWillReload,T as supportInvokeCustomMethod,B as supportOpenInvoice,L as supportOpenLink,N as supportOpenPopup,J as supportOpenScanQrPopup,V as supportOpenTgLink,H as supportReadTextFromClipboard,K as supportReady,Z as supportRequestPhone,se as supportRequestTheme,pe as supportRequestViewport,ue as supportRequestWriteAccess,de as supportSetBackgroundColor,le as supportSetHeaderColor,he as supportSetupBackButton,ve as supportSetupClosingBehavior,xe as supportSetupMainButton,Pe as supportSetupSettingsButton,Te as supportSwitchInlineQuery,Be as supportTriggerHapticFeedback};
|