');i.append(h.createElement(`
${k.Developer.copySelector}
`)),i.addEventListener("click",()=>{f.ElectronModule.copy(t),s.style.display="none"}),n.append(i),s.append(n)}))}getSelector(e){if(e.id)return"#"+e.id;const t=this.getRules(e),s=t[t.length-1];return s?s.selectorText:e.classList.length?"."+Array.from(e.classList).join("."):"."+Array.from(e.parentElement.classList).join(".")}getRules(e,t=e.ownerDocument.styleSheets){return[...t].filter(e=>!e.href||!e.href.includes("BetterDiscordApp")).map(e=>[...e.cssRules||[]]).flat().filter(t=>t&&t.selectorText&&e.matches(t.selectorText)&&t.style.length&&t.selectorText.split(", ").length<8&&!t.selectorText.split(", ").includes("*"))}},Xt=new class extends Je{get name(){return"Debugger"}get category(){return"developer"}get id(){return"debuggerHotkey"}enabled(){document.addEventListener("keydown",this.debugListener)}disabled(){document.removeEventListener("keydown",this.debugListener)}debugListener(e){if(119===e.which||118==e.which){debugger;e.preventDefault(),e.stopImmediatePropagation()}}};const es=s(0),ts=s(2),ss=s(1),ns=es.remote.BrowserWindow;var is=new class extends Je{get name(){return"ReactDevTools"}get category(){return"developer"}get id(){return"reactDevTools"}initialize(){super.initialize(),this.findExtension()}findExtension(){let e="";if(e="win32"===process.platform?ss.resolve(process.env.LOCALAPPDATA,"Google/Chrome/User Data"):"linux"===process.platform?ss.resolve(process.env.HOME,".config/google-chrome"):"darwin"===process.platform?ss.resolve(process.env.HOME,"Library/Application Support/Google/Chrome"):ss.resolve(process.env.HOME,".config/chromium"),e+="/Default/Extensions/fmkadmapgofadopljbjfkapdkoienihi/",ts.existsSync(e)){const t=ts.readdirSync(e);e=ss.resolve(e,t[t.length-1])}this.extensionPath=e,this.isExtensionInstalled=ts.existsSync(e)}enabled(){if(this.isExtensionInstalled||this.findExtension(),!this.isExtensionInstalled)return _.alert(k.ReactDevTools.notFound,k.ReactDevTools.notFoundDetails);try{ns.addDevToolsExtension(this.extensionPath)?this.log("Successfully installed react devtools."):this.error("Couldn't find react devtools in chrome extensions!")}catch(e){this.error("Couldn't add the extension!")}}disabled(){this.isExtensionInstalled&&ns.removeDevToolsExtension("React Developer Tools")}};class os extends O.Component{render(){return O.createElement("svg",{className:"bd-logo "+this.props.className,height:"100%",width:this.props.size||"16px",viewBox:"0 0 2000 2000",style:{fillRule:"evenodd",clipRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}},O.createElement("metadata",null),O.createElement("defs",null,O.createElement("filter",{id:"shadow1"},O.createElement("feDropShadow",{dx:"20",dy:"0",stdDeviation:"20",floodColor:"rgba(0,0,0,0.35)"})),O.createElement("filter",{id:"shadow2"},O.createElement("feDropShadow",{dx:"15",dy:"0",stdDeviation:"20",floodColor:"rgba(255,255,255,0.15)"})),O.createElement("filter",{id:"shadow3"},O.createElement("feDropShadow",{dx:"10",dy:"0",stdDeviation:"20",floodColor:"rgba(0,0,0,0.35)"}))),O.createElement("g",null,O.createElement("path",{style:{filter:"url(#shadow3)"},fill:"#171717",opacity:"1",d:"M1195.44+135.442L1195.44+135.442L997.6+136.442C1024.2+149.742+1170.34+163.542+1193.64+179.742C1264.34+228.842+1319.74+291.242+1358.24+365.042C1398.14+441.642+1419.74+530.642+1422.54+629.642L1422.54+630.842L1422.54+632.042C1422.54+773.142+1422.54+1228.14+1422.54+1369.14L1422.54+1370.34L1422.54+1371.54C1419.84+1470.54+1398.24+1559.54+1358.24+1636.14C1319.74+1709.94+1264.44+1772.34+1193.64+1821.44C1171.04+1837.14+1025.7+1850.54+1000+1863.54L1193.54+1864.54C1539.74+1866.44+1864.54+1693.34+1864.54+1296.64L1864.54+716.942C1866.44+312.442+1541.64+135.442+1195.44+135.442Z"}),O.createElement("path",{style:{filter:"url(#shadow2)"},fill:"#3E82E5",opacity:"1",d:"M1695.54+631.442C1685.84+278.042+1409.34+135.442+1052.94+135.442L361.74+136.442L803.74+490.442L1060.74+490.442C1335.24+490.442+1335.24+835.342+1060.74+835.342L1060.74+1164.84C1150.22+1164.84+1210.53+1201.48+1241.68+1250.87C1306.07+1353+1245.76+1509.64+1060.74+1509.64L361.74+1863.54L1052.94+1864.54C1409.24+1864.54+1685.74+1721.94+1695.54+1368.54C1695.54+1205.94+1651.04+1084.44+1572.64+999.942C1651.04+915.542+1695.54+794.042+1695.54+631.442Z"}),O.createElement("path",{style:{filter:"url(#shadow1)"},fill:"#FFFFFF",opacity:"1",d:"M1469.25+631.442C1459.55+278.042+1183.05+135.442+826.65+135.442L135.45+135.442L135.45+1004C135.45+1004+135.427+1255.21+355.626+1255.21C575.825+1255.21+575.848+1004+575.848+1004L577.45+490.442L834.45+490.442C1108.95+490.442+1108.95+835.342+834.45+835.342L664.65+835.342L664.65+1164.84L834.45+1164.84C923.932+1164.84+984.244+1201.48+1015.39+1250.87C1079.78+1353+1019.47+1509.64+834.45+1509.64L135.45+1509.64L135.45+1864.54L826.65+1864.54C1182.95+1864.54+1459.45+1721.94+1469.25+1368.54C1469.25+1205.94+1424.75+1084.44+1346.35+999.942C1424.75+915.542+1469.25+794.042+1469.25+631.442Z"})))}}const rs=f.React,as=g.getByDisplayName("Tooltip");var ls=new class{initialize(){u.suppressErrors(this.patchSocial.bind(this),"BD Social Patch")(),u.suppressErrors(this.patchGuildPills.bind(this),"BD Guild Pills Patch")(),u.suppressErrors(this.patchGuildListItems.bind(this),"BD Guild List Items Patch")(),u.suppressErrors(this.patchGuildSeparator.bind(this),"BD Guild Separator Patch")(),u.suppressErrors(this.patchMessageHeader.bind(this),"BD Message Header Patch")(),u.suppressErrors(this.patchMemberList.bind(this),"BD Member List Patch")()}patchSocial(){if(this.socialPatch)return;const e=g.getByDisplayName("TabBar"),t=g.getByDisplayName("Anchor");e&&(this.socialPatch=L.after("ComponentPatcher",e.prototype,"render",(e,s,n)=>{const o=n.props.children;if(!o||!o.length||o.length<3)return;if("Separator"!==o[o.length-3].type.displayName)return;if(!o[o.length-2].type.toString().includes("socialLinks"))return;if(t){const e=o[o.length-2].type,s=function(){const s=e(...arguments);return s.props.children.push(f.React.createElement(t,{className:"bd-social-link",href:"https://twitter.com/BandagedBD",title:"BandagedBD",target:"_blank"},f.React.createElement(os,{size:"16px",className:"bd-social-logo"}))),s};o[o.length-2].type=s}const r=f.React.createElement("div",{className:"colorMuted-HdFt4q size12-3cLvbJ"},"Injector "+i.version),a=`(${i.hash?i.hash.substring(0,7):i.branch})`,l=f.React.createElement("div",{className:"colorMuted-HdFt4q size12-3cLvbJ"},`BBD ${i.bbdVersion} `,f.React.createElement("span",{className:"versionHash-2gXjIB da-versionHash"},a)),d=o[o.length-1].type;o[o.length-1].type=function(){const e=d(...arguments);return e.props.children.splice(e.props.children.length-1,0,r),e.props.children.splice(1,0,l),e}}))}patchGuildListItems(){if(this.guildListItemsPatch)return;const e=f.GuildClasses.listItem.split(" ")[0],t=f.GuildClasses.blobContainer.split(" ")[0],s=u.getReactInstance(document.querySelector(`.${e} .${t}`).parentElement).return.type;s&&(this.guildListItemsPatch=L.after("ComponentPatcher",s.prototype,"render",(e,t,s)=>{if(!s||!e)return;const n=e.props;return s.props.className+=" bd-guild",n.unread&&(s.props.className+=" bd-unread"),n.selected&&(s.props.className+=" bd-selected"),n.audio&&(s.props.className+=" bd-audio"),n.video&&(s.props.className+=" bd-video"),n.badge&&(s.props.className+=" bd-badge"),n.animatable&&(s.props.className+=" bd-animatable"),s}))}patchGuildPills(){if(this.guildPillPatch)return;const e=g.getModule(e=>e.default&&!e.default.displayName&&e.default.toString&&e.default.toString().includes("translate3d"));e&&(this.guildPillPatch=L.after("ComponentPatcher",e,"default",(e,t,s)=>{const n=t[0];return n.unread&&(s.props.className+=" bd-unread"),n.selected&&(s.props.className+=" bd-selected"),n.hovered&&(s.props.className+=" bd-hovered"),s}))}patchGuildSeparator(){if(this.guildSeparatorPatch)return;const e=g.getByDisplayName("Guilds"),t=g.getByProps("renderListItem");if(!t||!e)return;const s=function(){const e=t.Separator(...arguments);return e.props.className+=" bd-guild-separator",e};this.guildSeparatorPatch=L.after("ComponentPatcher",e.prototype,"render",(e,t,n)=>{const i=u.findInReactTree(n,e=>e.type&&!e.type.displayName&&"function"==typeof e.type&&u.isEmpty(e.props));i&&(i.type=s)})}patchMessageHeader(){if(this.messageHeaderPatch)return;const e=g.getByProps("MessageTimestamp"),t=g.find(e=>"Anchor"==e.displayName);t&&e&&e.default&&(this.messageHeaderPatch=L.after("ComponentPatcher",e,"default",(e,s,n)=>{const i=u.getNestedProp(s[0],"message.author"),o=u.getNestedProp(n,"props.children.1.props.children.1.props.children");o&&i&&i.id&&"249746236008169473"===i.id&&Array.isArray(o)&&o.push(rs.createElement(as,{color:"black",position:"top",text:"BandagedBD Developer"},e=>rs.createElement(t,Object.assign({className:"bd-chat-badge",href:"https://github.com/rauenzi/BetterDiscordApp",title:"BandagedBD",target:"_blank"},e),rs.createElement(os,{size:"16px",className:"bd-logo"}))))}))}patchMemberList(){if(this.memberListPatch)return;const e=g.findByDisplayName("MemberListItem"),t=g.find(e=>"Anchor"==e.displayName);t&&e&&e.prototype&&e.prototype.renderDecorators&&(this.memberListPatch=L.after("ComponentPatcher",e.prototype,"renderDecorators",(e,s,n)=>{const i=u.getNestedProp(e,"props.user"),o=u.getNestedProp(n,"props.children");o&&i&&i.id&&"249746236008169473"===i.id&&Array.isArray(o)&&o.push(rs.createElement(as,{color:"black",position:"top",text:"BandagedBD Developer"},e=>rs.createElement(t,Object.assign({className:"bd-member-badge",href:"https://github.com/rauenzi/BetterDiscordApp",title:"BandagedBD",target:"_blank"},e),rs.createElement(os,{size:"16px",className:"bd-logo"}))))}))}};const ds=s(2),cs=s(1),{ipcRenderer:hs}=s(0),us=f.GuildClasses;!function(){const e=Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentWindow").get;Object.defineProperty(HTMLIFrameElement.prototype,"contentWindow",{get:function(){const t=Reflect.apply(e,this,arguments);return new Proxy(t,{getOwnPropertyDescriptor:function(e,t){if("localStorage"!==t)return Object.getOwnPropertyDescriptor(e,t)},get:function(e,t){if("localStorage"===t)return null;const s=e[t];return"function"==typeof s?s.bind(e):s}})}}),Object.defineProperty(Reflect,"apply",{value:Reflect.apply,writable:!1,configurable:!1}),Object.defineProperty(Function.prototype,"bind",{value:Function.prototype.bind,writable:!1,configurable:!1});const t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){const e=arguments[1];return e.toLowerCase().includes("api/webhooks")?null:Reflect.apply(t,this,arguments)}}(),function(){const e="betterdiscord/",t=s(4),n=t._load;t._load=function(t){if("betterdiscord"===t||t.startsWith(e)){if("bdapi"==t.substr(e.length))return dt}return n.apply(this,arguments)}}(),window.BdApi=dt,ut.show(),new class{constructor(){hs.invoke("bd-config","get").then(e=>{this.hasStarted||(Object.assign(i,e),this.init())})}get dependencies(){return[{name:"jquery",type:"script",url:"//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js",backup:"//cdn.jsdelivr.net/gh/jquery/jquery@2.0.0/jquery.min.js",local:null},{name:"bd-stylesheet",type:"style",url:"//betterdiscord.zerebos.com/dist/style.css",backup:"//rauenzi.github.io/BetterDiscordApp/dist/style.css",local:"{{localServer}}/BetterDiscordApp/dist/style.css",localPath:"style.css"}]}setConfig(e){this.hasStarted||Object.assign(i,e)}async init(){if(this.hasStarted)return;this.hasStarted=!0;let e=new Promise(e=>e());if(window.$&&window.jQuery||(e=this.loadDependencies()),w.initialize(),await D.initialize(),i.version
i.version&&_.showConfirmationModal(k.Startup.updateAvailable,k.Startup.updateInfo.format({version:t}),{confirmText:k.Startup.updateNow,cancelText:k.Startup.maybeLater,onConfirm:async()=>{const e=()=>{_.alert(k.Startup.updateFailed,k.Startup.manualUpdate)};try{if(!await this.updateInjector())return e();const t=s(0).remote.app;t.relaunch(),t.exit()}catch(t){e()}}}),c.log("Startup","Initializing Settings"),T.initialize(),await this.waitForGuilds(),F.initialize(),ls.initialize();for(const e in n)n[e].initialize();await e,c.log("Startup","Loading Plugins");const o=Ve.initialize();c.log("Startup","Loading Themes");const r=Ye.initialize();c.log("Startup","Removing Loading Icon"),ut.hide(),c.log("Startup","Collecting Startup Errors"),_.showAddonErrors({plugins:o,themes:r});const a=w.getBDData("version");i.bbdVersion>a&&(_.showChangelogModal(l),w.setBDData("version",i.bbdVersion))}waitForGuilds(){let e=0;return new Promise(t=>{const s=function(){e++,"complete"!=document.readyState&&setTimeout(s,100);const n=us.wrapper.split(" ")[0],o=us.listItem.split(" ")[0],r=us.blobContainer.split(" ")[0];return document.querySelectorAll(`.${n} .${o} .${r}`).length>0||e>=50?t(i.deferLoaded=!0):void setTimeout(s,100)};s()})}async loadDependencies(){for(const e of this.dependencies){if(i.local&&i.localPath&&e.localPath&&ds.existsSync(cs.resolve(i.localPath,e.localPath))){const t=ds.readFileSync(cs.resolve(i.localPath,e.localPath)).toString();S.injectStyle(e.name,t);continue}const t=u.formatString(i.local&&null!=e.local?e.local:e.url,{repo:i.repo,hash:i.hash,localServer:i.localServer});c.log("Startup",`Loading Resource (${t})`);const s=("script"==e.type?S.injectScript:S.linkStyle).bind(S);try{await s(e.name,t)}catch(n){const o=u.formatString(e.backup,{minified:i.minified?".min":""});c.stacktrace("Startup",`Could not load ${t}. Using backup ${o}`,n);try{await s(e.name,o)}catch(s){c.stacktrace("Startup",`Could not load ${t}. Using backup ${o}`,n),"jquery"===e.name&&_.alert(k.Startup.jqueryFailed,k.Startup.jqueryFailedDetails)}}}}async updateInjector(){const e=w.injectionPath;if(!e)return!1;const t=s(6),n=s(7),i=s(8),o=s(3),r=cs.resolve(e,".."),a=cs.basename(e),l="https://github.com/rauenzi/BetterDiscordApp/archive/injector.zip",d=cs.resolve(r,"injector.zip"),h=cs.resolve(r,"BetterDiscordApp-injector");c.log("InjectorUpdate","Downloading "+l);let u=await new Promise(e=>{o.get({url:l,encoding:null},async(t,s,n)=>{if(t||200!==s.statusCode)return e(!1);await new Promise(e=>ds.exists(d,e))&&await new Promise(e=>ds.rename(d,`${d}.bak${Math.round(performance.now())}`,e)),c.log("InjectorUpdate","Writing "+d),ds.writeFile(d,n,t=>e(!t))})});if(!u)return u;await new Promise(e=>ds.exists(h,e))&&await new Promise(e=>ds.rename(h,`${h}.bak${Math.round(performance.now())}`,e));const p=await new Promise((e,t)=>n.open(d,{lazyEntries:!0},(s,n)=>{if(s)return t(s);e(n)}));p.on("entry",(function(e){if(e.fileName.endsWith("/"))return p.readEntry();c.log("InjectorUpdate","Extracting "+e.fileName);const t=cs.resolve(r,e.fileName);i.sync(cs.dirname(t)),p.openReadStream(e,(function(e,s){if(e)return u=!1;s.on("end",(function(){p.readEntry()})),s.pipe(ds.createWriteStream(t))}))})),p.readEntry(),await new Promise(e=>p.once("end",e));const m=cs.resolve(r,`${a}.bak${Math.round(performance.now())}`);return await new Promise(t=>ds.rename(e,m,t)),c.log("InjectorUpdate",`Renaming ${cs.basename(h)} to ${a}`),u=await new Promise(t=>ds.rename(h,e,e=>t(!e))),u?u?(await new Promise(e=>t(m,e)),await new Promise(e=>ds.unlink(d,e)),c.log("InjectorUpdate","Injector Updated!"),u):(c.err("InjectorUpdate","Something went wrong... restoring backups."),await new Promise(e=>t(h,e)),await new Promise(t=>ds.rename(m,e,t)),u):(c.err("InjectorUpdate","Failed to rename the final directory"),u)}}}]);
\ No newline at end of file
diff --git a/dist/style.css b/dist/style.css
index 482c0c27..8061edca 100644
--- a/dist/style.css
+++ b/dist/style.css
@@ -1,2281 +1 @@
-/* stylelint-disable no-descending-specificity */
-
-#bd-editor-panel {
- display: flex;
- flex-direction: column;
-}
-
-#bd-editor-controls button {
- margin: 0 5px 0 0;
- background: none;
- color: #fff;
- height: 26px;
- font-weight: 600;
- border-radius: 3px;
- display: flex;
- align-items: center;
-}
-
-#bd-editor-controls button:hover {
- background: rgba(255, 255, 255, 0.05);
-}
-
-#bd-editor-controls button svg {
- fill: white;
-}
-
-#bd-editor-controls button:last-of-type {
- margin-right: 0;
-}
-
-#bd-editor-controls {
- display: flex;
- align-items: center;
- justify-content: space-between;
- background: #272822;
- color: #fff;
- border: none;
- box-shadow: 0 1px 0 0 #2f3129 inset;
- padding: 5px;
-}
-
-.editor-wrapper {
- display: flex;
-}
-
-.ace_editor {
- line-height: normal;
- font-family: Consolas, monospace;
- box-sizing: border-box;
- height: calc(100vh - 250px);
- font-size: 14px;
- width: 100%;
-}
-
-.bd-monokai .editor .ace_gutter {
- background: #2f3136;
-}
-
-.bd-monokai .ace_editor {
- background: #292b2f;
-}
-
-.bd-monokai #bd-editor-controls {
- background: #202225;
-}
-
-.theme-light #bd-editor-controls {
- background: #e8e8e8;
- border: 1px solid #fff;
- border-top: 1px solid #adadad;
- box-shadow: inset 0 1px 0 0 white;
-}
-
-.controls-section {
- display: flex;
- align-items: center;
-}
-
-.controls-section .checkbox-inner {
- width: 14px;
- height: 14px;
-}
-
-.controls-section .checkbox-inner .checkbox:checked + span::after {
- left: 2px;
- top: -2px;
-}
-
-.controls-section .checkbox-label {
- font-size: 14px;
-}
-
-/* Ace Editor Settings */
-
-#ace_settingsmenu_container {
- background: rgba(0, 0, 0, 0.7) !important; /* stylelint-disable-line important */
-}
-
-body #ace_settingsmenu {
- padding-top: 35px;
-}
-
-body .ace_closeButton {
- position: absolute;
- top: 8px;
- right: 12px;
- z-index: 10000;
- padding: 0;
- cursor: pointer;
- background: none;
- border: none;
-}
-
-body .ace_closeButton::before {
- content: "✖";
- color: #36393f;
-}
-
-body .ace_closeButton:active {
- transform: translateY(2px);
-}
-
-/* editor help text */
-
-#bd-editor-controls .help-text {
- margin-top: 8px;
- margin-bottom: 3px;
- font-size: 14px;
-}
-
-#bd-editor-controls .help-text .inline {
- background: #2f3129;
- padding: 0.2em;
- margin: -0.2em 0;
- border-radius: 3px;
-}
-
-/* Emoji Picker */
-
-.bd-dark #bd-qem-favourite-container,
-.bd-dark #bd-qem-twitch-container {
- background-color: #353535;
-}
-
-.bd-dark #bd-qem {
- border-bottom: 1px solid #464646;
- background: #353535;
-}
-
-.bd-dark #bd-qem button {
- background: #353535;
- border-left: 1px solid #242424;
- box-shadow: #424242 1px 0 0 0;
- color: #fff;
-}
-
-.bd-dark #bd-qem button.active {
- background-color: #292929;
-}
-
-.bd-dark #bd-qem button:hover {
- background-color: #303030;
-}
-
-.bd-dark .emojiPicker-3m1S-j {
- background-color: #353535;
-}
-
-.bd-dark .emojiPicker-3m1S-j .category-2U57w6 {
- background-color: #353535;
-}
-
-.bd-dark .emojiPicker-3m1S-j .header-1nkwgG .searchBar-2pWH0_ {
- background-color: #2b2b2b;
-}
-
-.bd-dark .emojiPicker-3m1S-j .searchBar-2pWH0_ input {
- color: #fff;
-}
-
-.bd-dark .emojiPicker-3m1S-j .searchBar-2pWH0_ input::-webkit-input-placeholder {
- color: #fff;
-}
-
-.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7 .emojiItem-109bjA.selected-39BZ4S {
- background-color: rgba(123, 123, 123, 0.37);
-}
-
-.bd-dark .emojiPicker-3m1S-j .dimmer-3iH-5D.visible-3k45bQ {
- background-color: rgba(62, 62, 62, 0.65);
-}
-
-.bd-dark .emojiPicker-3m1S-j .diversitySelector-tmmMv0 .popout-2nUePc {
- background: #353535;
- border-color: #202020;
-}
-
-.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar,
-.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar-track,
-.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar-track-piece,
-.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar,
-.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar-track,
-.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar-track-piece,
-.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7::-webkit-scrollbar,
-.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7::-webkit-scrollbar-track,
-.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7::-webkit-scrollbar-track-piece {
- background-color: #303030 !important;
- border-color: #303030 !important;
-}
-
-.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar-thumb,
-.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar-thumb,
-.bd-dark .emojiPicker-3g68GS .scroller-3vODG7::-webkit-scrollbar-thumb {
- border-color: #202020 !important;
- background-color: #202020 !important;
-}
-
-/* add/create server */
-
-.bd-dark .theme-light .slide-2pHaq5 {
- background: #36393f;
-}
-
-.bd-dark .theme-dark .action-1lSjCi,
-.bd-dark .theme-light .action-1lSjCi {
- background: #2f3136;
-}
-
-/* centered or */
-
-.bd-dark .theme-dark .or-3THJsp,
-.bd-dark .theme-light .or-3THJsp {
- background: #2f3136;
- order: 2;
- height: 56px;
- width: 56px;
- top: 103px;
- line-height: 56px;
- left: calc(50% - 29px);
- border-radius: 50%;
- border: 2px solid #484b52;
-}
-
-.bd-dark .create-3jownz {
- order: 1;
-}
-
-.bd-dark .join-33Tr-7 {
- order: 3;
-}
-
-.bd-dark .theme-dark .actionIcon-2IISM_,
-.bd-dark .theme-light .actionIcon-2IISM_ {
- filter: grayscale(100%) brightness(60%);
-}
-
-.bd-dark .theme-light .footer-2yfCgX {
- background: #2f3136;
-}
-
-/* Region Select */
-
-.bd-dark .regionSelectModal-12e-57 {
- background: #36393f;
-}
-
-.bd-dark .regionSelectModal-12e-57 .regionSelectModalOption-2DSIZ3 {
- background: #2f3136;
- border: 2px solid #484b52;
-}
-
-/* Ace Editor Settings */
-
-.bd-dark ~ div #ace_settingsmenu {
- color: #f6f6f7;
- background: #36393f;
- box-shadow: 0 0 0 1px rgba(32, 34, 37, 0.6), 0 2px 10px 0 rgba(0, 0, 0, 0.2);
-}
-
-.bd-dark ~ div #ace_settingsmenu select,
-.bd-dark ~ div #ace_settingsmenu input[type="text"] {
- color: #f6f6f7;
- background: #2f3136;
- border: 1px solid #484b52;
-}
-
-.bd-dark ~ div .ace_closeButton::before {
- color: #f6f6f7;
-}
-
-#removemenu {
- width: auto;
- background: #505050;
- z-index: 999999;
- box-shadow: 0 0 2px #000;
- padding: 2px;
- left: 25px;
- display: block;
- cursor: pointer;
- color: #fff;
- position: fixed;
-}
-
-#removemenu ul a {
- text-decoration: none;
- color: #fff;
- padding: 3px;
-}
-
-.emotewrapper {
- position: relative;
- display: inline-flex;
- object-fit: contain;
- margin: -0.1em 0.05em -0.2em 0.1em;
- vertical-align: top;
-}
-
-.emotewrapper.jumboable {
- margin-bottom: 0;
- margin-top: 0.2em;
- vertical-align: -0.3em;
-}
-
-.emote {
- height: 1.45em;
-}
-
-.emote.jumboable {
- height: 2rem;
-}
-
-.fav {
- display: none;
- position: absolute;
- width: 15px;
- height: 15px;
- right: -7px;
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAzFBMVEUAAABQUFBMTExLS0tNTU1MTExNTU1NTU1MTExMTExNTU1LS0tEREBEREBEREBEREBJSUhLS0tLS0tEREBNTU1NTU1NTU1EREArKyhNTU1NTU0AAABMTExKSklMTExNTU1NTU1NTU1KSkpMTExKSkhNTU1KSkpISEZNTU1LS0tAQDxOTk5KSkpLS0tNTU1MTExMTEx/f39MTExMTExLS0pLS0tMTExNTU1NTU1LS0pNTU1NTU1NTU1NTU1NTU1NTUxNTU1NTU1NTUxMTEzB8C/5AAAAOnRSTlMAI8X96oWAgYSF68QBAg0PMCb9BIuLgQUD4N0Bh0mKhZSOQ4gcrKscaW8QRE6fmJyjAshASceG7cIpqQOxTQAAALVJREFUGFddx6FOA0EYAOGZvd07Qm6vVCAAgUUgQEDfX/YZMAigqaFN7iC5tsmPqGPUN/AvUVeoEbGOCElJz08Uzeixqu4AqomVVSNngOVjTqDGZSl3UFtPGV2ot2zaq96YM9p5Ddzcf/nTTAlj+/sNtNu8OcwkIsbPBtrUfMQeEhGQmHbmGIFMwLPzu6UMIwBNgToshgq8Nr2ki+Oy7ebDHp70LRPWB6OZgfWLWei7fJonOOsPCGA9kVlssOoAAAAASUVORK5CYII=");
- border: none;
- background-size: 100% 100%;
- background-repeat: no-repeat;
- background-color: #303030;
- border-radius: 5px;
- top: -7px;
- cursor: pointer;
-}
-
-.fav.active {
- background-color: yellow;
-}
-
-.emotewrapper:hover .fav {
- display: block;
-}
-
-.emojiPicker-3m1S-j {
- box-shadow: none;
- border-top: none;
- border-radius: 0 0 5px 5px;
-}
-
-#bd-qem {
- border-radius: 5px 5px 0 0;
- background: #fff;
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
- height: 30px;
- display: flex;
- flex-direction: row;
- padding-right: 1px;
-}
-
-#bd-qem button {
- border-left: 1px solid #efefef;
- background: transparent;
- box-shadow: #cecece 1px 0 0 0;
- flex-grow: 1;
-}
-
-#bd-qem button:hover {
- background: #ececec;
-}
-
-#bd-qem-twitch {
- border-radius: 5px 0 0 0;
- order: 2;
-}
-
-#bd-qem-emojis {
- border-radius: 0 5px 0 0;
- order: 3;
-}
-
-#bd-qem-favourite {
- order: 3;
-}
-
-#bd-qem button.active {
- background-color: #e2e2e2;
-}
-
-#bd-qem-twitch-container,
-#bd-qem-favourite-container {
- width: 346px;
- height: 329px;
- background-color: #fff;
- border-radius: 0 0 5px 5px;
-}
-
-#bd-qem-twitch-container .scroller-wrap,
-#bd-qem-favourite-container .scroller-wrap {
- height: 100%;
-}
-
-.emote-menu-inner {
- padding: 5px 0 0 15px;
-}
-
-.bd-qme-hidden #bd-qem-emojis {
- display: none;
-}
-
-.bd-em-scroller {
- height: 400px;
-}
-
-#emote-container {
- padding: 10px;
-}
-
-.emote-container {
- display: inline-block;
- padding: 2px;
- border-radius: 5px;
- width: 30px;
- height: 30px;
- position: relative;
-}
-
-.emote-icon {
- max-width: 100%;
- max-height: 100%;
- position: absolute;
- margin: auto;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- cursor: pointer;
-}
-
-.emote.stop-animation {
- animation: none;
-}
-
-.emote-container:hover {
- background: rgba(123, 123, 123, 0.37);
-}
-
-.emoteflip,
-.emotespinflip {
- transform: scaleX(-1);
-}
-
-.emotespin {
- animation: 1s emote-spin infinite linear;
-}
-
-.emote1spin {
- animation: 1s emote-spin-reverse infinite linear;
-}
-
-.emotespin2 {
- animation: 0.5s emote-spin infinite linear;
-}
-
-.emote2spin {
- animation: 0.5s emote-spin-reverse infinite linear;
-}
-
-.emotespin3 {
- animation: 0.2s emote-spin infinite linear;
-}
-
-.emote3spin {
- animation: 0.2s emote-spin-reverse infinite linear;
-}
-
-.emotepulse {
- animation: 1s emote-pulse infinite linear;
-}
-
-.emotetr {
- transform: translateX(-3px);
-}
-
-.emotebl {
- transform: translateY(-3px);
-}
-
-.emotebr {
- transform: translate(-3px, -3px);
-}
-
-.emoteshake {
- animation: 1s emote-shake infinite linear;
-}
-
-.emoteflap {
- transform: scaleY(-1);
-}
-
-.emoteshake2 {
- animation: emote-shake2 0.3s linear infinite;
-}
-
-.emoteshake3 {
- animation: emote-shake3 0.1s linear infinite;
-}
-
-@keyframes emote-shake2 {
- 25% {
- transform: translate(-1px, -1px);
- }
-
- 50% {
- transform: translate(-1px, 1px);
- }
-
- 75% {
- transform: translate(1px, 1px);
- }
-
- 75% {
- transform: translate(1px, -1px);
- }
-}
-
-@keyframes emote-shake3 {
- 25% {
- transform: translate(-1px, -1px);
- }
-
- 50% {
- transform: translate(-1px, 1px);
- }
-
- 75% {
- transform: translate(1px, 1px);
- }
-
- 75% {
- transform: translate(1px, -1px);
- }
-}
-
-@keyframes emote-spin {
- from {
- transform: rotate(0deg);
- }
-
- to {
- transform: rotate(360deg);
- }
-}
-
-@keyframes emote-spin-reverse {
- from {
- transform: rotate(0deg);
- }
-
- to {
- transform: rotate(-360deg);
- }
-}
-
-@keyframes emote-pulse {
- 0% {
- -webkit-transform: scale(1, 1);
- }
-
- 50% {
- -webkit-transform: scale(1.2, 1.2);
- }
-
- 100% {
- -webkit-transform: scale(1, 1);
- }
-}
-
-@keyframes emote-shake {
- 10%,
- 90% {
- transform: translate3d(-1px, 0, 0);
- }
-
- 20%,
- 80% {
- transform: translate3d(2px, 0, 0);
- }
-
- 30%,
- 50%,
- 70% {
- transform: translate3d(-4px, 0, 0);
- }
-
- 40%,
- 60% {
- transform: translate3d(4px, 0, 0);
- }
-}
-
-/* Messages */
-
-.bd-minimal .divider-32i8lo {
- opacity: 0;
-}
-
-/* message avatars */
-
-.bd-minimal .large-3ChYtB {
- max-width: 20px;
- max-height: 20px;
- background-size: 100%;
- margin-right: 2px;
- margin-top: 0;
- border-radius: 0;
-}
-
-/* message content */
-
-.bd-minimal .content-3dzVd8 {
- border-left: 2px solid #ebebeb;
- padding-left: 2px;
-}
-
-.bd-minimal .theme-dark .content-3dzVd8 {
- border-left: 2px solid #303030;
-}
-
-/* message username */
-
-.bd-minimal .username-_4ZSMR {
- font-size: small;
-}
-
-/* message group */
-
-.bd-minimal .container-1YxwTf {
- padding: 5px;
-}
-
-/* message embed */
-
-.bd-minimal .embed-IeVjo6 {
- padding: 2px;
-}
-
-/* Member List */
-
-.bd-minimal .membersWrap-2h-GB4 {
- min-width: 0;
-}
-
-/* member list avatars */
-
-.bd-minimal .members-1998pB .small-5Os1Bb {
- max-width: 15px;
- max-height: 15px;
- background-size: 15px 15px;
-}
-
-/* member list avatars */
-
-.bd-minimal .members-1998pB .small-5Os1Bb .status-oxiHuE {
- height: 5px;
- width: 5px;
-}
-
-/* member list list item */
-
-.bd-minimal .members-1998pB .member-3W1lQa {
- padding: 5px;
-}
-
-/* member list item inner */
-
-.bd-minimal .members-1998pB .memberInner-2CPc3V {
- transform: scale(0.9);
-}
-
-/* member list role label */
-
-.bd-minimal .members-1998pB .membersGroup-v9BXpm {
- margin-top: 3px;
- transform: scale(0.9);
-}
-
-/* channel list */
-
-.bd-minimal .channels-Ie2l6A {
- width: 160px;
-}
-
-/* Channel List */
-
-.bd-minimal.bd-minimal-chan .channels-Ie2l6A {
- display: none;
-}
-
-/* channel list guild name */
-
-.bd-minimal .channels-Ie2l6A header span {
- font-size: 12px;
-}
-
-/* channel item */
-
-.bd-minimal .containerDefault-3GGEv_ {
- transform: scale(0.9);
-}
-
-/* channel name */
-
-.bd-minimal .content-3at_AU {
- transform: scale(0.9);
-}
-
-/* channel icon */
-
-.bd-minimal .icon-1_QxNX {
- width: 14px;
- height: 14px;
-}
-
-/* Guild List */
-
-.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .listItem-2P_4kh {
- width: 20px;
- height: 20px;
- background-size: 100%;
- font-size: 15px;
- line-height: 20px;
- margin: 0 12.5px 8px;
-}
-
-/* guild link and icon */
-
-.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .wrapper-25eVIn a,
-.bd-minimal .listItem-2P_4kh .wrapper-25eVIn .icon-27yU2q {
- width: 20px;
- height: 20px;
- background-size: 100%;
- font-size: 15px;
- line-height: 20px;
-}
-
-/* guild inner */
-
-.bd-minimal .listItem-2P_4kh .wrapper-25eVIn {
- width: 20px;
- height: 20px;
- background-size: 100%;
- font-size: 15px;
- line-height: 20px;
-}
-
-.bd-minimal .listItem-2P_4kh svg,
-.bd-minimal .listItem-2P_4kh foreignObject[mask] {
- mask: none;
-}
-
-/* home icon */
-
-.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .homeIcon-tEMBK1 {
- width: 10px;
- height: 10px;
- background-size: 100%;
- font-size: 15px;
- line-height: 20px;
-}
-
-/* add and search */
-
-.bd-minimal .circleIconButton-jET_ig {
- height: 20px;
- width: 20px;
-}
-
-.bd-minimal .circleIconButton-jET_ig svg {
- height: 14px;
- width: 14px;
-}
-
-/* friends online */
-
-.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .friendsOnline-_wi_fM {
- margin-left: -15px;
- font-size: 7px;
-}
-
-/* public servers button */
-
-.bd-minimal #bd-pub-li {
- height: 16px;
-}
-
-.bd-minimal #bd-pub-button {
- font-size: 8px;
- line-height: 16px;
- height: 16px;
-}
-
-/* guild list */
-
-.bd-minimal .wrapper-1Rf91z,
-.bd-minimal .wrapper-1Rf91z .scrollerWrap-1IAIlv,
-.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG {
- width: 45px;
-}
-
-/* separator */
-
-.bd-minimal .wrapper-1Rf91z .guildSeparator-3s64Iy {
- margin-left: -15px;
-}
-
-/* unread icon */
-
-.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .listItem-2P_4kh .wrapper-sa6paO {
- height: 20px;
- margin-top: 0;
- margin-left: -12.5px;
-}
-
-/* audio/video */
-
-.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .iconBadge-2wi9r4 {
- width: 12px;
- height: 12px;
- background-size: 12px;
-}
-
-/* Account Container */
-
-.bd-minimal .container-2Thooq .avatarSmall-3ACRaI {
- width: 15px;
- height: 15px;
- background-size: 15px 15px;
-}
-
-/* status */
-
-.bd-minimal .container-2Thooq .avatarSmall-3ACRaI .status-oxiHuE {
- height: 5px;
- width: 5px;
-}
-
-/* username and discrim */
-
-.bd-minimal .container-2Thooq .accountDetails-3k9g4n {
- transform: scale(0.8);
-}
-
-/* 3 buttons */
-
-.bd-minimal .container-2Thooq .button-2b6hmh {
- height: 14px;
- width: 14px;
- background-size: 14px 14px;
- margin-left: 3px;
-}
-
-/* 3 buttons icons */
-
-.bd-minimal .container-2Thooq .button-2b6hmh svg {
- height: 14px;
- width: 14px;
-}
-
-#bd-pub-li {
- height: 20px;
- margin-bottom: 10px;
- overflow: hidden;
-}
-
-#bd-pub-button {
- border-radius: 4px;
- background-color: rgb(47, 49, 54);
- color: #b9bbbe;
- text-align: center;
- font-size: 12px;
- line-height: 20px;
- height: 20px;
-}
-
-.bd-server-card .bd-server-tags {
- flex: 1 1 auto;
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- width: 0;
- line-height: 24px;
- font-size: 12px;
- color: #b9bbbe;
- font-weight: 700;
- margin-right: 10px;
-}
-
-/* .ui-card.ui-card-primary.bd-server-card:first-child {
- margin-bottom: 13px;
-}
-
-.ui-card.ui-card-primary.bd-server-card:first-child:after {
- border: 3px solid #7289da;
- content: "";
- display: block;
- position: absolute;
- left: 0;
- right: 0;
- margin-top: 4px;
-} */
-
-.bd-server-card.bd-server-card-pinned {
- margin-bottom: 15px;
-}
-
-.bd-server-card.bd-server-card-pinned::after {
- background: #3a71c1;
- content: "";
- height: 3px;
- width: 100%;
- display: block;
- margin-top: 7px;
- position: absolute;
- top: 100%;
-}
-
-.bd-server-description-container {
- color: #b9bbbe;
- min-height: 65px;
- max-height: 65px;
- border-top: 1px solid #3f4146;
- border-bottom: 1px solid #3f4146;
- padding-top: 5px;
- font-size: 13px;
-}
-
-.bd-server-header {
- text-transform: uppercase;
- letter-spacing: 0.5px;
- justify-content: space-between;
- font-weight: 600;
-}
-
-.bd-server-card {
- display: flex;
- position: relative;
- border-width: 1px;
- border-style: solid;
- border-radius: 5px;
- background: rgba(32, 34, 37, 0.6);
- border-color: #202225;
- margin-bottom: 8px;
-}
-
-.bd-server-header,
-.bd-server-footer {
- display: flex;
- color: #b9bbbe;
-}
-
-.bd-server-card .bd-button {
- margin-top: 4px;
-}
-
-.bd-server-content {
- padding: 5px 10px;
- flex: 1;
-}
-
-.bd-server-image {
- min-width: 115px;
- min-height: 115px;
- max-width: 115px;
- max-height: 115px;
-}
-
-.bd-server-name {
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
- padding-right: 15px;
- max-width: 330px;
- flex: 1 1 50%;
-}
-
-.bd-layer {
- -ms-flex-direction: column;
- -webkit-box-direction: normal;
- -webkit-box-orient: vertical;
- bottom: 0;
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- flex-direction: column;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
-}
-
-/* #pubslayer .ui-tab-bar-item {
- color: #b9bbbe;
- padding-top: 6px;
- padding-bottom: 6px;
- margin-bottom: 2px;
- padding: 6px 10px;
- position: relative;
- font-size: 16px;
- line-height: 20px;
- border-radius: 3px;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- flex-shrink: 0;
- font-weight: 500;
- cursor: pointer;
-}
-
-#pubslayer .ui-tab-bar-item:hover {
- color: #f6f6f7;
- background-color: hsla(216,4%,74%,.1);
-}
-
-#pubslayer .ui-tab-bar-item.selected {
- color: #fff;
- background-color: #7289da;
-}
-
-#pubslayer .ui-tab-bar-header {
- color: #72767d;
- padding: 6px 10px;
- font-size: 12px;
- line-height: 16px;
- text-transform: uppercase;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- flex-shrink: 0;
- font-weight: 500;
-}
-
-#pubslayer #bd-settings-sidebar .ui-tab-bar-separator {
- background-color: hsla(218,5%,47%,.3);
- margin-left: 10px;
- margin-right: 10px;
- height: 1px;
- margin-bottom: 8px;
- margin-top: 8px;
-}
-
-#pubslayer h2.ui-form-title {
- color: #f6f6f7;
- text-transform: uppercase;
- font-weight: 600;
-}
-
-#pubslayer h5.ui-form-title {
- color: #f6f6f7;
-} */
-
-#pubslayer button {
- background: #7289da;
- color: #fff;
- font-size: 14px;
- font-weight: 500;
- line-height: 16px;
- padding: 2px 16px;
- border: none;
- border-radius: 3px;
- transition: background-color 0.17s ease;
-}
-
-#pubslayer button:hover {
- background-color: #677bc4;
-}
-
-#pubslayer input {
- color: #f6f6f7;
- background-color: rgba(0, 0, 0, 0.1);
- border-color: rgba(0, 0, 0, 0.3);
- padding: 10px;
- height: 30px;
- border-width: 1px;
- border-style: solid;
- border-radius: 3px;
- outline: none;
- transition: background-color 0.15s ease, border 0.15s ease;
-}
-
-#bd-connection {
- margin-left: 10px;
-}
-
-.bd-footnote {
- color: #b9bbbe;
- font-size: 11px;
-}
-
-.bd-button-next,
-.bd-button-reconnect {
- margin: 5px 10px 10px 0;
- width: 100%;
- min-height: 20px;
-}
-
-.bd-reload {
- cursor: pointer;
- vertical-align: top;
- fill: #dcddde;
-}
-
-.bd-reload:hover {
- fill: #fff;
-}
-
-.bd-reload-header {
- margin-left: 5px;
-}
-
-.bd-reload-card {
- margin-right: 5px;
-}
-
-.bd-controls {
- display: flex;
-}
-
-.bd-addon-list {
- user-select: text;
-}
-
-.bd-addon-list .bd-addon-card {
- max-height: 175px;
- margin-bottom: 20px;
- padding: 5px 8px;
- border: 1px solid transparent;
- border-radius: 5px;
- overflow: hidden;
-}
-
-.theme-dark .bd-addon-list .bd-addon-card {
- background-color: rgba(32, 34, 37, 0.6);
- color: #f6f6f7;
- border-color: #202225;
-}
-
-.theme-light .bd-addon-list .bd-addon-card {
- background-color: #f8f9f9;
- color: #4f545c;
- border-color: #dcddde;
-}
-
-.bd-addon-list .bd-addon-card.settings-open {
- max-height: 800px;
- overflow-y: auto;
-}
-
-.bd-addon-list .bd-addon-header {
- font-size: 12px;
- font-weight: 700;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding-bottom: 5px;
- border-bottom: 1px solid transparent;
- overflow: hidden;
-}
-
-.theme-dark .bd-addon-list .bd-addon-header {
- color: #f6f6f7;
- border-bottom-color: rgba(114, 118, 125, 0.3);
-}
-
-.theme-light .bd-addon-list .bd-addon-header {
- color: #4f545c;
- border-bottom-color: rgba(185, 187, 190, 0.3);
-}
-
-.bd-addon-list .bd-description {
- word-break: break-word;
- max-height: 100px;
- margin: 5px 0;
- padding: 5px 0;
- overflow-y: auto;
-}
-
-.theme-dark .bd-addon-list .bd-description {
- color: #b9bbbe;
-}
-
-.theme-light .bd-addon-list .bd-description {
- color: #72767d;
-}
-
-.bd-addon-list .scroller::-webkit-scrollbar-track-piece,
-.bd-addon-list .scroller::-webkit-scrollbar-thumb {
- border-radius: 0 !important;
- border-color: transparent;
-}
-
-.bd-addon-list .bd-footer {
- font-size: 12px;
- font-weight: 700;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding-top: 5px;
- border-top: 1px solid transparent;
- overflow: hidden;
-}
-
-.theme-dark .bd-addon-list .bd-footer {
- border-top-color: rgba(114, 118, 125, 0.3);
-}
-
-.theme-light .bd-addon-list .bd-footer {
- border-top-color: rgba(185, 187, 190, 0.3);
-}
-
-.bd-addon-list .bd-footer button {
- padding: 3px 16px;
- transition: opacity 250ms ease;
-}
-
-.bd-addon-list .bd-footer button:disabled {
- opacity: 0.4;
-}
-
-.bd-addon-list .bd-footer a {
- color: #3e82e5;
-}
-
-.bd-addon-list .bd-footer a:hover {
- text-decoration: underline;
-}
-
-.bd-controls + .bd-addon-list {
- margin-top: 10px;
-}
-
-.bd-addon-button {
- cursor: pointer;
-}
-
-.bd-addon-button + .bd-addon-button {
- margin-left: 5px;
-}
-
-.bd-search-wrapper {
- padding: 3px;
- border-radius: 3px;
- outline: none;
- border: 0;
- background-color: #202225;
- color: #fff;
- display: flex;
- align-items: center;
-}
-
-.bd-search {
- padding: 2px 3px;
- background: none;
- border: 0;
- color: #fff;
- flex: 1;
-}
-
-.bd-search-wrapper > svg {
- margin-right: 2px;
-}
-
-.bd-addon-controls {
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.bd-addon-controls .bd-search {
- font-size: 13px;
- margin: 0;
- width: 200px;
-}
-
-.bd-addon-dropdowns {
- display: flex;
-}
-
-/* Error Boundary stuff */
-
-.react-error {
- color: red;
- font-weight: bold;
- font-family: Arial, Helvetica, sans-serif;
- cursor: pointer;
-}
-
-.settings-open .bd-close {
- cursor: pointer;
- float: right;
-}
-
-.bd-social-logo {
- opacity: 0.6;
-}
-
-.bd-social-link:hover .bd-social-logo {
- opacity: 1;
-}
-
-.standardSidebarView-3F1I7i .bd-versioninfo-wrapper {
- bottom: 0;
- left: 0;
- position: fixed;
- background: inherit;
- right: 0;
- padding: 5px;
-}
-
-.standardSidebarView-3F1I7i .bd-versioninfo-wrapper span {
- color: #b9bbbe;
- font-weight: 600;
- font-size: 11px;
-}
-
-.standardSidebarView-3F1I7i .bd-versioninfo-wrapper a {
- font-size: 11px;
-}
-
-.bd-button-title {
- margin-left: 10px;
-}
-
-/* #bd-settings-sidebar .ui-tab-bar-item {
- font-size: 16px;
- font-weight: 500;
- line-height: 20px;
- text-overflow: ellipsis;
- white-space: nowrap;
- cursor: pointer;
- flex-shrink: 0;
- padding: 6px 10px;
- border-radius: 3px;
- position: relative;
- overflow: hidden;
-}
-#bd-settings-sidebar .ui-tab-bar-item.selected {
- cursor: default;
-}
-.theme-dark #bd-settings-sidebar .ui-tab-bar-item {
- color: #b9bbbe;
-}
-.theme-dark #bd-settings-sidebar .ui-tab-bar-item:hover {
- background-color: rgba(185,187,190,.1);
- color: #f6f6f7;
-}
-.theme-dark #bd-settings-sidebar .ui-tab-bar-item.selected {
- background-color: #7289da;
- color: #fff;
-}
-.theme-light #bd-settings-sidebar .ui-tab-bar-item {
- color: #72767d;
-}
-.theme-light #bd-settings-sidebar .ui-tab-bar-item:hover {
- background-color: rgba(79,84,92,.1);
- color: #4f545c;
-}
-.theme-light #bd-settings-sidebar .ui-tab-bar-item.selected {
- background-color: #7289da;
- color: #fff;
-}
-
-#bd-settings-sidebar .ui-tab-bar-header {
- font-size: 12px;
- font-weight: 700;
- line-height: 16px;
- text-transform: uppercase;
- text-overflow: ellipsis;
- white-space: nowrap;
- flex-shrink: 0;
- padding: 6px 10px;
- overflow: hidden;
-}
-.theme-dark #bd-settings-sidebar .ui-tab-bar-header {
- color: #72767d;
-}
-.theme-light #bd-settings-sidebar .ui-tab-bar-header {
- color: #b9bbbe;
-}
-
-#bd-settings-sidebar .ui-tab-bar-separator {
- height: 1px;
- margin: 8px 10px;
-}
-.theme-dark #bd-settings-sidebar .ui-tab-bar-separator {
- background-color: rgba(114,118,125,.3);
-}
-.theme-light #bd-settings-sidebar .ui-tab-bar-separator {
- background-color: rgba(185,187,190,.3);
-}
-
-.ui-flex {
- display: flex;
-}
-
-#bd-settingspane-container h2.ui-form-title {
- font-size: 16px;
- font-weight: 600;
- line-height: 20px;
- text-transform: uppercase;
- display: inline-block;
- margin-bottom: 20px;
-}
-.theme-dark #bd-settingspane-container h2.ui-form-title {
- color: #f6f6f7;
-}
-.theme-light #bd-settingspane-container h2.ui-form-title {
- color: #4f545c;
-} */
-
-.bd-switch {
- background-color: #72767d;
- border-radius: 14px;
- width: 42px;
- height: 24px;
- opacity: 1;
- overflow: hidden;
- user-select: none;
- position: relative;
- display: block;
- flex: 0 0 auto;
- transition: background 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border 0.15s ease-in-out, opacity 0.15s ease-in-out;
- margin-left: 10px;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15);
-}
-
-.bd-switch::before {
- content: "";
- display: block;
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
- z-index: 0;
- opacity: 0;
- background-color: #000;
-}
-
-.bd-switch::after {
- content: "";
- display: block;
- position: absolute;
- background-color: #fff;
- z-index: 1;
- width: 18px;
- margin: 3px;
- border-radius: 9px;
- height: 18px;
- left: 0;
- transition: transform 0.15s ease-in-out, width 0.1s ease-in-out, left 0.1s ease-in-out;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
-}
-
-.bd-switch .bd-checkbox {
- position: absolute;
- width: 100%;
- height: 100%;
- opacity: 0;
- padding: 0;
- margin: 0;
- z-index: 2;
- cursor: pointer;
-}
-
-.bd-switch-checked {
- background-color: #3e82e5;
-}
-
-.bd-switch-checked::after {
- transform: translate3d(18px, 0, 0);
-}
-
-.bd-switch-disabled {
- opacity: 0.3;
- cursor: not-allowed;
-}
-
-.bd-switch-item {
- flex-direction: column;
- margin-top: 8px;
-}
-
-.bd-switch-item h3 {
- font-size: 16px;
- font-weight: 500;
- line-height: 24px;
- flex: 1;
-}
-
-.theme-dark .bd-switch-item h3 {
- color: #f6f6f7;
-}
-
-.theme-light .bd-switch-item h3 {
- color: #4f545c;
-}
-
-/* .ui-switch-item .style-description {
- font-size: 14px;
- font-weight: 500;
- line-height: 20px;
- margin-bottom: 10px;
- padding-bottom: 10px;
- border-bottom: 1px solid hsla(218,5%,47%,.3);
-}
-.theme-dark .ui-switch-item .style-description {
- color: #72767d;
-}
-.theme-light .ui-switch-item .style-description {
- color: rgba(114,118,125,.6);
-} */
-
-.bd-switch-item .bd-switch-wrapper {
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- position: relative;
- width: 44px;
- height: 24px;
- display: block;
- flex: 0 0 auto;
-}
-
-.bd-switch-item .bd-switch-wrapper input {
- position: absolute;
- opacity: 0;
- cursor: pointer;
- width: 100%;
- height: 100%;
- z-index: 1;
-}
-
-.bd-switch-item .bd-switch-wrapper .bd-switch {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background: #72767d;
- border-radius: 14px;
- transition: background 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;
-}
-
-.bd-switch-item .bd-switch-wrapper .bd-switch::before {
- content: "";
- display: block;
- width: 18px;
- height: 18px;
- position: absolute;
- top: 3px;
- left: 3px;
- bottom: 3px;
- background: #f6f6f7;
- border-radius: 10px;
- transition: all 0.15s ease;
- box-shadow: 0 3px 1px 0 rgba(0, 0, 0, 0.05), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 3px 3px 0 rgba(0, 0, 0, 0.05);
-}
-
-.bd-switch-item .bd-switch-wrapper .bd-switch.checked {
- background: #7289da;
-}
-
-.bd-switch-item .bd-switch-wrapper .bd-switch.checked::before {
- transform: translateX(20px);
-}
-
-#bd-settingspane-container .scroller-wrap {
- height: 100%;
-}
-
-#bd-settingspane-container .scroller-wrap .scroller {
- display: flex;
-}
-
-.bd-select-wrapper {
- color: #f6f6f7;
- font-size: 13px;
- display: flex;
- align-items: center;
-}
-
-.bd-select-wrapper + .bd-select-wrapper {
- margin-left: 10px;
-}
-
-.bd-select-wrapper label {
- opacity: 0.3;
- margin-right: 5px;
-}
-
-.bd-select {
- position: relative;
- cursor: pointer;
- color: #f6f6f7;
- font-size: 13px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- background-color: rgba(0, 0, 0, 0.1);
- border: 1px solid rgba(0, 0, 0, 0.3);
- border-radius: 3px;
- padding: 5px 5px 5px 0;
-}
-
-.bd-select.bd-select-transparent {
- background: none;
- border: none;
- padding: 0;
-}
-
-.bd-select-value {
- padding-left: 12px;
-}
-
-.bd-select-arrow {
- margin-left: 10px;
-}
-
-.bd-select .bd-select-options {
- position: absolute;
- background: #2f3136;
- border-radius: 0 0 3px 3px;
- max-height: 300px;
- min-width: calc(100% + 2px);
- overflow-y: auto;
- box-shadow: rgba(0, 0, 0, 0.3) 0 1px 5px 0;
- border: 1px solid rgba(0, 0, 0, 0.3);
- border-top: 0;
- margin-top: -1px;
- margin-left: -1px;
- z-index: 2;
- top: 100%;
-}
-
-.bd-select-transparent .bd-select-options {
- border: 1px solid rgba(0, 0, 0, 0.3);
- margin-top: 3px;
- border-radius: 3px;
-}
-
-.bd-select .bd-select-option {
- padding: 8px 12px;
- cursor: pointer;
- white-space: pre;
-}
-
-.bd-select .bd-select-option:hover,
-.bd-select .bd-select-option.selected {
- background: #26272b;
-}
-
-.bd-setting-item .bd-select {
- min-width: 200px;
-}
-
-.bd-setting-item {
- display: flex;
- flex-direction: column;
- margin-bottom: 20px;
-}
-
-.bd-setting-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-
-.bd-setting-header label {
- font-weight: 500;
- cursor: pointer;
- overflow: hidden;
- word-wrap: break-word;
- font-size: 16px;
- line-height: 24px;
- color: #f6f6f7;
-}
-
-.bd-setting-note {
- color: #72767d;
- margin-top: 4px;
- font-size: 14px;
- line-height: 20px;
- font-weight: 500;
-}
-
-.bd-setting-divider {
- width: 100%;
- height: 1px;
- margin-top: 20px;
- background-color: rgba(114, 118, 125, 0.3);
-}
-
-.bd-settings-container {
- height: auto;
- overflow: hidden;
- transition: height 300ms cubic-bezier(0.47, 0, 0.745, 0.715);
-}
-
-.bd-settings-group.collapsed .bd-settings-container {
- height: 0;
-}
-
-.bd-settings-group.expanded .bd-settings-container:not(.animating) {
- overflow: visible;
-}
-
-.bd-settings-group.collapsible .bd-settings-title {
- display: flex;
- justify-content: space-between;
- align-items: center;
- order: 1;
-}
-
-.bd-settings-group.collapsible .bd-settings-title::before {
- content: "";
- background-color: rgba(114, 118, 125, 0.3);
- height: 2px;
- order: 2;
- flex: 1;
- margin: 0 10px 0 15px;
-}
-
-.bd-settings-group.collapsible .bd-settings-title::after {
- content: "";
- background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FscXVlXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSItOTUwIDUzMiAxOCAxOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAtOTUwIDUzMiAxOCAxODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6bm9uZTt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTS05MzIsNTMydjE4aC0xOHYtMThILTkzMnoiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QxIiBwb2ludHM9Ii05MzYuNiw1MzguOCAtOTQxLDU0My4yIC05NDUuNCw1MzguOCAiLz4NCjwvc3ZnPg0K");
- height: 20px;
- width: 20px;
- display: inline-block;
- vertical-align: bottom;
- transition: transform 0.3s ease;
- transform: rotate(0);
- order: 3;
-}
-
-.bd-settings-group.collapsed .bd-settings-title::after {
- transition: transform 0.3s ease;
- transform: rotate(90deg);
-}
-
-.bd-settings-group ~ .bd-settings-group .bd-settings-title {
- margin-top: 30px;
- transition: margin-top 300ms ease;
-}
-
-.bd-settings-group.collapsed + .bd-settings-group .bd-settings-title {
- margin-top: 0;
-}
-
-.bd-settings-title.bd-settings-group-title {
- margin-bottom: 10px;
-}
-
-.checkbox-item {
- display: flex;
-}
-
-.checkbox-item .checkbox-label {
- margin-right: 8px;
-}
-
-@keyframes open-window {
- from {
- transform: scale(0.9);
- }
-
- to {
- transform: none;
- }
-}
-
-.floating-window {
- animation: open-window 200ms ease;
- min-width: 200px;
- min-height: 300px;
- box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2);
- display: flex;
- flex-direction: column;
- -webkit-app-region: no-drag;
- position: fixed;
- z-index: 1001;
- box-sizing: border-box;
-}
-
-.floating-window.modal-open {
- z-index: 999;
-}
-
-.floating-window.resizable {
- overflow: auto;
- resize: both;
- padding-bottom: 10px;
- background: #202225;
-}
-
-.floating-window-titlebar {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
- background: #202225; /* #2F3129background-color: #202225; */
- color: white;
- border-bottom: 1px solid #272822;
-}
-
-.floating-window-content {
- display: flex;
- flex-direction: column;
- background: #2f3129;
- color: white;
- flex: 1;
-}
-
-.floating-window-titlebar .title {
- /* font-weight: bold; */
- flex: 1;
- text-align: center;
- padding: 2px 0;
-}
-
-.floating-window-buttons {
- display: flex;
-}
-
-.floating-window-buttons .button {
- cursor: pointer;
- padding: 0 2px;
-}
-
-.floating-window-buttons .button svg {
- fill: #dcddde;
- margin-top: 1.5px;
-}
-
-.floating-window-buttons .button:hover svg {
- fill: white;
-}
-
-.floating-window-buttons .button:hover {
- background-color: #36393f;
-}
-
-.floating-window-buttons .close-button:hover {
- background-color: #f04747;
-}
-
-.floating-window-buttons .close-button:hover svg path.fill {
- fill: white;
-}
-
-.floating-window-content #bd-editor-panel {
- display: flex;
- flex-direction: column;
- flex: 1;
-}
-
-.floating-window .editor-wrapper {
- flex: 1;
-}
-
-.floating-window .ace_editor {
- height: auto;
- flex: 1;
-}
-
-.floating-window #bd-editor-controls {
- height: auto;
- background: #202225;
- border: none;
- box-shadow: 0 1px 0 0 #2f3129 inset;
-}
-
-#floating-editor-window {
- min-width: 340px;
- min-height: 280px;
- max-height: 900px;
- max-width: 750px;
-}
-
-.floating-addon-window {
- min-width: 535px;
- min-height: 605px;
- max-height: 90%;
- max-width: 90%;
-}
-
-@keyframes bd-backdrop {
- to {
- opacity: 0.85;
- }
-}
-
-@keyframes bd-modal-wrapper {
- to {
- transform: scale(1);
- opacity: 1;
- }
-}
-
-@keyframes bd-backdrop-closing {
- to {
- opacity: 0;
- }
-}
-
-@keyframes bd-modal-wrapper-closing {
- to {
- transform: scale(0.7);
- opacity: 0;
- }
-}
-
-.bd-backdrop {
- animation: bd-backdrop 250ms ease;
- animation-fill-mode: forwards;
- opacity: 0;
- background-color: rgb(0, 0, 0);
- transform: translateZ(0);
-}
-
-.bd-modal-wrapper.closing .bd-backdrop {
- animation: bd-backdrop-closing 200ms linear;
- animation-fill-mode: forwards;
- animation-delay: 50ms;
- opacity: 0.85;
-}
-
-.bd-modal-wrapper .bd-modal {
- animation: bd-modal-wrapper 250ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
- animation-fill-mode: forwards;
- transform: scale(0.7);
- transform-origin: 50% 50%;
- display: flex;
- align-items: center;
- box-sizing: border-box;
- contain: content;
- justify-content: center;
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
- opacity: 0;
- pointer-events: none;
- position: absolute;
- z-index: 1000;
-}
-
-.bd-modal-wrapper.closing .bd-modal {
- animation: bd-modal-wrapper-closing 250ms cubic-bezier(0.19, 1, 0.22, 1);
- animation-fill-mode: forwards;
- opacity: 1;
- transform: scale(1);
-}
-
-.bd-modal-wrapper .bd-modal-inner {
- display: flex;
- contain: layout;
- flex-direction: column;
- pointer-events: auto;
- border: 1px solid rgba(28, 36, 43, 0.6);
- border-radius: 5px;
- box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2);
- overflow: hidden;
- max-height: 660px;
- min-height: 200px;
- width: 440px;
- user-select: text;
-}
-
-.bd-modal-wrapper .bd-content-modal .bd-modal-inner {
- height: 500px;
- width: 700px;
-}
-
-.bd-modal-wrapper .header {
- background-color: #35393e;
- box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);
- padding: 12px 20px;
- z-index: 1;
- color: #fff;
- font-size: 16px;
- font-weight: 700;
- line-height: 19px;
-}
-
-.bd-modal-wrapper .bd-modal-body {
- background-color: #36393f;
- color: #fff;
- overflow: hidden;
- display: flex;
- flex-direction: column;
- flex: 1;
- contain: layout;
- position: relative;
-}
-
-.bd-modal-wrapper .scroller {
- padding: 10px;
- overflow-y: auto;
-}
-
-.bd-modal-wrapper .bd-content-modal .bd-modal-body {
- padding: 0;
-}
-
-.bd-modal-wrapper .footer {
- display: flex;
- justify-content: flex-end;
- padding: 10px 20px;
-}
-
-.bd-modal-wrapper .footer button {
- min-height: 32px;
- min-width: 60px;
- align-items: center;
- display: flex;
- font-size: 14px;
- font-weight: 500;
- justify-content: center;
- line-height: 16px;
- padding: 2px 16px;
- user-select: none;
-}
-
-.bd-modal-wrapper .tab-bar-container {
- align-items: center;
- border-bottom: 0;
- background: rgba(0, 0, 0, 0.2);
- box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1);
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- margin-bottom: 15px;
-}
-
-.bd-modal-wrapper .tab-bar.TOP {
- margin: 0;
- border: 0;
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
-}
-
-.bd-modal-wrapper .tab-bar-container .tab-bar-item {
- margin: 0 15px;
- padding: 15px 0;
- color: #fff;
- opacity: 0.5;
- transition: opacity 200ms ease;
- border-bottom: 2px solid transparent;
-}
-
-.bd-modal-wrapper .tab-bar-container .tab-bar-item:hover {
- border-color: #fff;
- cursor: pointer;
-}
-
-.bd-modal-wrapper .tab-bar-container .tab-bar-item.selected {
- opacity: 1;
- border-color: #fff;
-}
-
-.bd-modal-wrapper .tab-bar.TOP .tab-bar-item + .tab-bar-item {
- margin: 0;
-}
-
-.bd-modal-wrapper .table-header {
- display: flex;
- justify-content: space-between;
- color: #fff;
- font-weight: 700;
- padding-bottom: 10px;
- margin: 3px 15px 0 15px;
- border-bottom: 1px solid #fff;
- font-size: 14px;
-}
-
-.bd-modal-wrapper .table-column {
- width: 25%;
- word-wrap: break-word;
-}
-
-.bd-modal-wrapper .table-column.column-error {
- width: 50%;
-}
-
-.bd-modal-wrapper .errors {
- display: flex;
- flex-direction: column;
- font-size: 14px;
- padding: 0 5px;
-}
-
-.bd-modal-wrapper .error {
- display: flex;
- color: #fff;
- border-bottom: 1px solid rgba(255, 255, 255, 0.25);
- padding: 15px 0;
- align-items: center;
-}
-
-.bd-modal-wrapper .error-link {
- color: #3e82e5;
- font-weight: 500;
-}
-
-.bd-modal-wrapper .bd-content-modal .scroller {
- padding-top: 0;
-}
-
-.bd-sidebar-header {
- display: flex;
- justify-content: space-between;
-}
-
-.bd-sidebar-header .bd-changelog-button {
- height: 16px;
-}
-
-.bd-sidebar-header .bd-icon {
- cursor: pointer;
- fill: #72767d;
-}
-
-.bd-sidebar-header .bd-icon:hover {
- fill: #fff;
-}
-
-.bd-toasts {
- position: fixed;
- display: flex;
- top: 0;
- flex-direction: column;
- align-items: center;
- justify-content: flex-end;
- pointer-events: none;
- z-index: 4000;
-}
-
-@keyframes bd-toast-up {
- from {
- transform: translateY(0);
- opacity: 0;
- }
-}
-
-.bd-toast {
- animation: bd-toast-up 300ms ease;
- transform: translateY(-10px);
- background: #36393f;
- padding: 10px;
- border-radius: 5px;
- box-shadow: 0 0 0 1px rgba(32, 34, 37, 0.6), 0 2px 10px 0 rgba(0, 0, 0, 0.2);
- font-weight: 500;
- color: #fff;
- font-size: 14px;
- opacity: 1;
- margin-top: 10px;
- pointer-events: none;
- user-select: none;
-}
-
-@keyframes bd-toast-down {
- to {
- transform: translateY(0);
- opacity: 0;
- }
-}
-
-.bd-toast.closing {
- animation: bd-toast-down 200ms ease;
- animation-fill-mode: forwards;
- opacity: 1;
- transform: translateY(-10px);
-}
-
-.bd-toast.icon {
- padding-left: 30px;
- background-size: 20px 20px;
- background-repeat: no-repeat;
- background-position: 6px 50%;
-}
-
-.bd-toast.toast-info {
- background-color: #4a90e2;
-}
-
-.bd-toast.toast-info.icon {
- background-image: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxNWgtMnYtNmgydjZ6bTAtOGgtMlY3aDJ2MnoiLz48L3N2Zz4=");
-}
-
-.bd-toast.toast-success {
- background-color: #43b581;
-}
-
-.bd-toast.toast-success.icon {
- background-image: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptLTIgMTVsLTUtNSAxLjQxLTEuNDFMMTAgMTQuMTdsNy41OS03LjU5TDE5IDhsLTkgOXoiLz48L3N2Zz4=");
-}
-
-.bd-toast.toast-danger,
-.bd-toast.toast-error {
- background-color: #f04747;
-}
-
-.bd-toast.toast-danger.icon,
-.bd-toast.toast-error.icon {
- background-image: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTUgMTMuNTlMMTUuNTkgMTcgMTIgMTMuNDEgOC40MSAxNyA3IDE1LjU5IDEwLjU5IDEyIDcgOC40MSA4LjQxIDcgMTIgMTAuNTkgMTUuNTkgNyAxNyA4LjQxIDEzLjQxIDEyIDE3IDE1LjU5eiIvPiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+");
-}
-
-.bd-toast.toast-warning,
-.bd-toast.toast-warn {
- background-color: #ffa600;
- color: white;
-}
-
-.bd-toast.toast-warning.icon,
-.bd-toast.toast-warn.icon {
- background-image: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiIvPjwvc3ZnPg==");
-}
-
-.bd-button {
- background-color: #3e82e5;
- color: white;
- border-radius: 3px;
- padding: 2px 6px;
-}
-
-.bd-button:hover {
- background-color: rgb(56, 117, 206);
-}
-
-.bd-button:active {
- background-color: rgb(50, 104, 183);
-}
-
-.bd-button.bd-button-success {
- background-color: #3ac15c;
-}
-
-.bd-button.bd-button-success:hover {
- background-color: rgb(52, 174, 83);
-}
-
-.bd-button.bd-button-success:active {
- background-color: rgb(46, 154, 74);
-}
-
-.bd-chat-badge {
- vertical-align: bottom;
- line-height: 1.375rem;
- display: inline-block;
- height: 1.25rem;
-}
-
-.bd-member-badge {
- height: 15px;
- margin-left: 4px;
-}
+#bd-editor-panel{display:flex;flex-direction:column}#bd-editor-controls button{margin:0 5px 0 0;background:0 0;color:#fff;height:26px;font-weight:600;border-radius:3px;display:flex;align-items:center}#bd-editor-controls button:hover{background:rgba(255,255,255,.05)}#bd-editor-controls button svg{fill:#fff}#bd-editor-controls button:last-of-type{margin-right:0}#bd-editor-controls{display:flex;align-items:center;justify-content:space-between;background:#272822;color:#fff;border:0;box-shadow:0 1px 0 0 #2f3129 inset;padding:5px}.editor-wrapper{display:flex}.ace_editor{line-height:normal;font-family:Consolas,monospace;box-sizing:border-box;height:calc(100vh - 250px);font-size:14px;width:100%}.bd-monokai .editor .ace_gutter{background:#2f3136}.bd-monokai .ace_editor{background:#292b2f}.bd-monokai #bd-editor-controls{background:#202225}.theme-light #bd-editor-controls{background:#e8e8e8;border:1px solid #fff;border-top:1px solid #adadad;box-shadow:inset 0 1px 0 0 #fff}.controls-section{display:flex;align-items:center}.controls-section .checkbox-inner{width:14px;height:14px}.controls-section .checkbox-inner .checkbox:checked+span::after{left:2px;top:-2px}.controls-section .checkbox-label{font-size:14px}#ace_settingsmenu_container{background:rgba(0,0,0,.7)!important}body #ace_settingsmenu{padding-top:35px}body .ace_closeButton{position:absolute;top:8px;right:12px;z-index:10000;padding:0;cursor:pointer;background:0 0;border:0}body .ace_closeButton::before{content:"✖";color:#36393f}body .ace_closeButton:active{transform:translateY(2px)}#bd-editor-controls .help-text{margin-top:8px;margin-bottom:3px;font-size:14px}#bd-editor-controls .help-text .inline{background:#2f3129;padding:.2em;margin:-.2em 0;border-radius:3px}.bd-dark #bd-qem-favourite-container,.bd-dark #bd-qem-twitch-container{background-color:#353535}.bd-dark #bd-qem{border-bottom:1px solid #464646;background:#353535}.bd-dark #bd-qem button{background:#353535;border-left:1px solid #242424;box-shadow:#424242 1px 0 0 0;color:#fff}.bd-dark #bd-qem button.active{background-color:#292929}.bd-dark #bd-qem button:hover{background-color:#303030}.bd-dark .emojiPicker-3m1S-j{background-color:#353535}.bd-dark .emojiPicker-3m1S-j .category-2U57w6{background-color:#353535}.bd-dark .emojiPicker-3m1S-j .header-1nkwgG .searchBar-2pWH0_{background-color:#2b2b2b}.bd-dark .emojiPicker-3m1S-j .searchBar-2pWH0_ input{color:#fff}.bd-dark .emojiPicker-3m1S-j .searchBar-2pWH0_ input::-webkit-input-placeholder{color:#fff}.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7 .emojiItem-109bjA.selected-39BZ4S{background-color:rgba(123,123,123,.37)}.bd-dark .emojiPicker-3m1S-j .dimmer-3iH-5D.visible-3k45bQ{background-color:rgba(62,62,62,.65)}.bd-dark .emojiPicker-3m1S-j .diversitySelector-tmmMv0 .popout-2nUePc{background:#353535;border-color:#202020}.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar,.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar-track,.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar-track-piece,.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar,.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar-track,.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar-track-piece,.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7::-webkit-scrollbar,.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7::-webkit-scrollbar-track,.bd-dark .emojiPicker-3m1S-j .scroller-3vODG7::-webkit-scrollbar-track-piece{background-color:#303030!important;border-color:#303030!important}.bd-dark #bd-qem-twitch-container .scroller::-webkit-scrollbar-thumb,.bd-dark #bd-qem-favourite-container .scroller::-webkit-scrollbar-thumb,.bd-dark .emojiPicker-3g68GS .scroller-3vODG7::-webkit-scrollbar-thumb{border-color:#202020!important;background-color:#202020!important}.bd-dark .theme-light .slide-2pHaq5{background:#36393f}.bd-dark .theme-dark .action-1lSjCi,.bd-dark .theme-light .action-1lSjCi{background:#2f3136}.bd-dark .theme-dark .or-3THJsp,.bd-dark .theme-light .or-3THJsp{background:#2f3136;order:2;height:56px;width:56px;top:103px;line-height:56px;left:calc(50% - 29px);border-radius:50%;border:2px solid #484b52}.bd-dark .create-3jownz{order:1}.bd-dark .join-33Tr-7{order:3}.bd-dark .theme-dark .actionIcon-2IISM_,.bd-dark .theme-light .actionIcon-2IISM_{filter:grayscale(100%) brightness(60%)}.bd-dark .theme-light .footer-2yfCgX{background:#2f3136}.bd-dark .regionSelectModal-12e-57{background:#36393f}.bd-dark .regionSelectModal-12e-57 .regionSelectModalOption-2DSIZ3{background:#2f3136;border:2px solid #484b52}.bd-dark~div #ace_settingsmenu{color:#f6f6f7;background:#36393f;box-shadow:0 0 0 1px rgba(32,34,37,.6),0 2px 10px 0 rgba(0,0,0,.2)}.bd-dark~div #ace_settingsmenu select,.bd-dark~div #ace_settingsmenu input[type=text]{color:#f6f6f7;background:#2f3136;border:1px solid #484b52}.bd-dark~div .ace_closeButton::before{color:#f6f6f7}#removemenu{width:auto;background:#505050;z-index:999999;box-shadow:0 0 2px #000;padding:2px;left:25px;display:block;cursor:pointer;color:#fff;position:fixed}#removemenu ul a{text-decoration:none;color:#fff;padding:3px}.emotewrapper{position:relative;display:inline-flex;object-fit:contain;margin:-.1em .05em -.2em .1em;vertical-align:top}.emotewrapper.jumboable{margin-bottom:0;margin-top:.2em;vertical-align:-.3em}.emote{height:1.45em}.emote.jumboable{height:2rem}.fav{display:none;position:absolute;width:15px;height:15px;right:-7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAzFBMVEUAAABQUFBMTExLS0tNTU1MTExNTU1NTU1MTExMTExNTU1LS0tEREBEREBEREBEREBJSUhLS0tLS0tEREBNTU1NTU1NTU1EREArKyhNTU1NTU0AAABMTExKSklMTExNTU1NTU1NTU1KSkpMTExKSkhNTU1KSkpISEZNTU1LS0tAQDxOTk5KSkpLS0tNTU1MTExMTEx/f39MTExMTExLS0pLS0tMTExNTU1NTU1LS0pNTU1NTU1NTU1NTU1NTU1NTUxNTU1NTU1NTUxMTEzB8C/5AAAAOnRSTlMAI8X96oWAgYSF68QBAg0PMCb9BIuLgQUD4N0Bh0mKhZSOQ4gcrKscaW8QRE6fmJyjAshASceG7cIpqQOxTQAAALVJREFUGFddx6FOA0EYAOGZvd07Qm6vVCAAgUUgQEDfX/YZMAigqaFN7iC5tsmPqGPUN/AvUVeoEbGOCElJz08Uzeixqu4AqomVVSNngOVjTqDGZSl3UFtPGV2ot2zaq96YM9p5Ddzcf/nTTAlj+/sNtNu8OcwkIsbPBtrUfMQeEhGQmHbmGIFMwLPzu6UMIwBNgToshgq8Nr2ki+Oy7ebDHp70LRPWB6OZgfWLWei7fJonOOsPCGA9kVlssOoAAAAASUVORK5CYII=);border:0;background-size:100% 100%;background-repeat:no-repeat;background-color:#303030;border-radius:5px;top:-7px;cursor:pointer}.fav.active{background-color:#ff0}.emotewrapper:hover .fav{display:block}.emojiPicker-3m1S-j{box-shadow:none;border-top:none;border-radius:0 0 5px 5px}#bd-qem{border-radius:5px 5px 0 0;background:#fff;border-bottom:1px solid rgba(0,0,0,.1);height:30px;display:flex;flex-direction:row;padding-right:1px}#bd-qem button{border-left:1px solid #efefef;background:0 0;box-shadow:#cecece 1px 0 0 0;flex-grow:1}#bd-qem button:hover{background:#ececec}#bd-qem-twitch{border-radius:5px 0 0 0;order:2}#bd-qem-emojis{border-radius:0 5px 0 0;order:3}#bd-qem-favourite{order:3}#bd-qem button.active{background-color:#e2e2e2}#bd-qem-twitch-container,#bd-qem-favourite-container{width:346px;height:329px;background-color:#fff;border-radius:0 0 5px 5px}#bd-qem-twitch-container .scroller-wrap,#bd-qem-favourite-container .scroller-wrap{height:100%}.emote-menu-inner{padding:5px 0 0 15px}.bd-qme-hidden #bd-qem-emojis{display:none}.bd-em-scroller{height:400px}#emote-container{padding:10px}.emote-container{display:inline-block;padding:2px;border-radius:5px;width:30px;height:30px;position:relative}.emote-icon{max-width:100%;max-height:100%;position:absolute;margin:auto;top:0;right:0;bottom:0;left:0;cursor:pointer}.emote.stop-animation{animation:none}.emote-container:hover{background:rgba(123,123,123,.37)}.emoteflip,.emotespinflip{transform:scaleX(-1)}.emotespin{animation:1s emote-spin infinite linear}.emote1spin{animation:1s emote-spin-reverse infinite linear}.emotespin2{animation:.5s emote-spin infinite linear}.emote2spin{animation:.5s emote-spin-reverse infinite linear}.emotespin3{animation:.2s emote-spin infinite linear}.emote3spin{animation:.2s emote-spin-reverse infinite linear}.emotepulse{animation:1s emote-pulse infinite linear}.emotetr{transform:translateX(-3px)}.emotebl{transform:translateY(-3px)}.emotebr{transform:translate(-3px,-3px)}.emoteshake{animation:1s emote-shake infinite linear}.emoteflap{transform:scaleY(-1)}.emoteshake2{animation:emote-shake2 .3s linear infinite}.emoteshake3{animation:emote-shake3 .1s linear infinite}@keyframes emote-shake2{25%{transform:translate(-1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}75%{transform:translate(1px,-1px)}}@keyframes emote-shake3{25%{transform:translate(-1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}75%{transform:translate(1px,-1px)}}@keyframes emote-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes emote-spin-reverse{0%{transform:rotate(0deg)}to{transform:rotate(-360deg)}}@keyframes emote-pulse{0%{-webkit-transform:scale(1,1)}50%{-webkit-transform:scale(1.2,1.2)}to{-webkit-transform:scale(1,1)}}@keyframes emote-shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.bd-minimal .divider-32i8lo{opacity:0}.bd-minimal .large-3ChYtB{max-width:20px;max-height:20px;background-size:100%;margin-right:2px;margin-top:0;border-radius:0}.bd-minimal .content-3dzVd8{border-left:2px solid #ebebeb;padding-left:2px}.bd-minimal .theme-dark .content-3dzVd8{border-left:2px solid #303030}.bd-minimal .username-_4ZSMR{font-size:small}.bd-minimal .container-1YxwTf{padding:5px}.bd-minimal .embed-IeVjo6{padding:2px}.bd-minimal .membersWrap-2h-GB4{min-width:0}.bd-minimal .members-1998pB .small-5Os1Bb{max-width:15px;max-height:15px;background-size:15px 15px}.bd-minimal .members-1998pB .small-5Os1Bb .status-oxiHuE{height:5px;width:5px}.bd-minimal .members-1998pB .member-3W1lQa{padding:5px}.bd-minimal .members-1998pB .memberInner-2CPc3V{transform:scale(.9)}.bd-minimal .members-1998pB .membersGroup-v9BXpm{margin-top:3px;transform:scale(.9)}.bd-minimal .channels-Ie2l6A{width:160px}.bd-minimal.bd-minimal-chan .channels-Ie2l6A{display:none}.bd-minimal .channels-Ie2l6A header span{font-size:12px}.bd-minimal .containerDefault-3GGEv_{transform:scale(.9)}.bd-minimal .content-3at_AU{transform:scale(.9)}.bd-minimal .icon-1_QxNX{width:14px;height:14px}.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .listItem-2P_4kh{width:20px;height:20px;background-size:100%;font-size:15px;line-height:20px;margin:0 12.5px 8px}.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .wrapper-25eVIn a,.bd-minimal .listItem-2P_4kh .wrapper-25eVIn .icon-27yU2q{width:20px;height:20px;background-size:100%;font-size:15px;line-height:20px}.bd-minimal .listItem-2P_4kh .wrapper-25eVIn{width:20px;height:20px;background-size:100%;font-size:15px;line-height:20px}.bd-minimal .listItem-2P_4kh svg,.bd-minimal .listItem-2P_4kh foreignObject[mask]{mask:none}.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .homeIcon-tEMBK1{width:10px;height:10px;background-size:100%;font-size:15px;line-height:20px}.bd-minimal .circleIconButton-jET_ig{height:20px;width:20px}.bd-minimal .circleIconButton-jET_ig svg{height:14px;width:14px}.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .friendsOnline-_wi_fM{margin-left:-15px;font-size:7px}.bd-minimal #bd-pub-li{height:16px}.bd-minimal #bd-pub-button{font-size:8px;line-height:16px;height:16px}.bd-minimal .wrapper-1Rf91z,.bd-minimal .wrapper-1Rf91z .scrollerWrap-1IAIlv,.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG{width:45px}.bd-minimal .wrapper-1Rf91z .guildSeparator-3s64Iy{margin-left:-15px}.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .listItem-2P_4kh .wrapper-sa6paO{height:20px;margin-top:0;margin-left:-12.5px}.bd-minimal .wrapper-1Rf91z .scroller-2FKFPG .iconBadge-2wi9r4{width:12px;height:12px;background-size:12px}.bd-minimal .container-2Thooq .avatarSmall-3ACRaI{width:15px;height:15px;background-size:15px 15px}.bd-minimal .container-2Thooq .avatarSmall-3ACRaI .status-oxiHuE{height:5px;width:5px}.bd-minimal .container-2Thooq .accountDetails-3k9g4n{transform:scale(.8)}.bd-minimal .container-2Thooq .button-2b6hmh{height:14px;width:14px;background-size:14px 14px;margin-left:3px}.bd-minimal .container-2Thooq .button-2b6hmh svg{height:14px;width:14px}#bd-pub-li{height:20px;margin-bottom:10px;overflow:hidden}#bd-pub-button{border-radius:4px;background-color:#2f3136;color:#b9bbbe;text-align:center;font-size:12px;line-height:20px;height:20px}.bd-server-card .bd-server-tags{flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:0;line-height:24px;font-size:12px;color:#b9bbbe;font-weight:700;margin-right:10px}.bd-server-card.bd-server-card-pinned{margin-bottom:15px}.bd-server-card.bd-server-card-pinned::after{background:#3a71c1;content:"";height:3px;width:100%;display:block;margin-top:7px;position:absolute;top:100%}.bd-server-description-container{color:#b9bbbe;min-height:65px;max-height:65px;border-top:1px solid #3f4146;border-bottom:1px solid #3f4146;padding-top:5px;font-size:13px}.bd-server-header{text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;font-weight:600}.bd-server-card{display:flex;position:relative;border-width:1px;border-style:solid;border-radius:5px;background:rgba(32,34,37,.6);border-color:#202225;margin-bottom:8px}.bd-server-header,.bd-server-footer{display:flex;color:#b9bbbe}.bd-server-card .bd-button{margin-top:4px}.bd-server-content{padding:5px 10px;flex:1}.bd-server-image{min-width:115px;min-height:115px;max-width:115px;max-height:115px}.bd-server-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-right:15px;max-width:330px;flex:1 1 50%}.bd-layer{-ms-flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:0}#pubslayer button{background:#7289da;color:#fff;font-size:14px;font-weight:500;line-height:16px;padding:2px 16px;border:0;border-radius:3px;transition:background-color .17s ease}#pubslayer button:hover{background-color:#677bc4}#pubslayer input{color:#f6f6f7;background-color:rgba(0,0,0,.1);border-color:rgba(0,0,0,.3);padding:10px;height:30px;border-width:1px;border-style:solid;border-radius:3px;outline:0;transition:background-color .15s ease,border .15s ease}#bd-connection{margin-left:10px}.bd-footnote{color:#b9bbbe;font-size:11px}.bd-button-next,.bd-button-reconnect{margin:5px 10px 10px 0;width:100%;min-height:20px}.bd-reload{cursor:pointer;vertical-align:top;fill:#dcddde}.bd-reload:hover{fill:#fff}.bd-reload-header{margin-left:5px}.bd-reload-card{margin-right:5px}.bd-controls{display:flex}.bd-addon-list{user-select:text}.bd-addon-list .bd-addon-card{max-height:175px;margin-bottom:20px;padding:5px 8px;border:1px solid transparent;border-radius:5px;overflow:hidden}.theme-dark .bd-addon-list .bd-addon-card{background-color:rgba(32,34,37,.6);color:#f6f6f7;border-color:#202225}.theme-light .bd-addon-list .bd-addon-card{background-color:#f8f9f9;color:#4f545c;border-color:#dcddde}.bd-addon-list .bd-addon-card.settings-open{max-height:800px;overflow-y:auto}.bd-addon-list .bd-addon-header{font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between;padding-bottom:5px;border-bottom:1px solid transparent;overflow:hidden}.theme-dark .bd-addon-list .bd-addon-header{color:#f6f6f7;border-bottom-color:rgba(114,118,125,.3)}.theme-light .bd-addon-list .bd-addon-header{color:#4f545c;border-bottom-color:rgba(185,187,190,.3)}.bd-addon-list .bd-description{word-break:break-word;max-height:100px;margin:5px 0;padding:5px 0;overflow-y:auto}.theme-dark .bd-addon-list .bd-description{color:#b9bbbe}.theme-light .bd-addon-list .bd-description{color:#72767d}.bd-addon-list .scroller::-webkit-scrollbar-track-piece,.bd-addon-list .scroller::-webkit-scrollbar-thumb{border-radius:0!important;border-color:transparent}.bd-addon-list .bd-footer{font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between;padding-top:5px;border-top:1px solid transparent;overflow:hidden}.theme-dark .bd-addon-list .bd-footer{border-top-color:rgba(114,118,125,.3)}.theme-light .bd-addon-list .bd-footer{border-top-color:rgba(185,187,190,.3)}.bd-addon-list .bd-footer button{padding:3px 16px;transition:opacity 250ms ease}.bd-addon-list .bd-footer button:disabled{opacity:.4}.bd-addon-list .bd-footer a{color:#3e82e5}.bd-addon-list .bd-footer a:hover{text-decoration:underline}.bd-controls+.bd-addon-list{margin-top:10px}.bd-addon-button{cursor:pointer}.bd-addon-button+.bd-addon-button{margin-left:5px}.bd-search-wrapper{padding:3px;border-radius:3px;outline:0;border:0;background-color:#202225;color:#fff;display:flex;align-items:center}.bd-search{padding:2px 3px;background:0 0;border:0;color:#fff;flex:1}.bd-search-wrapper>svg{margin-right:2px}.bd-addon-controls{display:flex;align-items:center;justify-content:space-between}.bd-addon-controls .bd-search{font-size:13px;margin:0;width:200px}.bd-addon-dropdowns{display:flex}.react-error{color:red;font-weight:700;font-family:Arial,Helvetica,sans-serif;cursor:pointer}.settings-open .bd-close{cursor:pointer;float:right}.bd-social-logo{opacity:.6}.bd-social-link:hover .bd-social-logo{opacity:1}.standardSidebarView-3F1I7i .bd-versioninfo-wrapper{bottom:0;left:0;position:fixed;background:inherit;right:0;padding:5px}.standardSidebarView-3F1I7i .bd-versioninfo-wrapper span{color:#b9bbbe;font-weight:600;font-size:11px}.standardSidebarView-3F1I7i .bd-versioninfo-wrapper a{font-size:11px}.bd-button-title{margin-left:10px}.bd-switch{background-color:#72767d;border-radius:14px;width:42px;height:24px;opacity:1;overflow:hidden;user-select:none;position:relative;display:block;flex:0 0 auto;transition:background .15s ease-in-out,box-shadow .15s ease-in-out,border .15s ease-in-out,opacity .15s ease-in-out;margin-left:10px;box-shadow:inset 0 1px 1px rgba(0,0,0,.15)}.bd-switch::before{content:"";display:block;position:absolute;top:0;left:0;bottom:0;right:0;z-index:0;opacity:0;background-color:#000}.bd-switch::after{content:"";display:block;position:absolute;background-color:#fff;z-index:1;width:18px;margin:3px;border-radius:9px;height:18px;left:0;transition:transform .15s ease-in-out,width .1s ease-in-out,left .1s ease-in-out;box-shadow:0 2px 4px rgba(0,0,0,.3)}.bd-switch .bd-checkbox{position:absolute;width:100%;height:100%;opacity:0;padding:0;margin:0;z-index:2;cursor:pointer}.bd-switch-checked{background-color:#3e82e5}.bd-switch-checked::after{transform:translate3d(18px,0,0)}.bd-switch-disabled{opacity:.3;cursor:not-allowed}.bd-switch-item{flex-direction:column;margin-top:8px}.bd-switch-item h3{font-size:16px;font-weight:500;line-height:24px;flex:1}.theme-dark .bd-switch-item h3{color:#f6f6f7}.theme-light .bd-switch-item h3{color:#4f545c}.bd-switch-item .bd-switch-wrapper{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;width:44px;height:24px;display:block;flex:0 0 auto}.bd-switch-item .bd-switch-wrapper input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%;z-index:1}.bd-switch-item .bd-switch-wrapper .bd-switch{position:absolute;top:0;right:0;bottom:0;left:0;background:#72767d;border-radius:14px;transition:background .15s ease-in-out,box-shadow .15s ease-in-out,border .15s ease-in-out}.bd-switch-item .bd-switch-wrapper .bd-switch::before{content:"";display:block;width:18px;height:18px;position:absolute;top:3px;left:3px;bottom:3px;background:#f6f6f7;border-radius:10px;transition:all .15s ease;box-shadow:0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05)}.bd-switch-item .bd-switch-wrapper .bd-switch.checked{background:#7289da}.bd-switch-item .bd-switch-wrapper .bd-switch.checked::before{transform:translateX(20px)}#bd-settingspane-container .scroller-wrap{height:100%}#bd-settingspane-container .scroller-wrap .scroller{display:flex}.bd-select-wrapper{color:#f6f6f7;font-size:13px;display:flex;align-items:center}.bd-select-wrapper+.bd-select-wrapper{margin-left:10px}.bd-select-wrapper label{opacity:.3;margin-right:5px}.bd-select{position:relative;cursor:pointer;color:#f6f6f7;font-size:13px;display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.3);border-radius:3px;padding:5px 5px 5px 0}.bd-select.bd-select-transparent{background:0 0;border:0;padding:0}.bd-select-value{padding-left:12px}.bd-select-arrow{margin-left:10px}.bd-select .bd-select-options{position:absolute;background:#2f3136;border-radius:0 0 3px 3px;max-height:300px;min-width:calc(100% + 2px);overflow-y:auto;box-shadow:rgba(0,0,0,.3) 0 1px 5px 0;border:1px solid rgba(0,0,0,.3);border-top:0;margin-top:-1px;margin-left:-1px;z-index:2;top:100%}.bd-select-transparent .bd-select-options{border:1px solid rgba(0,0,0,.3);margin-top:3px;border-radius:3px}.bd-select .bd-select-option{padding:8px 12px;cursor:pointer;white-space:pre}.bd-select .bd-select-option:hover,.bd-select .bd-select-option.selected{background:#26272b}.bd-setting-item .bd-select{min-width:200px}.bd-setting-item{display:flex;flex-direction:column;margin-bottom:20px}.bd-setting-header{display:flex;justify-content:space-between;align-items:center}.bd-setting-header label{font-weight:500;cursor:pointer;overflow:hidden;word-wrap:break-word;font-size:16px;line-height:24px;color:#f6f6f7}.bd-setting-note{color:#72767d;margin-top:4px;font-size:14px;line-height:20px;font-weight:500}.bd-setting-divider{width:100%;height:1px;margin-top:20px;background-color:rgba(114,118,125,.3)}.bd-settings-container{height:auto;overflow:hidden;transition:height 300ms cubic-bezier(.47,0,.745,.715)}.bd-settings-group.collapsed .bd-settings-container{height:0}.bd-settings-group.expanded .bd-settings-container:not(.animating){overflow:visible}.bd-settings-group.collapsible .bd-settings-title{display:flex;justify-content:space-between;align-items:center;order:1}.bd-settings-group.collapsible .bd-settings-title::before{content:"";background-color:rgba(114,118,125,.3);height:2px;order:2;flex:1;margin:0 10px 0 15px}.bd-settings-group.collapsible .bd-settings-title::after{content:"";background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FscXVlXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSItOTUwIDUzMiAxOCAxOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAtOTUwIDUzMiAxOCAxODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6bm9uZTt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTS05MzIsNTMydjE4aC0xOHYtMThILTkzMnoiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QxIiBwb2ludHM9Ii05MzYuNiw1MzguOCAtOTQxLDU0My4yIC05NDUuNCw1MzguOCAiLz4NCjwvc3ZnPg0K);height:20px;width:20px;display:inline-block;vertical-align:bottom;transition:transform .3s ease;transform:rotate(0);order:3}.bd-settings-group.collapsed .bd-settings-title::after{transition:transform .3s ease;transform:rotate(90deg)}.bd-settings-group~.bd-settings-group .bd-settings-title{margin-top:30px;transition:margin-top 300ms ease}.bd-settings-group.collapsed+.bd-settings-group .bd-settings-title{margin-top:0}.bd-settings-title.bd-settings-group-title{margin-bottom:10px}.checkbox-item{display:flex}.checkbox-item .checkbox-label{margin-right:8px}@keyframes open-window{0%{transform:scale(.9)}to{transform:none}}.floating-window{animation:open-window 200ms ease;min-width:200px;min-height:300px;box-shadow:0 2px 10px 0 rgba(0,0,0,.2);display:flex;flex-direction:column;-webkit-app-region:no-drag;position:fixed;z-index:1001;box-sizing:border-box}.floating-window.modal-open{z-index:999}.floating-window.resizable{overflow:auto;resize:both;padding-bottom:10px;background:#202225}.floating-window-titlebar{width:100%;display:flex;justify-content:space-between;align-items:center;background:#202225;color:#fff;border-bottom:1px solid #272822}.floating-window-content{display:flex;flex-direction:column;background:#2f3129;color:#fff;flex:1}.floating-window-titlebar .title{flex:1;text-align:center;padding:2px 0}.floating-window-buttons{display:flex}.floating-window-buttons .button{cursor:pointer;padding:0 2px}.floating-window-buttons .button svg{fill:#dcddde;margin-top:1.5px}.floating-window-buttons .button:hover svg{fill:#fff}.floating-window-buttons .button:hover{background-color:#36393f}.floating-window-buttons .close-button:hover{background-color:#f04747}.floating-window-buttons .close-button:hover svg path.fill{fill:#fff}.floating-window-content #bd-editor-panel{display:flex;flex-direction:column;flex:1}.floating-window .editor-wrapper{flex:1}.floating-window .ace_editor{height:auto;flex:1}.floating-window #bd-editor-controls{height:auto;background:#202225;border:0;box-shadow:0 1px 0 0 #2f3129 inset}#floating-editor-window{min-width:340px;min-height:280px;max-height:900px;max-width:750px}.floating-addon-window{min-width:535px;min-height:605px;max-height:90%;max-width:90%}@keyframes bd-backdrop{to{opacity:.85}}@keyframes bd-modal-wrapper{to{transform:scale(1);opacity:1}}@keyframes bd-backdrop-closing{to{opacity:0}}@keyframes bd-modal-wrapper-closing{to{transform:scale(.7);opacity:0}}.bd-backdrop{animation:bd-backdrop 250ms ease;animation-fill-mode:forwards;opacity:0;background-color:#000;transform:translateZ(0)}.bd-modal-wrapper.closing .bd-backdrop{animation:bd-backdrop-closing 200ms linear;animation-fill-mode:forwards;animation-delay:50ms;opacity:.85}.bd-modal-wrapper .bd-modal{animation:bd-modal-wrapper 250ms cubic-bezier(.175,.885,.32,1.275);animation-fill-mode:forwards;transform:scale(.7);transform-origin:50% 50%;display:flex;align-items:center;box-sizing:border-box;contain:content;justify-content:center;top:0;left:0;bottom:0;right:0;opacity:0;pointer-events:none;position:absolute;z-index:1000}.bd-modal-wrapper.closing .bd-modal{animation:bd-modal-wrapper-closing 250ms cubic-bezier(.19,1,.22,1);animation-fill-mode:forwards;opacity:1;transform:scale(1)}.bd-modal-wrapper .bd-modal-inner{display:flex;contain:layout;flex-direction:column;pointer-events:auto;border:1px solid rgba(28,36,43,.6);border-radius:5px;box-shadow:0 2px 10px 0 rgba(0,0,0,.2);overflow:hidden;max-height:660px;min-height:200px;width:440px;user-select:text}.bd-modal-wrapper .bd-content-modal .bd-modal-inner{height:500px;width:700px}.bd-modal-wrapper .header{background-color:#35393e;box-shadow:0 2px 3px 0 rgba(0,0,0,.2);padding:12px 20px;z-index:1;color:#fff;font-size:16px;font-weight:700;line-height:19px}.bd-modal-wrapper .bd-modal-body{background-color:#36393f;color:#fff;overflow:hidden;display:flex;flex-direction:column;flex:1;contain:layout;position:relative}.bd-modal-wrapper .scroller{padding:10px;overflow-y:auto}.bd-modal-wrapper .bd-content-modal .bd-modal-body{padding:0}.bd-modal-wrapper .footer{display:flex;justify-content:flex-end;padding:10px 20px}.bd-modal-wrapper .footer button{min-height:32px;min-width:60px;align-items:center;display:flex;font-size:14px;font-weight:500;justify-content:center;line-height:16px;padding:2px 16px;user-select:none}.bd-modal-wrapper .tab-bar-container{align-items:center;border-bottom:0;background:rgba(0,0,0,.2);box-shadow:0 2px 3px 0 rgba(0,0,0,.1);display:flex;flex-direction:row;justify-content:space-between;margin-bottom:15px}.bd-modal-wrapper .tab-bar.TOP{margin:0;border:0;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.bd-modal-wrapper .tab-bar-container .tab-bar-item{margin:0 15px;padding:15px 0;color:#fff;opacity:.5;transition:opacity 200ms ease;border-bottom:2px solid transparent}.bd-modal-wrapper .tab-bar-container .tab-bar-item:hover{border-color:#fff;cursor:pointer}.bd-modal-wrapper .tab-bar-container .tab-bar-item.selected{opacity:1;border-color:#fff}.bd-modal-wrapper .tab-bar.TOP .tab-bar-item+.tab-bar-item{margin:0}.bd-modal-wrapper .table-header{display:flex;justify-content:space-between;color:#fff;font-weight:700;padding-bottom:10px;margin:3px 15px 0 15px;border-bottom:1px solid #fff;font-size:14px}.bd-modal-wrapper .table-column{width:25%;word-wrap:break-word}.bd-modal-wrapper .table-column.column-error{width:50%}.bd-modal-wrapper .errors{display:flex;flex-direction:column;font-size:14px;padding:0 5px}.bd-modal-wrapper .error{display:flex;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);padding:15px 0;align-items:center}.bd-modal-wrapper .error-link{color:#3e82e5;font-weight:500}.bd-modal-wrapper .bd-content-modal .scroller{padding-top:0}.bd-sidebar-header{display:flex;justify-content:space-between}.bd-sidebar-header .bd-changelog-button{height:16px}.bd-sidebar-header .bd-icon{cursor:pointer;fill:#72767d}.bd-sidebar-header .bd-icon:hover{fill:#fff}.bd-toasts{position:fixed;display:flex;top:0;flex-direction:column;align-items:center;justify-content:flex-end;pointer-events:none;z-index:4000}@keyframes bd-toast-up{0%{transform:translateY(0);opacity:0}}.bd-toast{animation:bd-toast-up 300ms ease;transform:translateY(-10px);background:#36393f;padding:10px;border-radius:5px;box-shadow:0 0 0 1px rgba(32,34,37,.6),0 2px 10px 0 rgba(0,0,0,.2);font-weight:500;color:#fff;font-size:14px;opacity:1;margin-top:10px;pointer-events:none;user-select:none}@keyframes bd-toast-down{to{transform:translateY(0);opacity:0}}.bd-toast.closing{animation:bd-toast-down 200ms ease;animation-fill-mode:forwards;opacity:1;transform:translateY(-10px)}.bd-toast.icon{padding-left:30px;background-size:20px 20px;background-repeat:no-repeat;background-position:6px 50%}.bd-toast.toast-info{background-color:#4a90e2}.bd-toast.toast-info.icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxNWgtMnYtNmgydjZ6bTAtOGgtMlY3aDJ2MnoiLz48L3N2Zz4=)}.bd-toast.toast-success{background-color:#43b581}.bd-toast.toast-success.icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptLTIgMTVsLTUtNSAxLjQxLTEuNDFMMTAgMTQuMTdsNy41OS03LjU5TDE5IDhsLTkgOXoiLz48L3N2Zz4=)}.bd-toast.toast-danger,.bd-toast.toast-error{background-color:#f04747}.bd-toast.toast-danger.icon,.bd-toast.toast-error.icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTUgMTMuNTlMMTUuNTkgMTcgMTIgMTMuNDEgOC40MSAxNyA3IDE1LjU5IDEwLjU5IDEyIDcgOC40MSA4LjQxIDcgMTIgMTAuNTkgMTUuNTkgNyAxNyA4LjQxIDEzLjQxIDEyIDE3IDE1LjU5eiIvPiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+)}.bd-toast.toast-warning,.bd-toast.toast-warn{background-color:#ffa600;color:#fff}.bd-toast.toast-warning.icon,.bd-toast.toast-warn.icon{background-image:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiIvPjwvc3ZnPg==)}.bd-button{background-color:#3e82e5;color:#fff;border-radius:3px;padding:2px 6px}.bd-button:hover{background-color:#3875ce}.bd-button:active{background-color:#3268b7}.bd-button.bd-button-success{background-color:#3ac15c}.bd-button.bd-button-success:hover{background-color:#34ae53}.bd-button.bd-button-success:active{background-color:#2e9a4a}.bd-chat-badge{vertical-align:bottom;line-height:1.375rem;display:inline-block;height:1.25rem}.bd-member-badge{height:15px;margin-left:4px}.bd-changelog-modal{width:650px}.bd-changelog-modal video{width:100%;border-radius:20px}
\ No newline at end of file
diff --git a/gulpfile.js b/gulpfile.js
index 39378098..ec3bb600 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -9,7 +9,7 @@ gulp.task("build-css", buildCSS);
gulp.task("minify-css", minifyCSS);
gulp.task("watch-css", function() {
- return gulp.watch(["./src/styles/index.css"], minifyCSS);
+ return gulp.watch(["./src/styles/*.css", "./src/styles/**/*.css"], minifyCSS);
});
function runBuild(minified) {
@@ -17,7 +17,7 @@ function runBuild(minified) {
if (minified) plugins.push(postcssCSSO({restructure: false}));
return gulp.src("./src/styles/index.css")
.pipe(postcss(plugins))
- .pipe(rename(minified ? "style.min.css" : "style.css"))
+ .pipe(rename("style.css"))
.pipe(gulp.dest("./dist"));
}
diff --git a/package.json b/package.json
index f1570781..434d29a8 100644
--- a/package.json
+++ b/package.json
@@ -2,32 +2,32 @@
"name": "bandagedbd",
"version": "1.0.0",
"description": "Enhances Discord adding functionality and themes.",
- "main": "js/main.js",
+ "main": "src/index.js",
"scripts": {
"build": "webpack --progress --colors",
"watch": "webpack --progress --colors --watch",
- "build-prod": "webpack --progress --colors --mode production -o dist/index.min.js --devtool none",
+ "build-prod": "webpack --progress --colors --mode production -o dist/remote.js --devtool none",
"lint-js": "eslint --ext .jsx,.js src/",
+
"build-css": "gulp build-css",
"watch-css": "gulp watch-css",
- "minify-css": "gulp minify-css",
- "lint-css": "stylelint src/styles/*.css && stylelint src/styles/**/*.css && stylelint dist/style.css",
- "dist": "npm run minify",
- "minify": "npm run build-prod && npm run minify-css",
- "build-all": "npm run build && npm run build-prod && npm run build-css && npm run minify-css",
+ "build-prod-css": "gulp minify-css",
+ "lint-css": "stylelint src/styles/*.css && stylelint src/styles/**/*.css",
+
+ "prod": "npm run build-prod && npm run build-prod-css",
"lint": "npm run lint-js && npm run lint-css",
- "test": "mocha --require @babel/register --recursive \"./tests/*.js\""
+ "test": "mocha --require @babel/register --recursive \"./tests/*.js\"",
+ "deploy": "npm run prod"
},
"repository": {
"type": "git",
"url": "git+https://github.com/rauenzi/BetterDiscordApp.git"
},
"author": "rauenzi",
- "license": "MIT",
"bugs": {
"url": "https://github.com/rauenzi/BetterDiscordApp/issues"
},
- "homepage": "https://github.com/rauenzi/BetterDiscordApp#readme",
+ "homepage": "https://github.com/rauenzi/BetterDiscordApp",
"devDependencies": {
"@babel/core": "^7.10.5",
"@babel/preset-env": "^7.10.4",
diff --git a/src/builtins/developer/reactdevtools.js b/src/builtins/developer/reactdevtools.js
index e4227043..e2631b3e 100644
--- a/src/builtins/developer/reactdevtools.js
+++ b/src/builtins/developer/reactdevtools.js
@@ -37,9 +37,14 @@ export default new class ReactDevTools extends Builtin {
if (!this.isExtensionInstalled) this.findExtension();
if (!this.isExtensionInstalled) return Modals.alert(Strings.ReactDevTools.notFound, Strings.ReactDevTools.notFoundDetails);
- const didInstall = BrowserWindow.addDevToolsExtension(this.extensionPath);
- if (didInstall) this.log("Successfully installed react devtools.");
- else this.error("Couldn't find react devtools in chrome extensions!");
+ try {
+ const didInstall = BrowserWindow.addDevToolsExtension(this.extensionPath);
+ if (didInstall) this.log("Successfully installed react devtools.");
+ else this.error("Couldn't find react devtools in chrome extensions!");
+ }
+ catch (err) {
+ this.error("Couldn't add the extension!");
+ }
}
disabled() {
diff --git a/src/builtins/emotes/emotes.js b/src/builtins/emotes/emotes.js
index 2de3fc69..e3cf69c2 100644
--- a/src/builtins/emotes/emotes.js
+++ b/src/builtins/emotes/emotes.js
@@ -21,7 +21,7 @@ const Emotes = {
FrankerFaceZ: {}
};
-const blacklist = [];
+const blocklist = [];
const overrides = ["twitch", "subscriber", "bttv", "ffz"];
const modifiers = ["flip", "spin", "pulse", "spin2", "spin3", "1spin", "2spin", "3spin", "tr", "bl", "br", "shake", "shake2", "shake3", "flap"];
@@ -44,7 +44,7 @@ export default new class EmoteModule extends Builtin {
get TwitchSubscriber() {return Emotes.TwitchSubscriber;}
get BTTV() {return Emotes.BTTV;}
get FrankerFaceZ() {return Emotes.FrankerFaceZ;}
- get blacklist() {return blacklist;}
+ get blocklist() {return blocklist;}
get favorites() {return this.favoriteEmotes;}
getUrl(category, name) {return EmoteURLs[category].format({id: Emotes[category][name]});}
@@ -63,7 +63,7 @@ export default new class EmoteModule extends Builtin {
async enabled() {
Settings.registerCollection("emotes", "Emotes", EmoteConfig, {title: Strings.Emotes.clearEmotes, onClick: this.resetEmotes});
- await this.getBlacklist();
+ await this.getBlocklist();
await this.loadEmoteData();
Events.on("emotes-favorite-added", this.addFavorite);
@@ -129,7 +129,7 @@ export default new class EmoteModule extends Builtin {
let emoteModifier = emoteSplit[1] ? emoteSplit[1] : "";
let emoteOverride = emoteModifier.slice(0);
- if (emoteName.length < 4 || blacklist.includes(emoteName)) continue;
+ if (emoteName.length < 4 || blocklist.includes(emoteName)) continue;
if (!modifiers.includes(emoteModifier) || !Settings.get("emotes", "general", "modifiers")) emoteModifier = "";
if (!overrides.includes(emoteOverride)) emoteOverride = "";
else emoteModifier = emoteOverride;
@@ -177,14 +177,14 @@ export default new class EmoteModule extends Builtin {
});
}
- async getBlacklist() {
+ async getBlocklist() {
try {
- const category = "Blacklist";
+ const category = "Blocklist";
const exists = DataStore.emotesExist(category);
const valid = await this.isCacheValid(category);
const useCache = (valid) || (!valid && exists && !this.shouldDownload);
const list = useCache ? DataStore.getEmoteData(category) : await this.downloadEmotes(category);
- blacklist.push(...list);
+ blocklist.push(...list);
}
catch (err) {
// TODO: Log this
@@ -253,7 +253,7 @@ export default new class EmoteModule extends Builtin {
}
for (const emote in parsedData) {
- if (emote.length < 4 || blacklist.includes(emote) || !parsedData[emote]) {
+ if (emote.length < 4 || blocklist.includes(emote) || !parsedData[emote]) {
delete parsedData[emote];
continue;
}
diff --git a/src/data/changelog.js b/src/data/changelog.js
index 2d669acb..e6187dd4 100644
--- a/src/data/changelog.js
+++ b/src/data/changelog.js
@@ -1,28 +1,36 @@
export default {
- description: "Don't be shocked, this modal is supposed to be here.",
+ video: "https://i.zackrauen.com/EEM6Nor0XW.mp4",
+ poster: "https://i.imgur.com/tNGALts.jpeg",
+ description: "The rewrite you didn't even know about is finally here.",
changes: [
{
title: "What's New?",
items: [
- "**BandagedBD will now keep you updated with changelogs!** I will try to only show a changelog when there's more than a tiny or internal change.",
- "**Twitter (@BandagedBD)** I created a Twitter to try and provide support and such for those without access to the server. https://Twitter.com/BandagedBD"
- ]
- },
- {
- title: "Fixes",
- type: "fixed",
- items: [
- "**Colored Text** option should work again.",
- "**Emotes** should show up in chat.",
- "Fixed a bug where BBD attempted to patch the TabBar module incorrectly. (Thanks, DevilBro)"
+ "**Everything** is entirely rewritten, for better or worse.",
+ "**Emotes and CustomCSS** can be completely turned off for those not interested. It saves on memory too but not loading those components.",
+ "**Floating editors** for both custom css and plugins/themes are now available. (See video above)",
+ "**Settings panels** are completely new and sleek. They are also highly extensible for potential future features :eyes:",
+ "**Translations** are now integrated starting with only a couple languages, but feel free to contribute your own!",
+ "**Emote menu** now uses React Patching and properly integrates into the new Emoji Picker. (Thanks Strencher#1044!)"
]
},
{
title: "Minor Stuff",
type: "improved",
items: [
- "**Colour->Color.** Swapped to using English-US spelling by default to be consistent, and to potentially be prepared for localization.",
- "**Versions simplified.** The BandagedBD version now integrates into Discord's at the bottom-left of settings instead of randomly being a part of the setting list."
+ "**Patcher API** was added to `BdApi` under `BdApi.Patcher`. The old `BdApi.monkeyPatch` was patched to use the Patcher as well. This allows plugins and patches to play nice with one another.",
+ "**jQuery** usage was totally eliminated and is now ___deprecated___ for plugins.",
+ "**General performance** improvements throughout the app, from startup to emotes to addons.",
+ "**Exporting** by plugins is now highly encouraged over trying to match your meta name and class name."
+ ]
+ },
+ {
+ title: "Fixes",
+ type: "fixed",
+ items: [
+ "There are a lot of little issues that this rewrite fixes.",
+ "I forgot to write them down",
+ "But I'm sure many more will be found soon"
]
}
]
diff --git a/src/modules/core.js b/src/modules/core.js
index 105a2b1b..783942b2 100644
--- a/src/modules/core.js
+++ b/src/modules/core.js
@@ -43,10 +43,10 @@ export default class Core {
{
name: "bd-stylesheet",
type: "style",
- url: "//cdn.staticaly.com/gh/{{repo}}/BetterDiscordApp/{{hash}}/dist/style.min.css",
- backup: "//rauenzi.github.io/BetterDiscordApp/dist/style.min.css",
- local: "{{localServer}}/BetterDiscordApp/dist/style.min.css",
- localPath: "style.min.css"
+ url: "//betterdiscord.zerebos.com/dist/style.css",
+ backup: "//rauenzi.github.io/BetterDiscordApp/dist/style.css",
+ local: "{{localServer}}/BetterDiscordApp/dist/style.css",
+ localPath: "style.css"
}
];
}
diff --git a/src/modules/datastore.js b/src/modules/datastore.js
index 0f873d07..981b59b3 100644
--- a/src/modules/datastore.js
+++ b/src/modules/datastore.js
@@ -32,6 +32,46 @@ export default new class DataStore {
this.data[file.split(".")[0]] = __non_webpack_require__(path.resolve(this.dataFolder, file));
}
this.cacheData = Utilities.testJSON(fs.readFileSync(this.cacheFile).toString()) || {};
+
+ this.convertOldData(); // Convert old data if it exists (routine checks existence and removes existence)
+ }
+
+ convertOldData() {
+ const oldFile = path.join(Config.dataPath, "bdstorage.json");
+ if (!fs.existsSync(oldFile)) return;
+
+ const oldData = __non_webpack_require__(oldFile); // got the data
+ fs.renameSync(oldFile, `${oldFile}.bak`); // rename file after grabbing data to prevent loop
+ const setChannelData = (channel, key, value, ext = "json") => fs.writeFileSync(path.resolve(this.baseFolder, channel, `${key}.${ext}`), JSON.stringify(value, null, 4));
+ const channels = ["stable", "canary", "ptb"];
+ const customcss = atob(oldData.bdcustomcss);
+ const favoriteEmotes = oldData.bdfavemotes ? JSON.parse(atob(oldData.bdfavemotes)) : "";
+ for (const channel of channels) {
+ if (!fs.existsSync(path.resolve(this.baseFolder, channel))) fs.mkdirSync(path.resolve(this.baseFolder, channel));
+ const channelData = oldData.settings[channel];
+ if (!channelData) continue;
+ const oldSettings = channelData.settings;
+ const newSettings = {
+ general: {publicServers: oldSettings["bda-gs-1"], voiceDisconnect: oldSettings["bda-dc-0"], twentyFourHour: oldSettings["bda-gs-6"], classNormalizer: oldSettings["fork-ps-4"], showToasts: oldSettings["fork-ps-2"]},
+ appearance: {voiceMode: oldSettings["bda-gs-4"], minimalMode: oldSettings["bda-gs-2"], hideChannels: oldSettings["bda-gs-3"], darkMode: oldSettings["bda-gs-5"], coloredText: oldSettings["bda-gs-7"]},
+ addons: {addonErrors: oldSettings["fork-ps-1"], autoScroll: oldSettings["fork-ps-3"], autoReload: oldSettings["fork-ps-5"]},
+ developer: {debuggerHotkey: oldSettings["bda-gs-8"], copySelector: oldSettings["fork-dm-1"], reactDevTools: oldSettings.reactDevTools}
+ };
+
+ const newEmotes = {
+ general: {download: oldSettings["fork-es-3"], emoteMenu: oldSettings["bda-es-0"], hideEmojiMenu: !oldSettings["bda-es-9"], showNames: oldSettings["bda-es-6"], modifiers: oldSettings["bda-es-8"], animateOnHover: oldSettings["fork-es-2"]},
+ categories: {twitchglobal: oldSettings["bda-es-7"], twitchsubscriber: oldSettings["bda-es-7"], frankerfacez: oldSettings["bda-es-1"], bttv: oldSettings["bda-es-2"]}
+ };
+
+ setChannelData(channel, "settings", newSettings); // settingsCookie
+ setChannelData(channel, "emotes", newEmotes); // emotes (from settingsCookie)
+ setChannelData(channel, "plugins", channelData.plugins); // pluginCookie
+ setChannelData(channel, "themes", channelData.themes); // themeCookie
+ setChannelData(channel, "misc", {favoriteEmotes}); // favorite emotes
+ fs.writeFileSync(path.resolve(this.baseFolder, channel, "custom.css"), customcss); // customcss
+ }
+
+ this.initialize(); // Reinitialize data store with the converted data
}
get injectionPath() {
diff --git a/src/modules/utilities.js b/src/modules/utilities.js
index 31fccd8d..8c02990c 100644
--- a/src/modules/utilities.js
+++ b/src/modules/utilities.js
@@ -1,11 +1,10 @@
-import {Config} from "data";
import Logger from "./logger";
import DOM from "./domtools";
export default class Utilities {
static repoUrl(path) {
- return `https://cdn.staticaly.com/gh/${Config.repo}/BetterDiscordApp/${Config.hash}/${path}`;
+ return `https://betterdiscord.zerebos.com/${path}`;
}
/**
diff --git a/src/styles/index.css b/src/styles/index.css
index 1a573702..7425a063 100644
--- a/src/styles/index.css
+++ b/src/styles/index.css
@@ -15,3 +15,12 @@
height: 15px;
margin-left: 4px;
}
+
+.bd-changelog-modal {
+ width: 650px;
+}
+
+.bd-changelog-modal video {
+ width: 100%;
+ border-radius: 20px;
+}
\ No newline at end of file
diff --git a/src/ui/modals.js b/src/ui/modals.js
index 86516b6c..22523a4f 100644
--- a/src/ui/modals.js
+++ b/src/ui/modals.js
@@ -176,7 +176,7 @@ export default class Modals {
const {image = "https://repository-images.githubusercontent.com/105473537/957b5480-7c26-11e9-8401-50fa820cbae5", description = "", changes = [], title = "BandagedBD", subtitle = `v${Config.bbdVersion}`, footer} = options;
const ce = React.createElement;
- const changelogItems = [ce("img", {src: image})];
+ const changelogItems = [options.video ? ce("video", {src: options.video, poster: options.poster, controls: true, className: ChangelogClasses.video}) : ce("img", {src: image})];
if (description) changelogItems.push(ce("p", null, MarkdownParser.parse(description)));
for (let c = 0; c < changes.length; c++) {
const entry = changes[c];
@@ -206,15 +206,27 @@ export default class Modals {
const defaultFooter = ce(TextElement, {size: TextElement.Sizes.SMALL, color: TextElement.Colors.STANDARD}, "Need support? ", supportLink);
return ce(FlexChild.Child, {grow: 1, shrink: 1}, footer ? footer : defaultFooter);
};
-
- return ModalStack.push(Changelog, {
- className: ChangelogClasses.container,
- selectable: true,
- onScroll: _ => _,
- onClose: _ => _,
- renderHeader: renderHeader,
- renderFooter: renderFooter,
- children: changelogItems
+
+ const ModalActions = this.ModalActions;
+ const OriginalModalClasses = WebpackModules.getByProps("hideOnFullscreen");
+ const originalRoot = OriginalModalClasses.root;
+ if (originalRoot) OriginalModalClasses.root = `${originalRoot} bd-changelog-modal`;
+ const key = ModalActions.openModal(props => {
+ return React.createElement(Changelog, Object.assign({
+ className: `bd-changelog ${ChangelogClasses.container}`,
+ selectable: true,
+ onScroll: _ => _,
+ onClose: _ => _,
+ renderHeader: renderHeader,
+ renderFooter: renderFooter,
+ }, props), changelogItems);
});
+ const closeModal = ModalActions.closeModal;
+ ModalActions.closeModal = function(k) {
+ if (k !== key) Reflect.apply(closeModal, this, arguments);
+ setTimeout(() => {if (originalRoot) OriginalModalClasses.root = originalRoot;}, 1000);
+ ModalActions.closeModal = closeModal;
+ };
+ return key;
}
}
\ No newline at end of file
diff --git a/webpack.config.js b/webpack.config.js
index cdbb0020..296c4ed2 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -8,7 +8,7 @@ module.exports = {
devtool: "eval-source-map",
entry: "./src/index.js",
output: {
- filename: "index.js",
+ filename: "remote.js",
path: path.resolve(__dirname, "dist")
},
externals: {
@@ -56,7 +56,7 @@ module.exports = {
minimizer: [
new TerserPlugin({
terserOptions: {
- compress: {drop_debugger:false}
+ compress: {drop_debugger: false}
}
})
]