discord-awesomeaudio/assets/vencord.js

29 lines
51 KiB
JavaScript
Raw Normal View History

2022-10-11 13:51:09 -04:00
"use strict";var Vencord=(()=>{var Ve=Object.defineProperty;var Ur=Object.getOwnPropertyDescriptor;var $r=Object.getOwnPropertyNames;var Vr=Object.prototype.hasOwnProperty;var l=(e,t)=>()=>(e&&(t=e(e=0)),t);var N=(e,t)=>{for(var n in t)Ve(e,n,{get:t[n],enumerable:!0})},Br=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of $r(t))!Vr.call(e,o)&&o!==n&&Ve(e,o,{get:()=>t[o],enumerable:!(r=Ur(t,o))||r.enumerable});return e};var Gr=e=>Br(Ve({},"__esModule",{value:!0}),e);function jr(e){let t={};for(let n in e)t[n]=e[n],t[e[n]]=n;return Object.freeze(t)}var h,q=l(()=>{"use strict";h=jr({QUICK_CSS_UPDATE:"VencordQuickCssUpdate",GET_QUICK_CSS:"VencordGetQuickCss",GET_SETTINGS_DIR:"VencordGetSettingsDir",GET_SETTINGS:"VencordGetSettings",SET_SETTINGS:"VencordSetSettings",OPEN_EXTERNAL:"VencordOpenExternal",OPEN_QUICKCSS:"VencordOpenQuickCss",GET_UPDATES:"VencordGetUpdates",GET_REPO:"VencordGetRepo",GET_HASHES:"VencordGetHashes",UPDATE:"VencordUpdate",BUILD:"VencordBuild",GET_DESKTOP_CAPTURE_SOURCES:"VencordGetDesktopCaptureSources"})});function s(e){return e}var u=l(()=>{"use strict"});var G,a,m=l(()=>{"use strict";G="webpackChunkdiscord_app",a=Object.freeze({Ven:{name:"Vendicated",id:343383572805058560n},Arjix:{name:"ArjixWasTaken",id:674710789138939916n},Cyn:{name:"Cynosphere",id:150745989836308480n},Megu:{name:"Megumin",id:545581357812678656n},botato:{name:"botato",id:440990343899643943n},obscurity:{name:"obscurity",id:336678828233588736n},rushii:{name:"rushii",id:295190422244950017n},Glitch:{name:"Glitchy",id:269567451199569920n},Samu:{name:"Samu",id:702973430449832038n},Animal:{name:"Animal",id:118437263754395652n}})});var je,fn=l(()=>{"use strict";u();m();je=s({name:"STFU",description:"Disables the 'HOLD UP' banner in the console",authors:[a.Ven],patches:[{find:"setDevtoolsCallbacks",replacement:{match:/if\(.{0,10}\|\|"0.0.0"!==.{0,2}\.remoteApp\.getVersion\(\)\)/,replace:"if(false)"}}]})});var He,gn=l(()=>{"use strict";u();m();He=s({name:"CommandsAPI",authors:[a.Arjix],description:"Api required by anything that uses commands",patches:[{find:'"giphy","tenor"',replacement:[{match:/(?<=\w=)(\w)(\.filter\(.{0,30}giphy)/,replace:"Vencord.Api.Commands._init($1)$2"}]}]})});var We,hn=l(()=>{"use strict";m();u();We=s({name:"MessageEventsAPI",description:"Api required by anything using message events.",authors:[a.Arjix],patches:[{find:"sendMessage:function",replacement:[{match:/(?<=_sendMessage:function\([^)]+\)){/,replace:"{Vencord.Api.MessageEvents._handlePreSend(...arguments);"},{match:/(?<=\beditMessage:function\([^)]+\)){/,replace:"{Vencord.Api.MessageEvents._handlePreEdit(...arguments);"}]},{find:"if(e.altKey){",replacement:{match:/var \w=(\w)\.id,\w=(\w)\.id;return .{1,2}\.useCallback\(\(?function\((.{1,2})\){/,replace:(e,t,n,r)=>`var _msg=${t},_chan=${n};${e}Vencord.Api.MessageEvents._handleClick(_msg, _chan, ${r});`}}]})});var ze,yn=l(()=>{"use strict";m();u();ze=s({name:"ApiNotices",description:"Fixes notices being automatically dismissed",authors:[a.Ven],required:!0,patches:[{find:"updateNotice:",replacement:[{match:/;(.{1,2}=null;)(?=.{0,50}updateNotice)/g,replace:";if(Vencord.Api.Notices.currentNotice)return !1;$1"},{match:/(?<=NOTICE_DISMISS:function.+?){(?=if\(null==(.+?)\))/,replace:'{if($1?.id=="VencordNotice")return ($1=null,Vencord.Api.Notices.nextNotice(),true);'}]}]})});var qe,En=l(()=>{"use strict";u();m();qe=s({name:"BANger",description:"Replaces the GIF in the ban dialogue with a custom one.",authors:[{name:"Xinto",id:423915768191647755n},a.Glitch],patches:[{find:"BAN_CONFIRM_TITLE.",replacement:{match:/src:\w\(\d+\)/g,replace:'src: "https://i.imgur.com/wp5q52C.mp4"'}}]})});var Qe,_n=l(()=>{"use strict";m();u();Qe=s({name:"BetterGifAltText",authors:[a.Ven],description:"Change GIF alt text from simply being 'GIF' to containing the gif tags / filename",patches:[{find:"onCloseImage=",replacement:{match:/(return .{1,2}\.createElement.{0,50}isWindowFocused)/,replace:"Vencord.Plugins.plugins.BetterGifAltText.altify(e);$1"}},{find:'preload:"none","aria',replacement:{match:/\?.{0,5}\.Messages\.GI
// [EXTRACTED] WebpackModule${e}
// WARNING: This module was extracted to be more easily readable.
// This module is NOT ACTUALLY USED! This means putting breakpoints will have NO EFFECT!!
${t.toString()}
//# sourceURL=ExtractedWebpackModule${e}
`;return(0,eval)(n)}var ke,ot,fe,Y,x,Tn,it,at=l(()=>{"use strict";ot=new Promise(e=>ke=e),x={byProps:e=>e.length===1?t=>t[e[0]]!==void 0:t=>e.every(n=>t[n]!==void 0),byDisplayName:e=>t=>t.default?.displayName===e,byCode:(...e)=>t=>{if(typeof t!="function")return!1;let n=Function.prototype.toString.call(t);for(let r of e)if(!n.includes(r))return!1;return!0}},Tn=new Map,it=new Set});var ct={};N(ct,{Common:()=>lt,_initWebpack:()=>st,_resolveReady:()=>ke,addListener:()=>Jr,cache:()=>Y,extract:()=>eo,filters:()=>x,find:()=>H,findAll:()=>Cn,findAllByProps:()=>Kr,findByDisplayName:()=>Yr,findByProps:()=>J,listeners:()=>it,onceReady:()=>ot,removeListener:()=>Xr,search:()=>Zr,subscriptions:()=>Tn,waitFor:()=>y,wreq:()=>fe});var F=l(()=>{"use strict";at();C()});function to(e){let t;return()=>t??(t=e())}function ne(e){let t=to(()=>H(e));return new Proxy(()=>null,{get:(n,r)=>t()[r],set:(n,r,o)=>t()[r]=o,has:(n,r)=>r in t(),apply:(n,r,o)=>t().apply(r,o),ownKeys:()=>Reflect.ownKeys(t()),construct:(n,r,o)=>Reflect.construct(t(),r,o),deleteProperty:(n,r)=>delete t()[r],defineProperty:(n,r,o)=>!!Object.defineProperty(t(),r,o)})}function Re(e,t=null){let[n,r]=S.useState({value:t,error:null,pending:!0});return S.useEffect(()=>{let o=!0;return e().then(i=>o&&r({value:i,error:null,pending:!1})).catch(i=>o&&r({value:null,error:i,pending:!1})),()=>void(o=!1)},[]),[n.value,n.error,n.pending]}function Ie(e,t){for(let n in t){let r=t[n];typeof r=="object"&&!Array.isArray(r)?(e[n]??={},Ie(e[n],r)):e[n]??=r}return e}function vn(e,t=n=>n){let{length:n}=e;if(n===0)return"";if(n===1)return t(e[0]);let r="";for(let o=0;o<n;o++)r+=t(e[o]),n-o>2?r+=", ":n-o>1&&(r+=" and ");return r}function ge(...e){return e.join(" ")}function kn(e){return new Promise(t=>setTimeout(t,e))}var X=l(()=>{"use strict";F();C()});var lt={};N(lt,{Alerts:()=>Z,Button:()=>T,Card:()=>oe,ChannelStore:()=>In,FluxDispatcher:()=>M,Forms:()=>_,GuildStore:()=>Rn,Margins:()=>L,Parser:()=>se,React:()=>S,Router:()=>Me,SelectedChannelStore:()=>he,Switch:()=>ie,Toasts:()=>b,Tooltip:()=>Mn,UserStore:()=>re});var L,M,S,Rn,re,he,In,_,oe,T,ie,Mn,Me,se,Z,no,ro,b,C=l(()=>{"use strict";at();X();L=ne(x.byProps(["marginTop20"])),_={},no={MESSAGE:0,SUCCESS:1,FAILURE:2,CUSTOM:3},ro={TOP:0,BOTTOM:1},b={Type:no,Position:ro,genId:()=>(Math.random()||Math.random()).toString(36).slice(2)};y("useState",e=>S=e);y(["dispatch","subscribe"],e=>{M=e;let t=()=>{e.unsubscribe("CONNECTION_OPEN",t),ke()};e.subscribe("CONNECTION_OPEN",t)});y(["getCurrentUser","initialize"],e=>re=e);y("getSortedPrivateChannels",e=>In=e);y("getCurrentlySelectedChannelId",e=>he=e);y("getGuildCount",e=>Rn=e);y(["Hovers","Looks","Sizes"],e=>T=e);y(x.byCode("helpdeskArticleId"),e=>ie=e);y(["Positions","Colors"],e=>Mn=e);y(e=>e.Types?.PRIMARY==="cardPrimary",e=>oe=e);y(e=>e.Tags&&x.byCode("errorSeparator")(e),e=>_.FormTitle=e);y(e=>e.Tags&&x.byCode("titleClassName","sectionTitle")(e),e=>_.FormSection=e);y(e=>e.Types?.INPUT_PLACEHOLDER,e=>_.FormText=e);y(e=>{if(typeof e!="function")return!1;let t=e.toString();return t.length<200&&t.includes("divider")},e=>_.FormDivider=e);y(x.byCode("currentToast?"),e=>b.show=e);y(x.byCode("currentToast:null"),e=>b.pop=e);y(["show","close"],e=>Z=e);y("parseTopic",e=>se=e);y(["open","saveAccountChanges"],e=>Me=e)});var dt,Nn=l(()=>{"use strict";m();u();C();dt=s({name:"ClickableRoleDot",authors:[a.Ven],description:"Makes RoleDots (Accessibility Feature) copy colour to clipboard on click",patches:[{find:"M0 4C0 1.79086 1.79086 0 4 0H16C18.2091 0 20 1.79086 20 4V16C20 18.2091 18.2091 20 16 20H4C1.79086 20 0 18.2091 0 16V4Z",replacement:{match:/(viewBox:"0 0 20 20")/,replace:"$1,onClick:()=>Vencord.Plugins.plugins.ClickableRoleDot.copyToClipBoard(e.color)"}}],copyToClipBoard(e){window.DiscordNative.clipboard.copy(e),b.show({message:"Copied to Clipboard!",type:b.Type.SUCCESS,id:b.genId(),options:{duration:1e3,position:b.Position.BOTTOM}})}})});var pt,ut,An=l(()=>{"use strict";m();u();pt=e=>()=>{throw new Error(`'${e}' is Discord Desktop only.`)},ut=s({name:"ConsoleShortcuts",description:"Adds shorter Aliases for ma
`);if(n.length<2)return t;let r="";return n[n.length-1]==="```"&&(r=n.pop()),`${n[0]}
${this.unindent(n.slice(1).join(`
`))}
${r}`})},start(){this.preSend=A((e,t)=>this.unindentMsg(t)),this.preEdit=Q((e,t,n)=>this.unindentMsg(n))},stop(){D(this.preSend),K(this.preEdit)}})});function ho(e){return e.split(" ").map(t=>{let n=!1,r=t.toLowerCase();if(t.length<4)return t;for(let[o,i]of go)t.includes(o)&&(t=t.replace(o,i),n=!0);return r.includes("u")&&!r.includes("uwu")&&(t=t.replace("u","UwU"),n=!0),r.includes("o")&&!r.includes("owo")&&(t=t.replace("o","OwO"),n=!0),r.endsWith("y")&&t.length<7&&(t=t+" w"+t.slice(1),n=!0),n||(r.endsWith("n")||(t=t.replace("n","ny")),Math.floor(Math.random()*2)===1&&t.replace("s","sh"),Math.floor(Math.random()*5)===3&&!n&&(t=t[0]+"-"+t[0]+"-"+t),Math.floor(Math.random()*5)===3&&(t=t+" "+gr[Math.floor(Math.random()*gr.length)]),t=t.replaceAll("r","w").replaceAll("l","w")),t}).join(" ")}var gr,go,Ht,hr=l(()=>{"use strict";u();ce();gr=["owo","UwU",">w<","^w^","\u25CFw\u25CF","\u2606w\u2606","\u{1D5E8}\u{1D604}\u{1D5E8}","(\u15D2\u15E8\u15D5)","(\u25B0\u02D8v\u02D8\u25B0)","( \xB4 \u25BD ` ).\uFF61\uFF4F\u2661","*unbuttons shirt*",">3<",">:3",":3","murr~","\u2665(\u3002U \u03C9 U\u3002)","(\u02D8\u03B5\u02D8)","*screams*","*twerks*","*sweats*"],go=[["love","wuv"],["mr","mistuh"],["dog","doggo"],["cat","kitteh"],["hello","henwo"],["hell","heck"],["fuck","fwick"],["fuk","fwick"],["shit","shoot"],["friend","fwend"],["stop","stawp"],["god","gosh"],["dick","peepee"],["penis","bulge"],["damn","darn"]];Ht=s({name:"UwUifier",description:"Simply uwuify commands",authors:[{name:"ECHO",id:712639419785412668n}],dependencies:["CommandsAPI"],commands:[{name:"uwuify",description:"uwuifies your messages",options:[Ee],execute:e=>({content:ho(_e(e,"message",""))})}]})});var Ae,Wt,yr=l(()=>{"use strict";m();q();u();Ae="Vencord.Plugins.plugins.ViewIcons.openImage(",Wt=s({name:"ViewIcons",authors:[a.Ven],description:"Makes Avatars/Banners in user profiles clickable, and adds Guild Context Menu Entries to View Banner/Icon.",openImage(e){VencordNative.ipc.invoke(h.OPEN_EXTERNAL,e)},patches:[{find:"onAddFriend:",replacement:{match:/\{src:(.{1,2}),avatarDecoration/,replace:(e,t)=>`{src:${t},onClick:()=>${Ae}${t}.replace(/\\?.+$/, "")+"?size=2048"),avatarDecoration`}},{find:"().popoutNoBannerPremium",replacement:{match:/style:.{0,10}\{\},(.{1,2})\)/,replace:(e,t)=>`onClick:${t}.backgroundImage&&(()=>${Ae}${t}.backgroundImage.replace("url(", "").replace(/(\\?size=.+)?\\)/, "?size=2048"))),${e}`}},{find:'"GuildContextMenu:',replacement:[{match:/\w=(\w)\.id/,replace:(e,t)=>`_guild=${t},${e}`},{match:/(?<=createElement\((.{1,5}),\{id:"leave-guild".{0,100}\,)(.{1,2}\.createElement)\((.{1,5}),null,(.{1,2})\)(?=\)\}function)/,replace:(e,t,n,r,o)=>`${n}(${r},null,[_guild.icon&&${n}(${t},{id:"viewicons-copy-icon",label:"View Icon",action:()=>${Ae}_guild.getIconURL(void 0,true)+"size=2048")}),_guild.banner&&${n}(${t},{id:"viewicons-copy-banner",label:"View Banner",action:()=>${Ae}Vencord.Webpack.findByProps("getGuildBannerURL").getGuildBannerURL(_guild).replace(/\\?size=.+/, "?size=2048"))}),${o}])`}]}]})});var zt,Er=l(()=>{"use strict";u();m();zt=s({name:"Webhook Tags",description:"Changes the bot tag to say webhook for webhooks",authors:[a.Cyn],patches:[{find:'.BOT=0]="BOT"',replacement:[{match:/(.)\[.\.BOT=0\]="BOT";/,replace:(e,t)=>`${t}[${t}.WEBHOOK=99]="WEBHOOK";${e}`},{match:/case (.)\.BOT:default:(.)=/,replace:(e,t,n)=>`case ${t}.WEBHOOK:${n}="WEBHOOK";break;${e}`}]},{find:".Types.ORIGINAL_POSTER",replacement:{match:/return null==(.)\?null:.\.createElement\((.)\.Z/,replace:(e,t,n)=>`if(${t}==${n}.Z.Types.BOT&&arguments[0].user.isNonUserBot()){${t}=${n}.Z.Types.WEBHOOK}${e}`}}]})});var R,De=l(()=>{fn();gn();hn();yn();En();_n();Sn();Pn();Nn();An();Dn();Bn();Gn();jn();Hn();Wn();zn();Kn();Xn();Zn();er();tr();nr();rr();or();ir();sr();ar();dr();pr();ur();mr();fr();hr();yr();Er();R={[je.name]:je,[He.name]:He,[We.name]:We,[ze.name]:ze,[qe.name]:qe,[Qe.name]:Qe,[Ke.name]:Ke,[rt.name]:rt,[dt.name]:dt,[ut.name]:ut,[mt.name]:mt,[bt.name]:bt,[xt.name]:xt,[wt.name]:wt,[Pt.name]:Pt,[Tt.name]:Tt,[Ct.name]:Ct,[kt.name]:kt,[Rt.name]:Rt,[It.name]:It,[Mt.name]:Mt,[Nt.n
`,t),!1}}if(e.commands?.length){O.info("Registering commands of plugin",e.name);for(let t of e.commands)try{gt(t,e.name)}catch(n){return O.error(`Failed to register command ${t.name}
`,n),!1}}return!0}function Qt(e){if(e.stop){if(O.info("Stopping plugin",e.name),!e.started)return O.warn(`${e.name} already stopped`),!1;try{e.stop(),e.started=!1}catch(t){return O.error(`Failed to stop ${e.name}
`,t),!1}}if(e.commands?.length){O.info("Unregistering commands of plugin",e.name);for(let t of e.commands)try{ht(t.name)}catch(n){return O.error(`Failed to unregister command ${t.name}
`,n),!1}}return!0}var O,yo,xr,we=l(()=>{"use strict";De();ce();be();te();O=new k("PluginManager","#a6d189"),yo=R,xr=[];for(let e of Object.values(R))if(e.patches&&$.plugins[e.name].enabled)for(let t of e.patches)t.plugin=e.name,Array.isArray(t.replacement)||(t.replacement=[t.replacement]),xr.push(t)});var sn={};N(sn,{UpdateLogger:()=>ue,changes:()=>z,checkForUpdates:()=>Ce,getRepo:()=>rn,isNewer:()=>Le,isOutdated:()=>Te,rebuild:()=>on,update:()=>nn,updateError:()=>me});async function pe(e){let t=await e;if(t.ok)return t.value;throw me=t.error,t.error}async function Ce(){return z=await pe(VencordNative.ipc.invoke(h.GET_UPDATES)),z.some(e=>e.hash===le)?(Le=!0,Te=!1):Te=z.length>0}async function nn(){if(!Te)return!0;let e=await pe(VencordNative.ipc.invoke(h.UPDATE));return e&&(Te=!1),e}function rn(){return pe(VencordNative.ipc.invoke(h.GET_REPO))}async function on(){let e=await pe(VencordNative.ipc.invoke(h.GET_HASHES));if(!await pe(VencordNative.ipc.invoke(h.BUILD)))throw new Error("The Build failed. Please try manually building the new update");let t=await pe(VencordNative.ipc.invoke(h.GET_HASHES));return e["patcher.js"]!==t["patcher.js"]||e["preload.js"]!==t["preload.js"]}var ue,Te,Le,me,z,Oe=l(()=>{"use strict";q();te();Ne();ue=new k("Updater","white"),Te=!1,Le=!1});function ve(e){return Vencord.Webpack.Common.React.createElement(oe,{className:e.className,style:{padding:"2em",backgroundColor:"#e7828430",borderColor:"#e78284",color:"var(--text-normal)",...e.style}},e.children)}var ln=l(()=>{"use strict";C()});var _o,Tr,Cr,V,dn=l(()=>{"use strict";te();C();ln();_o="#e78284",Tr=new k("React ErrorBoundary",_o),Cr={},V=class extends S.Component{static wrap(t){return n=>Vencord.Webpack.Common.React.createElement(V,null,Vencord.Webpack.Common.React.createElement(t,{...n}))}state={error:Cr,message:""};static getDerivedStateFromError(t){return{error:t?.stack?.replace(/https:\/\/\S+\/assets\//g,"")||t?.message||String(t)}}componentDidCatch(t,n){this.props.onError?.(t,n),Tr.error(`A component threw an Error
`,t),Tr.error("Component Stack",n.componentStack)}render(){return this.state.error===Cr?this.props.children:this.props.fallback?Vencord.Webpack.Common.React.createElement(this.props.fallback,{children:this.props.children,error:this.state.error}):Vencord.Webpack.Common.React.createElement(ve,{style:{overflow:"hidden"}},Vencord.Webpack.Common.React.createElement("h1",null,"Oh no!"),Vencord.Webpack.Common.React.createElement("p",null,"An error occurred while rendering this Component. More info can be found below and in your console."),Vencord.Webpack.Common.React.createElement("code",null,Vencord.Webpack.Common.React.createElement("pre",null,this.state.error)))}}});function Ue(e){return e.style??={},e.style.flexDirection||=e.flexDirection,e.style.gap??="1em",e.style.display="flex",Vencord.Webpack.Common.React.createElement("div",{...e},e.children)}var pn=l(()=>{"use strict"});var $e,vr=l(()=>{"use strict";$e=class{set=new Set;get changeCount(){return this.set.size}get hasChanges(){return this.changeCount>0}handleChange(t){this.set.delete(t)||this.set.add(t)}getChanges(){return this.set.values()}map(t){return[...this.getChanges()].map(t)}}});function un(e){b.show({message:e,type:b.Type.FAILURE,id:b.genId(),options:{position:b.Position.BOTTOM}})}var kr,Rr=l(()=>{"use strict";X();De();be();q();C();dn();we();we();pn();vr();kr=V.wrap(function(){let[t,,n]=Re(()=>VencordNative.ipc.invoke(h.GET_SETTINGS_DIR),"Loading..."),r=Sr(),o=S.useMemo(()=>new $e,[]);S.useEffect(()=>()=>void(o.hasChanges&&Z.show({title:"Restart required",body:Vencord.Webpack.Common.React.createElement(Vencord.Webpack.Common.React.Fragment,null,Vencord.Webpack.Common.React.createElement("p",null,"The following plugins require a restart:"),Vencord.Webpack.Common.React.createElement("div",null,o.map((c,f)=>Vencord.Webpack.Common.React.createElement(Vencord.Webpack.Common.React.Fragment,null,f>0&&", ",se.parse("`"+c+"`"))))),confirmText:"Restart now",cancelText:"Later!",onConfirm:()=>location.reload()})),[]);let i=S.useMemo(()=>{let c={};for(let f in R){let E=R[f].dependencies;if(E)for(let w of E)c[w]??=[],c[w].push(f)}return c},[]),p=S.useMemo(()=>Object.values(R).sort((c,f)=>c.name.localeCompare(f.name)),[]);return Vencord.Webpack.Common.React.createElement(_.FormSection,{tag:"h1",title:"Vencord"},Vencord.Webpack.Common.React.createElement(_.FormTitle,{tag:"h5"},"Settings"),Vencord.Webpack.Common.React.createElement(_.FormText,null,"SettingsDir: ",Vencord.Webpack.Common.React.createElement("code",{style:{userSelect:"text",cursor:"text"}},t)),!IS_WEB&&Vencord.Webpack.Common.React.createElement(Ue,{className:ge(L.marginBottom20)},Vencord.Webpack.Common.React.createElement(T,{onClick:()=>window.DiscordNative.app.relaunch(),size:T.Sizes.SMALL,color:T.Colors.GREEN},"Reload"),Vencord.Webpack.Common.React.createElement(T,{onClick:()=>window.DiscordNative.fileManager.showItemInFolder(t),size:T.Sizes.SMALL,disabled:n},"Launch Directory"),Vencord.Webpack.Common.React.createElement(T,{onClick:()=>VencordNative.ipc.invoke(h.OPEN_QUICKCSS),size:T.Sizes.SMALL,disabled:t==="Loading..."},"Open QuickCSS File")),Vencord.Webpack.Common.React.createElement(_.FormDivider,null),Vencord.Webpack.Common.React.createElement(_.FormTitle,{tag:"h5"},"Settings"),Vencord.Webpack.Common.React.createElement(ie,{value:r.useQuickCss,onChange:c=>r.useQuickCss=c,note:"Enable QuickCSS"},"Use QuickCss"),!IS_WEB&&Vencord.Webpack.Common.React.createElement(ie,{value:r.notifyAboutUpdates,onChange:c=>r.notifyAboutUpdates=c,note:"Shows a Toast on StartUp"},"Get notified about new Updates"),Vencord.Webpack.Common.React.createElement(_.FormDivider,null),Vencord.Webpack.Common.React.createElement(_.FormTitle,{tag:"h5",className:ge(L.marginTop20,L.marginBottom8)},"Plugins"),p.map(c=>{let f=i[c.name]?.filter(w=>r.plugins[w].enabled),E=f?.length;return Vencord.Webpack.Common.React.createElement(ie,{disabled:c.required||E,key:c.name,value:r.plugins[c.name].enabled||c.required||E,onChange:w=>{r.plugins[c.name].enabled=w;let d=Boolean(c.patches?.length);w?(c.dependencies?.forEach(g=>{let P=R[g];d||=Boolean(P.patc
Please install it and try again`;else{var n=`An error occured while running \`${p}\`:
`;n+=c||`Code \`${o}\`. See the console for more info`}}else var n="An unknown error occurred. See the console for more info.";else var n=`An unknown error occurred (error is undefined).
Please try again.`;Z.show({title:"Oops!",body:Vencord.Webpack.Common.React.createElement(ve,null,n.split(`
`).map(o=>Vencord.Webpack.Common.React.createElement("div",null,se.parse(o))))})}finally{e(!1)}}}function Nr({updates:e,repo:t,repoPending:n}){return Vencord.Webpack.Common.React.createElement(oe,{style:{padding:".5em"}},e.map(({hash:r,author:o,message:i})=>Vencord.Webpack.Common.React.createElement("div",null,Vencord.Webpack.Common.React.createElement(mn,{href:`${t}/commit/${r}`,disabled:n},Vencord.Webpack.Common.React.createElement("code",null,r)),Vencord.Webpack.Common.React.createElement("span",{style:{marginLeft:"0.5em",color:"var(--text-normal)"}},i," - ",o))))}function So(e){let[t,n]=S.useState(z),[r,o]=S.useState(!1),[i,p]=S.useState(!1),c=t.length>0;return Vencord.Webpack.Common.React.createElement(Vencord.Webpack.Common.React.Fragment,null,!t&&me?Vencord.Webpack.Common.React.createElement(Vencord.Webpack.Common.React.Fragment,null,Vencord.Webpack.Common.React.createElement(_.FormText,null,"Failed to check updates. Check the console for more info"),Vencord.Webpack.Common.React.createElement(ve,{style:{padding:"1em"}},Vencord.Webpack.Common.React.createElement("p",null,me.stderr||me.stdout||"An unknown error occurred"))):Vencord.Webpack.Common.React.createElement(_.FormText,{className:L.marginBottom8},c?`There are ${t.length} Updates`:"Up to Date!"),c&&Vencord.Webpack.Common.React.createElement(Nr,{updates:t,...e}),Vencord.Webpack.Common.React.createElement(Ue,{className:ge(L.marginBottom8,L.marginTop8)},c&&Vencord.Webpack.Common.React.createElement(T,{size:T.Sizes.SMALL,disabled:i||r,onClick:Mr(p,async()=>{if(await nn()){n([]);let f=await on();await new Promise(E=>{Z.show({title:"Update Success!",body:"Successfully updated. Restart now to apply the changes?",confirmText:"Restart",cancelText:"Not now!",onConfirm(){f?window.DiscordNative.app.relaunch():location.reload(),E()},onCancel:E})})}})},"Update Now"),Vencord.Webpack.Common.React.createElement(T,{size:T.Sizes.SMALL,disabled:i||r,onClick:Mr(o,async()=>{await Ce()?n(z):(n([]),b.show({message:"No updates found!",id:b.genId(),type:b.Type.MESSAGE,options:{position:b.Position.BOTTOM}}))})},"Check for Updates")))}function bo(e){return Vencord.Webpack.Common.React.createElement(Vencord.Webpack.Common.React.Fragment,null,Vencord.Webpack.Common.React.createElement(_.FormText,{className:L.marginBottom8},"Your local copy has more recent commits. Please stash or reset them."),Vencord.Webpack.Common.React.createElement(Nr,{...e,updates:z}))}var Ar,Dr=l(()=>{"use strict";Ne();Oe();C();pn();X();Ir();dn();ln();Ar=V.wrap(function(){let[t,n,r]=Re(rn,"Loading...");S.useEffect(()=>{n&&ue.error("Failed to retrieve repo",n)},[n]);let o={repo:t,repoPending:r};return Vencord.Webpack.Common.React.createElement(_.FormSection,{tag:"h1",title:"Vencord Updater"},Vencord.Webpack.Common.React.createElement(_.FormTitle,{tag:"h5"},"Repo"),Vencord.Webpack.Common.React.createElement(_.FormText,null,r?t:n?"Failed to retrieve - check console":Vencord.Webpack.Common.React.createElement(mn,{href:t},t.split("/").slice(-2).join("/"))," (",le,")"),Vencord.Webpack.Common.React.createElement(_.FormDivider,null),Vencord.Webpack.Common.React.createElement(_.FormTitle,{tag:"h5"},"Updates"),Le?Vencord.Webpack.Common.React.createElement(bo,{...o}):Vencord.Webpack.Common.React.createElement(So,{...o}))})});var Fr={};N(Fr,{Settings:()=>kr,Updater:()=>Ar});var Lr=l(()=>{"use strict";Rr();Dr()});var wo={};N(wo,{Api:()=>tn,Components:()=>Or,Plugins:()=>Kt,QuickCss:()=>cn,Settings:()=>$,Updater:()=>sn,Webpack:()=>ct});q();var{localStorage:Be}=window,Hr={[h.GET_REPO]:()=>"",[h.GET_SETTINGS_DIR]:()=>"LocalStorage",[h.GET_QUICK_CSS]:()=>Be.getItem("VencordQuickCss"),[h.GET_SETTINGS]:()=>Be.getItem("VencordSettings")||"{}",[h.SET_SETTINGS]:e=>Be.setItem("VencordSettings",e),[h.GET_UPDATES]:()=>({ok:!0,value:[]}),[h.OPEN_EXTERNAL]:e=>open(e,"_blank"),[h.OPEN_QUICKCSS]:()=>{}};function Ge(e,...t){let n=Hr[e];if(!n)throw new Error(`Event ${e} not implemented.`);return n(...t)}window.VencordNative={getVersions:()=>({}),ipc:{send:(e,...t)=>void Ge(e,...t),sendSync:Ge,on(e,t){},off(e,t){},invoke:(e,...t)=>Promise.resolve(
`,""),E=c,w=new Set;n[p]=function(d,g,P){try{c(d,g,P)}catch(v){if(c===E)throw v;return U.error("Error in patched chunk",v),void E(d,g,P)}if(d.exports===window){Object.defineProperty(P.c,p,{value:P.c[p],enumerable:!1,configurable:!0,writable:!0});return}for(let v of o)try{v(g)}catch(B){U.error("Error in webpack listener",B)}for(let[v,B]of r)try{if(v(g))r.delete(v),B(g);else if(typeof g=="object"){g.default&&v(g.default)&&(r.delete(v),B(g.default));for(let I in g)I.length<3&&g[I]&&v(g[I])&&(r.delete(v),B(g[I]))}}catch(I){U.error("Error while firing callback for webpack chunk",I)}},n[p].toString=()=>c.toString(),n[p].original=E;for(let d=0;d<i.length;d++){let g=i[d];if(f.includes(g.find)){w.add(g.plugin);for(let P of g.replacement){let v=c,B=f;try{let I=f.replace(P.match,P.replace);I===f?(U.warn(`Patch by ${g.plugin} had no effect: ${P.match}`),U.debug(`Function Source:
`,f)):(f=I,c=(0,eval)(`// Webpack Module ${p} - Patched by ${[...w].join(", ")}
${I}
//# sourceURL=WebpackModule${p}`))}catch(I){U.error("Failed to apply patch of",g.plugin,I),U.debug(`Original Source
`,B),U.debug(`Patched Source
`,f),f=B,c=v,w.delete(g.plugin)}}i.splice(d--,1)}}}}catch(n){U.error("oopsie",n)}return e.original.call(window[G],t)}e.original=window[G].push,Object.defineProperty(window[G],"push",{get:()=>e,set:t=>e.original=t,configurable:!0})}Oe();F();C();Object.defineProperty(window,"IS_WEB",{get:()=>!window.DiscordNative,configurable:!0,enumerable:!0});var Or;async function xo(){await ot,qt(),Or=await Promise.resolve().then(()=>(Lr(),Fr));try{await Ce()&&$.notifyAboutUpdates&&setTimeout(()=>{Zt("A Vencord update is available!","View Update",()=>{Xt(),Me.open("VencordUpdater")})},1e4)}catch(e){ue.error("Failed to check for updates",e)}}xo();return Gr(wo);})();
//# sourceURL=VencordWeb