diff options
author | Loek Le Blansch <l.leblansch@gmail.com> | 2020-06-21 22:05:17 +0200 |
---|---|---|
committer | Loek Le Blansch <l.leblansch@gmail.com> | 2020-06-21 22:05:17 +0200 |
commit | 47a4416df21412a9184a9b5045233260c1cb80bb (patch) | |
tree | bd5463ec7698868ab61d84a1ae0af1ebd4984ce8 /.config/BetterDiscord/plugins/EditServers.plugin.js |
dots v2
Diffstat (limited to '.config/BetterDiscord/plugins/EditServers.plugin.js')
-rw-r--r-- | .config/BetterDiscord/plugins/EditServers.plugin.js | 1079 |
1 files changed, 1079 insertions, 0 deletions
diff --git a/.config/BetterDiscord/plugins/EditServers.plugin.js b/.config/BetterDiscord/plugins/EditServers.plugin.js new file mode 100644 index 0000000..3291113 --- /dev/null +++ b/.config/BetterDiscord/plugins/EditServers.plugin.js @@ -0,0 +1,1079 @@ +//META{"name":"EditServers","authorId":"278543574059057154","invite":"Jx3TjNS","donate":"https://www.paypal.me/MircoWittrien","patreon":"https://www.patreon.com/MircoWittrien","website":"https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/EditServers","source":"https://raw.githubusercontent.com/mwittrien/BetterDiscordAddons/master/Plugins/EditServers/EditServers.plugin.js"}*// + +var EditServers = (_ => { + return class EditServers { + getName () {return "EditServers";} + + getVersion () {return "2.2.1";} + + getAuthor () {return "DevilBro";} + + getDescription () {return "Allows you to change the icon, name and color of servers.";} + + constructor () { + this.changelog = { + "fixed":[["Context Menu Update","Fixes for the context menu update, yaaaaaay"]] + }; + + this.patchedModules = { + before: { + Guild: "render", + GuildIconWrapper: "render", + MutualGuilds: "render", + FriendRow: "render", + QuickSwitcher: "render", + QuickSwitchChannelResult: "render", + GuildSidebar: "render", + GuildHeader: "render" + }, + after: { + MessagesPopout: "render", + Guild: "render", + BlobMask: "render", + GuildIconWrapper: "render", + GuildIcon: "render", + GuildHeader: "render" + } + }; + + this.patchPriority = 7; + } + + initConstructor () { + this.defaults = { + settings: { + addOriginalTooltip: {value:true, inner:false, description:"Hovering over a changed Server Header shows the original Name as Tooltip"}, + changeInGuildList: {value:true, inner:true, description:"Server List"}, + changeInGuildHeader: {value:true, inner:true, description:"Server Header"}, + changeInMutualGuilds: {value:true, inner:true, description:"Mutual Servers"}, + changeInRecentMentions: {value:true, inner:true, description:"Recent Mentions Popout"}, + changeInQuickSwitcher: {value:true, inner:true, description:"Quick Switcher"} + } + }; + } + + getSettingsPanel () { + if (!window.BDFDB || typeof BDFDB != "object" || !BDFDB.loaded || !this.started) return; + let settings = BDFDB.DataUtils.get(this, "settings"); + let settingsPanel, settingsItems = [], innerItems = []; + + for (let key in settings) (!this.defaults.settings[key].inner ? settingsItems : innerItems).push(BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsSaveItem, { + className: BDFDB.disCN.marginbottom8, + type: "Switch", + plugin: this, + keys: ["settings", key], + label: this.defaults.settings[key].description, + value: settings[key] + })); + settingsItems.push(BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsPanelInner, { + title: "Change Servers in:", + first: settingsItems.length == 0, + children: innerItems + })); + settingsItems.push(BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, { + type: "Button", + className: BDFDB.disCN.marginbottom8, + color: BDFDB.LibraryComponents.Button.Colors.RED, + label: "Reset all Servers", + onClick: _ => { + BDFDB.ModalUtils.confirm(this, "Are you sure you want to reset all Servers?", _ => { + BDFDB.DataUtils.remove(this, "servers"); + BDFDB.ModuleUtils.forceAllUpdates(this);; + }); + }, + children: BDFDB.LanguageUtils.LanguageStrings.RESET + })); + + return settingsPanel = BDFDB.PluginUtils.createSettingsPanel(this, settingsItems); + } + + // Legacy + load () {} + + start () { + if (!window.BDFDB) window.BDFDB = {myPlugins:{}}; + if (window.BDFDB && window.BDFDB.myPlugins && typeof window.BDFDB.myPlugins == "object") window.BDFDB.myPlugins[this.getName()] = this; + let libraryScript = document.querySelector("head script#BDFDBLibraryScript"); + if (!libraryScript || (performance.now() - libraryScript.getAttribute("date")) > 600000) { + if (libraryScript) libraryScript.remove(); + libraryScript = document.createElement("script"); + libraryScript.setAttribute("id", "BDFDBLibraryScript"); + libraryScript.setAttribute("type", "text/javascript"); + libraryScript.setAttribute("src", "https://mwittrien.github.io/BetterDiscordAddons/Plugins/BDFDB.min.js"); + libraryScript.setAttribute("date", performance.now()); + libraryScript.addEventListener("load", _ => {this.initialize();}); + document.head.appendChild(libraryScript); + } + else if (window.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) this.initialize(); + this.startTimeout = setTimeout(_ => { + try {return this.initialize();} + catch (err) {console.error(`%c[${this.getName()}]%c`, "color: #3a71c1; font-weight: 700;", "", "Fatal Error: Could not initiate plugin! " + err);} + }, 30000); + } + + initialize () { + if (window.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) { + if (this.started) return; + BDFDB.PluginUtils.init(this); + + BDFDB.ModuleUtils.patch(this, BDFDB.LibraryModules.IconUtils, "getGuildBannerURL", {instead:e => { + let guild = BDFDB.LibraryModules.GuildStore.getGuild(e.methodArguments[0].id); + if (guild) { + if (e.methodArguments[0].id == "410787888507256842") return guild.banner; + let data = BDFDB.DataUtils.load(this, "servers", guild.id); + if (data && data.banner && !data.removeBanner) return data.banner; + } + return e.callOriginalMethod(); + }}); + + BDFDB.ModuleUtils.patch(this, BDFDB.LibraryComponents.GuildComponents.Guild.prototype, "render", { + before: e => {this.processGuild({instance:e.thisObject, returnvalue:e.returnValue, methodname:"render"});}, + after: e => {this.processGuild({instance:e.thisObject, returnvalue:e.returnValue, methodname:"render"});} + }); + + BDFDB.ModuleUtils.patch(this, BDFDB.LibraryComponents.Connectors.Link.prototype, "render", { + after: e => { + if (e.thisObject.props.className && e.thisObject.props.className.indexOf(BDFDB.disCN.guildiconwrapper) > -1) this.processGuildAcronym({instance:e.thisObject, returnvalue:e.returnValue, methodname:"render"}); + } + }); + + BDFDB.ModuleUtils.forceAllUpdates(this); + } + else console.error(`%c[${this.getName()}]%c`, "color: #3a71c1; font-weight: 700;", "", "Fatal Error: Could not load BD functions!"); + } + + stop () { + if (window.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) { + this.stopping = true; + + BDFDB.ModuleUtils.forceAllUpdates(this); + + for (let guildobj of BDFDB.GuildUtils.getAll()) if (guildobj.instance) delete guildobj.instance.props.guild.EditServersCachedBanner; + + BDFDB.PluginUtils.clear(this); + } + } + + // Begin of own functions + + onGuildContextMenu (e) { + if (e.instance.props.guild) { + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); + children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { + children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { + label: this.labels.context_localserversettings_text, + id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-submenu"), + children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { + children: [ + BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { + label: this.labels.submenu_serversettings_text, + id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-change"), + action: _ => { + BDFDB.ContextMenuUtils.close(e.instance); + this.openGuildSettingsModal(e.instance.props.guild.id); + } + }), + BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { + label: this.labels.submenu_resetsettings_text, + id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-reset"), + disabled: !BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id), + action: _ => { + BDFDB.ContextMenuUtils.close(e.instance); + BDFDB.DataUtils.remove(this, "servers", e.instance.props.guild.id); + BDFDB.ModuleUtils.forceAllUpdates(this); + } + }) + ] + }) + }) + })); + } + } + + processGuild (e) { + if (BDFDB.GuildUtils.is(e.instance.props.guild) && BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) { + e.instance.props.guild = this.getGuildData(e.instance.props.guild.id); + if (e.returnvalue) { + let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id); + if (data && (data.color3 || data.color4)) { + let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: ["GuildTooltip", "BDFDB_TooltipContainer"]}); + if (index > -1) children[index] = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TooltipContainer, { + tooltipConfig: { + type: "right", + guild: e.instance.props.guild, + list: true, + offset: 12, + backgroundColor: data.color3, + fontColor: data.color4 + }, + children: children[index].props.children + }); + } + } + } + } + + processBlobMask (e) { + if (BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) { + let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "NavItem"}); + if (index > -1 && children[index].props.to && children[index].props.to.pathname) { + let guild = BDFDB.LibraryModules.GuildStore.getGuild((children[index].props.to.pathname.split("/channels/")[1] || "").split("/")[0]); + if (guild) { + let data = BDFDB.DataUtils.load(this, "servers", guild.id); + if (data) { + if (data.shortName) children[index].props.name = data.shortName.split("").join(" "); + else if (data.name && data.ignoreCustomName) children[index].props.name = guild.name; + } + } + } + } + } + + processGuildAcronym (e) { + if (typeof e.returnvalue.props.children == "function" && BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) { + let pathname = BDFDB.ReactUtils.getValue(e.instance, "props.to.pathname"); + let data = pathname && BDFDB.DataUtils.load(this, "servers", (pathname.split("/channels/")[1] || "").split("/")[0]); + if (data) { + let renderChildren = e.returnvalue.props.children; + e.returnvalue.props.children = (...args) => { + let renderedChildren = renderChildren(...args); + let [children, index] = BDFDB.ReactUtils.findChildren(renderedChildren, {props:[["className", BDFDB.disCN.guildiconacronym]]}); + if (index > -1) { + let fontGradient = BDFDB.ObjectUtils.is(data.color2); + children[index].props.style = Object.assign({}, children[index].props.style, { + background: BDFDB.ObjectUtils.is(data.color1) ? BDFDB.ColorUtils.createGradient(data.color1) : BDFDB.ColorUtils.convert(data.color1, "RGBA"), + color: !fontGradient && BDFDB.ColorUtils.convert(data.color2, "RGBA") + }); + if (fontGradient) children[index].props.children = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextGradientElement, { + gradient: BDFDB.ColorUtils.createGradient(data.color2), + children: children[index].props.children + }); + } + return renderedChildren; + }; + } + } + } + + processGuildIconWrapper (e) { + if (BDFDB.GuildUtils.is(e.instance.props.guild)) { + let settings = BDFDB.DataUtils.get(this, "settings"); + if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.guildfolderguildicon) > -1) e.instance.props.guild = this.getGuildData(e.instance.props.guild.id, settings.changeInGuildList); + else if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.listavatar) > -1) e.instance.props.guild = this.getGuildData(e.instance.props.guild.id, settings.changeInMutualGuilds); + else e.instance.props.guild = this.getGuildData(e.instance.props.guild.id); + } + } + + processGuildIcon (e) { + if (BDFDB.GuildUtils.is(e.instance.props.guild) && e.instance.props.style && (!e.instance.props.style.backgroundImage || e.instance.props.style.backgroundImage == "none")) { + let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id); + if (data) { + let settings = BDFDB.DataUtils.get(this, "settings"); + if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.guildfolderguildicon) > -1) this.changeGuildIcon(e, data, settings.changeInGuildList); + else if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.listavatar) > -1 || BDFDB.ReactUtils.findConstructor(e.instance, "MutualGuild", {up: true})) this.changeGuildIcon(e, data, settings.changeInMutualGuilds); + else this.changeGuildIcon(e, data); + } + } + } + + processMutualGuilds (e) { + if (BDFDB.DataUtils.get(this, "settings", "changeInMutualGuilds")) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i].guild = this.getGuildData(e.instance.props.mutualGuilds[i].guild.id); + } + + processFriendRow (e) { + if (BDFDB.DataUtils.get(this, "settings", "changeInMutualGuilds")) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i] = this.getGuildData(e.instance.props.mutualGuilds[i].id); + } + + processQuickSwitcher (e) { + if (BDFDB.DataUtils.get(this, "settings", "changeInQuickSwitcher")) for (let i in e.instance.props.results) if (e.instance.props.results[i].type == "GUILD") e.instance.props.results[i].record = this.getGuildData(e.instance.props.results[i].record.id); + } + + processQuickSwitchChannelResult (e) { + if (e.instance.props.channel && e.instance.props.channel.guild_id && BDFDB.DataUtils.get(this, "settings", "changeInQuickSwitcher")) { + e.instance.props.children.props.children = this.getGuildData(e.instance.props.channel.guild_id).name; + } + } + + processMessagesPopout (e) { + if (BDFDB.DataUtils.get(this, "settings", "changeInRecentMentions")) { + let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "VerticalScroller"}); + if (index > -1 && children[index].props.children && BDFDB.ArrayUtils.is(children[index].props.children[0])) for (let i in children[index].props.children[0]) { + let divider = children[index].props.children[0][i]; + if (divider && divider.props && divider.props.className == BDFDB.disCN.messagespopoutchannelseparator) { + let channel = BDFDB.ReactUtils.findValue(children[index].props.children[0][parseInt(i)+1], "channel"); + if (BDFDB.ChannelUtils.isTextChannel(channel)) { + let [children2, index2] = BDFDB.ReactUtils.findChildren(divider, {props:[["className", BDFDB.disCN.messagespopoutguildname]]}); + if (index2 > -1) children2[index2].props.children = this.getGuildData(channel.guild_id).name; + } + } + } + } + } + + processGuildSidebar (e) { + if (e.instance.props.guild) { + let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id); + if (data) { + if (data.removeBanner) e.instance.props.guild = new BDFDB.DiscordObjects.Guild(Object.assign({}, e.instance.props.guild, {banner: null})); + else if (data.banner) e.instance.props.guild = new BDFDB.DiscordObjects.Guild(Object.assign({}, e.instance.props.guild, {banner: data.banner})); + } + } + } + + processGuildHeader (e) { + if (e.instance.props.guild) { + let settings = BDFDB.DataUtils.get(this, "settings"); + if (settings.changeInGuildHeader) { + e.instance.props.guild = this.getGuildData(e.instance.props.guild.id); + let oldName = (BDFDB.LibraryModules.GuildStore.getGuild(e.instance.props.guild.id) || {}).name; + if (e.returnvalue && settings.addOriginalTooltip && oldName != e.instance.props.guild.name) { + e.returnvalue.props.children[0] = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TooltipContainer, { + text: oldName, + children: e.returnvalue.props.children[0], + tooltipConfig: {type: "right"} + }); + } + } + } + } + + getGuildData (guildId, change = true) { + let guild = BDFDB.LibraryModules.GuildStore.getGuild(guildId); + if (!guild) return new BDFDB.DiscordObjects.Guild({}); + let data = change && BDFDB.DataUtils.load(this, "servers", guild.id); + if (data) { + let newGuildObject = {}, nativeObject = new BDFDB.DiscordObjects.Guild(guild); + for (let key in nativeObject) newGuildObject[key] = nativeObject[key]; + newGuildObject.name = data.name || nativeObject.name; + newGuildObject.acronym = data.shortName && data.shortName.replace(/\s/g, "") || BDFDB.LibraryModules.StringUtils.getAcronym(!data.ignoreCustomName && data.name || nativeObject.name); + if (data.removeIcon) { + newGuildObject.icon = null; + newGuildObject.getIconURL = _ => {return null;}; + } + else if (data.url) { + newGuildObject.icon = data.url; + newGuildObject.getIconURL = _ => {return data.url;}; + } + if (data.removeBanner) newGuildObject.banner = null; + else if (data.banner) newGuildObject.banner = data.banner; + return newGuildObject; + } + return new BDFDB.DiscordObjects.Guild(guild); + } + + changeGuildIcon (e, data, change = true) { + if (change) { + let fontGradient = BDFDB.ObjectUtils.is(data.color2); + e.returnvalue.props.style = Object.assign({}, e.returnvalue.props.style, { + background: BDFDB.ObjectUtils.is(data.color1) ? BDFDB.ColorUtils.createGradient(data.color1) : BDFDB.ColorUtils.convert(data.color1, "RGBA"), + color: !fontGradient && BDFDB.ColorUtils.convert(data.color2, "RGBA") + }); + if (fontGradient) e.returnvalue.props.children[0] = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextGradientElement, { + gradient: BDFDB.ColorUtils.createGradient(data.color2), + children: e.returnvalue.props.children[0] + }); + } + } + + openGuildSettingsModal (guildId) { + let guild = BDFDB.LibraryModules.GuildStore.getGuild(guildId); + if (!guild) return; + let data = BDFDB.DataUtils.load(this, "servers", guild.id) || {}; + + let currentIgnoreCustomNameState = data.ignoreCustomName; + + BDFDB.ModalUtils.open(this, { + size: "MEDIUM", + header: this.labels.modal_header_text, + subheader: guild.name, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.ModalComponents.ModalTabContent, { + tab: this.labels.modal_tabheader1_text, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, { + title: this.labels.modal_guildname_text, + className: BDFDB.disCN.marginbottom20, + children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextInput, { + className: "input-guildname", + key: "GUILDNAME", + value: data.name, + placeholder: guild.name, + autoFocus: true, + onChange: (value, instance) => { + if (!currentIgnoreCustomNameState) { + let acronymInputIns = BDFDB.ReactUtils.findOwner(instance._reactInternalFiber.return.return.return, {key: "GUILDACRONYM"}); + if (acronymInputIns) { + acronymInputIns.props.placeholder = value && BDFDB.LibraryModules.StringUtils.getAcronym(value) || guild.acronym; + BDFDB.ReactUtils.forceUpdate(acronymInputIns); + } + } + } + }) + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, { + title: this.labels.modal_guildacronym_text, + className: BDFDB.disCN.marginbottom8, + children: + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextInput, { + className: "input-guildacronym", + key: "GUILDACRONYM", + value: data.shortName, + placeholder: !data.ignoreCustomName && data.name && BDFDB.LibraryModules.StringUtils.getAcronym(data.name) || guild.acronym + }) + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, { + type: "Switch", + className: BDFDB.disCN.marginbottom20 + " input-ignorecustomname", + label: this.labels.modal_ignorecustomname_text, + tag: BDFDB.LibraryComponents.FormComponents.FormTitle.Tags.H5, + value: data.ignoreCustomName, + onChange: (value, instance) => { + currentIgnoreCustomNameState = value; + let nameInputIns = BDFDB.ReactUtils.findOwner(instance._reactInternalFiber.return, {key: "GUILDNAME"}); + let acronymInputIns = BDFDB.ReactUtils.findOwner(instance._reactInternalFiber.return, {key: "GUILDACRONYM"}); + if (nameInputIns && acronymInputIns) { + acronymInputIns.props.placeholder = !value && nameInputIns.props.value && BDFDB.LibraryModules.StringUtils.getAcronym(nameInputIns.props.value) || guild.acronym; + BDFDB.ReactUtils.forceUpdate(acronymInputIns); + } + } + }), + BDFDB.ReactUtils.createElement("div", { + className: BDFDB.disCN.marginbottom20, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex, { + className: BDFDB.disCN.marginbottom8, + align: BDFDB.LibraryComponents.Flex.Align.CENTER, + direction: BDFDB.LibraryComponents.Flex.Direction.HORIZONTAL, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormTitle, { + className: BDFDB.disCN.marginreset, + tag: BDFDB.LibraryComponents.FormComponents.FormTitle.Tags.H5, + children: this.labels.modal_guildicon_text + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, { + className: "input-removeicon", + type: "Switch", + grow: 0, + label: BDFDB.LanguageUtils.LanguageStrings.REMOVE, + tag: BDFDB.LibraryComponents.FormComponents.FormTitle.Tags.H5, + value: data.removeIcon, + onChange: (value, instance) => { + let iconInputIins = BDFDB.ReactUtils.findOwner(instance._reactInternalFiber.return.return, {key: "GUILDICON"}); + if (iconInputIins) { + delete iconInputIins.props.success; + delete iconInputIins.props.errorMessage; + iconInputIins.props.disabled = value; + BDFDB.ReactUtils.forceUpdate(iconInputIins); + } + } + }) + ] + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextInput, { + className: "input-guildicon", + key: "GUILDICON", + success: !data.removeIcon && data.url, + maxLength: 100000000000000000000, + value: data.url, + placeholder: BDFDB.GuildUtils.getIcon(guild.id), + disabled: data.removeIcon, + onChange: (value, instance) => { + this.checkUrl(value, instance); + } + }) + ] + }), + BDFDB.ReactUtils.createElement("div", { + className: BDFDB.disCN.marginbottom20, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex, { + className: BDFDB.disCN.marginbottom8, + align: BDFDB.LibraryComponents.Flex.Align.CENTER, + direction: BDFDB.LibraryComponents.Flex.Direction.HORIZONTAL, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormTitle, { + className: BDFDB.disCN.marginreset, + tag: BDFDB.LibraryComponents.FormComponents.FormTitle.Tags.H5, + children: this.labels.modal_guildbanner_text + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, { + className: "input-removebanner", + type: "Switch", + grow: 0, + label: BDFDB.LanguageUtils.LanguageStrings.REMOVE, + tag: BDFDB.LibraryComponents.FormComponents.FormTitle.Tags.H5, + value: data.removeBanner && guild.id != "410787888507256842", + disabled: guild.id == "410787888507256842", + onChange: (value, instance) => { + let bannerInputIns = BDFDB.ReactUtils.findOwner(instance._reactInternalFiber.return.return, {key: "GUILDBANNER"}); + if (bannerInputIns) { + delete bannerInputIns.props.success; + delete bannerInputIns.props.errorMessage; + bannerInputIns.props.disabled = value; + BDFDB.ReactUtils.forceUpdate(bannerInputIns); + } + } + }) + ] + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextInput, { + className: "input-guildbanner", + key: "GUILDBANNER", + success: !data.removeBanner && data.banner, + maxLength: 100000000000000000000, + value: data.banner, + placeholder: BDFDB.GuildUtils.getBanner(guild.id), + disabled: data.removeBanner || guild.id == "410787888507256842", + onChange: (value, instance) => { + this.checkUrl(value, instance); + } + }) + ] + }) + ] + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.ModalComponents.ModalTabContent, { + tab: this.labels.modal_tabheader2_text, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, { + title: this.labels.modal_colorpicker1_text, + className: BDFDB.disCN.marginbottom20, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.ColorSwatches, { + color: data.color1, + number: 1 + }) + ] + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, { + title: this.labels.modal_colorpicker2_text, + className: BDFDB.disCN.marginbottom20, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.ColorSwatches, { + color: data.color2, + number: 2 + }) + ] + }) + ] + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.ModalComponents.ModalTabContent, { + tab: this.labels.modal_tabheader3_text, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, { + title: this.labels.modal_colorpicker3_text, + className: BDFDB.disCN.marginbottom20, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.ColorSwatches, { + color: data.color3, + number: 3 + }) + ] + }), + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, { + title: this.labels.modal_colorpicker4_text, + className: BDFDB.disCN.marginbottom20, + children: [ + BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.ColorSwatches, { + color: data.color4, + number: 4 + }) + ] + }) + ] + }) + ], + buttons: [{ + contents: BDFDB.LanguageUtils.LanguageStrings.SAVE, + color: "BRAND", + close: true, + click: modal => { + let olddata = Object.assign({}, data); + + let guildnameinput = modal.querySelector(".input-guildname " + BDFDB.dotCN.input); + let guildacronyminput = modal.querySelector(".input-guildacronym " + BDFDB.dotCN.input); + let ignorecustomnameinput = modal.querySelector(".input-ignorecustomname " + BDFDB.dotCN.switchinner); + let guildiconinput = modal.querySelector(".input-guildicon " + BDFDB.dotCN.input); + let removeiconinput = modal.querySelector(".input-removeicon " + BDFDB.dotCN.switchinner); + let guildbannerinput = modal.querySelector(".input-guildbanner " + BDFDB.dotCN.input); + let removebannerinput = modal.querySelector(".input-removebanner " + BDFDB.dotCN.switchinner); + + data.name = guildnameinput.value.trim() || null; + data.shortName = guildacronyminput.value.trim() || null; + data.ignoreCustomName = ignorecustomnameinput.checked; + data.url = (!data.removeIcon && BDFDB.DOMUtils.containsClass(guildiconinput, BDFDB.disCN.inputsuccess) ? guildiconinput.value.trim() : null) || null; + data.removeIcon = removeiconinput.checked; + data.banner = (!data.removeBanner && BDFDB.DOMUtils.containsClass(guildbannerinput, BDFDB.disCN.inputsuccess) ? guildbannerinput.value.trim() : null) || null; + data.removeBanner = removebannerinput.checked && guild.id != "410787888507256842"; + + data.color1 = BDFDB.ColorUtils.getSwatchColor(modal, 1); + data.color2 = BDFDB.ColorUtils.getSwatchColor(modal, 2); + data.color3 = BDFDB.ColorUtils.getSwatchColor(modal, 3); + data.color4 = BDFDB.ColorUtils.getSwatchColor(modal, 4); + + let changed = false; + if (Object.keys(data).every(key => !data[key]) && (changed = true)) BDFDB.DataUtils.remove(this, "servers", guild.id); + else if (!BDFDB.equals(olddata, data) && (changed = true)) BDFDB.DataUtils.save(data, this, "servers", guild.id); + if (changed) BDFDB.ModuleUtils.forceAllUpdates(this);; + } + }] + }); + } + + checkUrl (url, instance) { + BDFDB.TimeUtils.clear(instance.checkTimeout); + if (url == null || !url.trim()) { + delete instance.props.success; + delete instance.props.errorMessage; + instance.forceUpdate(); + } + else instance.checkTimeout = BDFDB.TimeUtils.timeout(_ => { + BDFDB.LibraryRequires.request(url.trim(), (error, response, result) => { + if (response && response.headers["content-type"] && response.headers["content-type"].indexOf("image") != -1) { + instance.props.success = true; + delete instance.props.errorMessage; + } + else { + delete instance.props.success; + instance.props.errorMessage = this.labels.modal_invalidurl_text; + } + delete instance.checkTimeout; + instance.forceUpdate(); + }); + }, 1000); + } + + setBanner (id, data) { + data = data || {}; + let guild = BDFDB.LibraryModules.GuildStore.getGuild(id); + if (!guild) return; + if (guild.EditServersCachedBanner === undefined) guild.EditServersCachedBanner = guild.banner; + guild.banner = data.removeBanner ? null : (data.banner || guild.EditServersCachedBanner); + } + + setLabelsByLanguage () { + switch (BDFDB.LanguageUtils.getLanguage().id) { + case "hr": //croatian + return { + context_localserversettings_text: "Lokalne postavke poslužitelja", + submenu_serversettings_text: "Promijeni postavke", + submenu_resetsettings_text: "Ponovno postavite poslužitelj", + modal_header_text: "Lokalne postavke poslužitelja", + modal_guildname_text: "Naziv lokalnog poslužitelja", + modal_guildacronym_text: "Akronim lokalnog poslužitelja", + modal_ignorecustomname_text: "Koristite izvorno ime poslužitelja za akronim poslužitelja", + modal_guildicon_text: "Ikona", + modal_guildbanner_text: "Baner", + modal_tabheader1_text: "Poslužitelja", + modal_tabheader2_text: "Boja ikona", + modal_tabheader3_text: "Boja tooltip", + modal_colorpicker1_text: "Boja ikona", + modal_colorpicker2_text: "Boja fonta", + modal_colorpicker3_text: "Boja tooltip", + modal_colorpicker4_text: "Boja fonta", + modal_invalidurl_text: "Nevažeći URL" + }; + case "da": //danish + return { + context_localserversettings_text: "Lokal serverindstillinger", + submenu_serversettings_text: "Skift indstillinger", + submenu_resetsettings_text: "Nulstil server", + modal_header_text: "Lokal serverindstillinger", + modal_guildname_text: "Lokalt servernavn", + modal_guildacronym_text: "Lokalt serverakronym", + modal_ignorecustomname_text: "Brug det originale servernavn til serverens akronym", + modal_guildicon_text: "Ikon", + modal_guildbanner_text: "Banner", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Ikonfarve", + modal_tabheader3_text: "Tooltipfarve", + modal_colorpicker1_text: "Ikonfarve", + modal_colorpicker2_text: "Skriftfarve", + modal_colorpicker3_text: "Tooltipfarve", + modal_colorpicker4_text: "Skriftfarve", + modal_invalidurl_text: "Ugyldig URL" + }; + case "de": //german + return { + context_localserversettings_text: "Lokale Servereinstellungen", + submenu_serversettings_text: "Einstellungen ändern", + submenu_resetsettings_text: "Server zurücksetzen", + modal_header_text: "Lokale Servereinstellungen", + modal_guildname_text: "Lokaler Servername", + modal_guildacronym_text: "Lokales Serverkürzel", + modal_ignorecustomname_text: "Benutze den ursprünglichen Servernamen für das Serverkürzel", + modal_guildicon_text: "Icon", + modal_guildbanner_text: "Banner", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Iconfarbe", + modal_tabheader3_text: "Tooltipfarbe", + modal_colorpicker1_text: "Iconfarbe", + modal_colorpicker2_text: "Schriftfarbe", + modal_colorpicker3_text: "Tooltipfarbe", + modal_colorpicker4_text: "Schriftfarbe", + modal_invalidurl_text: "Ungültige URL" + }; + case "es": //spanish + return { + context_localserversettings_text: "Ajustes local de servidor", + submenu_serversettings_text: "Cambiar ajustes", + submenu_resetsettings_text: "Restablecer servidor", + modal_header_text: "Ajustes local de servidor", + modal_guildname_text: "Nombre local del servidor", + modal_guildacronym_text: "Acrónimo local del servidor", + modal_ignorecustomname_text: "Use el nombre del servidor original para el acrónimo del servidor", + modal_guildicon_text: "Icono", + modal_guildbanner_text: "Bandera", + modal_tabheader1_text: "Servidor", + modal_tabheader2_text: "Color del icono", + modal_tabheader3_text: "Color de tooltip", + modal_colorpicker1_text: "Color del icono", + modal_colorpicker2_text: "Color de fuente", + modal_colorpicker3_text: "Color de tooltip", + modal_colorpicker4_text: "Color de fuente", + modal_invalidurl_text: "URL inválida" + }; + case "fr": //french + return { + context_localserversettings_text: "Paramètres locale du serveur", + submenu_serversettings_text: "Modifier les paramètres", + submenu_resetsettings_text: "Réinitialiser le serveur", + modal_header_text: "Paramètres locale du serveur", + modal_guildname_text: "Nom local du serveur", + modal_guildacronym_text: "Acronyme local de serveur", + modal_ignorecustomname_text: "Utilisez le nom de serveur d'origine pour l'acronyme de serveur", + modal_guildicon_text: "Icône", + modal_guildbanner_text: "Bannière", + modal_tabheader1_text: "Serveur", + modal_tabheader2_text: "Couleur de l'icône", + modal_tabheader3_text: "Couleur de tooltip", + modal_colorpicker1_text: "Couleur de l'icône", + modal_colorpicker2_text: "Couleur de la police", + modal_colorpicker3_text: "Couleur de tooltip", + modal_colorpicker4_text: "Couleur de la police", + modal_invalidurl_text: "URL invalide" + }; + case "it": //italian + return { + context_localserversettings_text: "Impostazioni locale server", + submenu_serversettings_text: "Cambia impostazioni", + submenu_resetsettings_text: "Ripristina server", + modal_header_text: "Impostazioni locale server", + modal_guildname_text: "Nome locale server", + modal_guildacronym_text: "Acronimo locale server", + modal_ignorecustomname_text: "Utilizzare il nome del server originale per l'acronimo del server", + modal_guildicon_text: "Icona", + modal_guildbanner_text: "Bandiera", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Colore dell'icona", + modal_tabheader3_text: "Colore della tooltip", + modal_colorpicker1_text: "Colore dell'icona", + modal_colorpicker2_text: "Colore del carattere", + modal_colorpicker3_text: "Colore della tooltip", + modal_colorpicker4_text: "Colore del carattere", + modal_invalidurl_text: "URL non valido" + }; + case "nl": //dutch + return { + context_localserversettings_text: "Lokale serverinstellingen", + submenu_serversettings_text: "Verandere instellingen", + submenu_resetsettings_text: "Reset server", + modal_header_text: "Lokale serverinstellingen", + modal_guildname_text: "Lokale servernaam", + modal_guildacronym_text: "Lokale server acroniem", + modal_ignorecustomname_text: "Gebruik de oorspronkelijke servernaam voor het serveracrononiem", + modal_guildicon_text: "Icoon", + modal_guildbanner_text: "Banier", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Icoonkleur", + modal_tabheader3_text: "Tooltipkleur", + modal_colorpicker1_text: "Icoonkleur", + modal_colorpicker2_text: "Doopvontkleur", + modal_colorpicker3_text: "Tooltipkleur", + modal_colorpicker4_text: "Doopvontkleur", + modal_invalidurl_text: "Ongeldige URL" + }; + case "no": //norwegian + return { + context_localserversettings_text: "Lokal serverinnstillinger", + submenu_serversettings_text: "Endre innstillinger", + submenu_resetsettings_text: "Tilbakestill server", + modal_header_text: "Lokal serverinnstillinger", + modal_guildname_text: "Lokalt servernavn", + modal_guildacronym_text: "Lokalt serverforkortelse", + modal_ignorecustomname_text: "Bruk det originale servernavnet til serverforkortelsen", + modal_guildicon_text: "Ikon", + modal_guildbanner_text: "Banner", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Ikonfarge", + modal_tabheader3_text: "Tooltipfarge", + modal_colorpicker1_text: "Ikonfarge", + modal_colorpicker2_text: "Skriftfarge", + modal_colorpicker3_text: "Tooltipfarge", + modal_colorpicker4_text: "Skriftfarge", + modal_invalidurl_text: "Ugyldig URL" + }; + case "pl": //polish + return { + context_localserversettings_text: "Lokalne ustawienia serwera", + submenu_serversettings_text: "Zmień ustawienia", + submenu_resetsettings_text: "Resetuj ustawienia", + modal_header_text: "Lokalne ustawienia serwera", + modal_guildname_text: "Lokalna nazwa serwera", + modal_guildacronym_text: "Akronim lokalnego serwera", + modal_ignorecustomname_text: "Użyj oryginalnej nazwy serwera dla akronimu serwera", + modal_guildicon_text: "Ikona", + modal_guildbanner_text: "Baner", + modal_tabheader1_text: "Serwer", + modal_tabheader2_text: "Kolor ikony", + modal_tabheader3_text: "Kolor podpowiedzi", + modal_colorpicker1_text: "Kolor ikony", + modal_colorpicker2_text: "Kolor czcionki", + modal_colorpicker3_text: "Kolor podpowiedzi", + modal_colorpicker4_text: "Kolor czcionki", + modal_invalidurl_text: "Nieprawidłowe URL" + }; + case "pt-BR": //portuguese (brazil) + return { + context_localserversettings_text: "Configurações local do servidor", + submenu_serversettings_text: "Mudar configurações", + submenu_resetsettings_text: "Redefinir servidor", + modal_header_text: "Configurações local do servidor", + modal_guildname_text: "Nome local do servidor", + modal_guildacronym_text: "Acrônimo local de servidor", + modal_ignorecustomname_text: "Use o nome do servidor original para a sigla do servidor", + modal_guildicon_text: "Icone", + modal_guildbanner_text: "Bandeira", + modal_tabheader1_text: "Servidor", + modal_tabheader2_text: "Cor do ícone", + modal_tabheader3_text: "Cor da tooltip", + modal_colorpicker1_text: "Cor do ícone", + modal_colorpicker2_text: "Cor da fonte", + modal_colorpicker3_text: "Cor da tooltip", + modal_colorpicker4_text: "Cor da fonte", + modal_invalidurl_text: "URL inválida" + }; + case "fi": //finnish + return { + context_localserversettings_text: "Paikallinen palvelimen asetukset", + submenu_serversettings_text: "Vaihda asetuksia", + submenu_resetsettings_text: "Nollaa palvelimen", + modal_header_text: "Paikallinen palvelimen asetukset", + modal_guildname_text: "Paikallinen palvelimenimi", + modal_guildacronym_text: "Paikallisen palvelimen lyhenne", + modal_ignorecustomname_text: "Käytä alkuperäistä palvelimen nimeä palvelimen lyhenteessä", + modal_guildicon_text: "Ikonin", + modal_guildbanner_text: "Banneri", + modal_tabheader1_text: "Palvelimen", + modal_tabheader2_text: "Ikoninväri", + modal_tabheader3_text: "Tooltipväri", + modal_colorpicker1_text: "Ikoninväri", + modal_colorpicker2_text: "Fontinväri", + modal_colorpicker3_text: "Tooltipväri", + modal_colorpicker4_text: "Fontinväri", + modal_invalidurl_text: "Virheellinen URL" + }; + case "sv": //swedish + return { + context_localserversettings_text: "Lokal serverinställningar", + submenu_serversettings_text: "Ändra inställningar", + submenu_resetsettings_text: "Återställ server", + modal_header_text: "Lokal serverinställningar", + modal_guildname_text: "Lokalt servernamn", + modal_guildacronym_text: "Lokal server förkortning", + modal_ignorecustomname_text: "Använd det ursprungliga servernamnet för serverförkortningen", + modal_guildicon_text: "Ikon", + modal_guildbanner_text: "Banderoll", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Ikonfärg", + modal_tabheader3_text: "Tooltipfärg", + modal_colorpicker1_text: "Ikonfärg", + modal_colorpicker2_text: "Fontfärg", + modal_colorpicker3_text: "Tooltipfärg", + modal_colorpicker4_text: "Fontfärg", + modal_invalidurl_text: "Ogiltig URL" + }; + case "tr": //turkish + return { + context_localserversettings_text: "Yerel Sunucu Ayarları", + submenu_serversettings_text: "Ayarları Değiştir", + submenu_resetsettings_text: "Sunucu Sıfırla", + modal_header_text: "Yerel sunucu ayarları", + modal_guildname_text: "Yerel sunucu adı", + modal_guildacronym_text: "Yerel sunucu kısaltması", + modal_ignorecustomname_text: "Sunucu kısaltması için orijinal sunucu adını kullanın", + modal_guildicon_text: "Simge", + modal_guildbanner_text: "Afişi", + modal_tabheader1_text: "Sunucu", + modal_tabheader2_text: "Simge rengi", + modal_tabheader3_text: "Tooltip rengi", + modal_colorpicker1_text: "Simge rengi", + modal_colorpicker2_text: "Yazı rengi", + modal_colorpicker3_text: "Tooltip rengi", + modal_colorpicker4_text: "Yazı rengi", + modal_invalidurl_text: "Geçersiz URL" + }; + case "cs": //czech + return { + context_localserversettings_text: "Místní nastavení serveru", + submenu_serversettings_text: "Změnit nastavení", + submenu_resetsettings_text: "Obnovit server", + modal_header_text: "Místní nastavení serveru", + modal_guildname_text: "Místní název serveru", + modal_guildacronym_text: "Zkratka místního serveru", + modal_ignorecustomname_text: "Pro zkratku serveru použijte původní název serveru", + modal_guildicon_text: "Ikony", + modal_guildbanner_text: "Prapor", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Barva ikony", + modal_tabheader3_text: "Barva tooltip", + modal_colorpicker1_text: "Barva ikony", + modal_colorpicker2_text: "Barva fontu", + modal_colorpicker3_text: "Barva tooltip", + modal_colorpicker4_text: "Barva fontu", + modal_invalidurl_text: "Neplatná URL" + }; + case "bg": //bulgarian + return { + context_localserversettings_text: "Настройки за локални cървър", + submenu_serversettings_text: "Промяна на настройките", + submenu_resetsettings_text: "Възстановяване на cървър", + modal_header_text: "Настройки за локални cървър", + modal_guildname_text: "Локално име на cървър", + modal_guildacronym_text: "Акроним на локалния сървър", + modal_ignorecustomname_text: "Използвайте оригиналното име на сървъра за съкращението на сървъра", + modal_guildicon_text: "Икона", + modal_guildbanner_text: "Знаме", + modal_tabheader1_text: "Cървър", + modal_tabheader2_text: "Цвят на иконата", + modal_tabheader3_text: "Цвят на подсказка", + modal_colorpicker1_text: "Цвят на иконата", + modal_colorpicker2_text: "Цвят на шрифта", + modal_colorpicker3_text: "Цвят на подсказка", + modal_colorpicker4_text: "Цвят на шрифта", + modal_invalidurl_text: "Невалиден URL" + }; + case "ru": //russian + return { + context_localserversettings_text: "Настройки локального cервер", + submenu_serversettings_text: "Изменить настройки", + submenu_resetsettings_text: "Сбросить cервер", + modal_header_text: "Настройки локального cервер", + modal_guildname_text: "Имя локального cервер", + modal_guildacronym_text: "Акроним локального сервера", + modal_ignorecustomname_text: "Используйте оригинальное имя сервера для сокращения сервера", + modal_guildicon_text: "Значок", + modal_guildbanner_text: "Баннер", + modal_tabheader1_text: "Cервер", + modal_tabheader2_text: "Цвет значков", + modal_tabheader3_text: "Цвет подсказка", + modal_colorpicker1_text: "Цвет значков", + modal_colorpicker2_text: "Цвет шрифта", + modal_colorpicker3_text: "Цвет подсказка", + modal_colorpicker4_text: "Цвет шрифта", + modal_invalidurl_text: "Неверная URL" + }; + case "uk": //ukrainian + return { + context_localserversettings_text: "Налаштування локального cервер", + submenu_serversettings_text: "Змінити налаштування", + submenu_resetsettings_text: "Скидання cервер", + modal_header_text: "Налаштування локального cервер", + modal_guildname_text: "Локальне ім'я cервер", + modal_guildacronym_text: "Акронім локального сервера", + modal_ignorecustomname_text: "Використовуйте оригінальне ім'я сервера для абревіатури сервера", + modal_guildicon_text: "Іконка", + modal_guildbanner_text: "Банер", + modal_tabheader1_text: "Cервер", + modal_tabheader2_text: "Колір ікони", + modal_tabheader3_text: "Колір підказка", + modal_colorpicker1_text: "Колір ікони", + modal_colorpicker2_text: "Колір шрифту", + modal_colorpicker3_text: "Колір підказка", + modal_colorpicker4_text: "Колір шрифту", + modal_invalidurl_text: "Недійсна URL" + }; + case "ja": //japanese + return { + context_localserversettings_text: "ローカルサーバー設定", + submenu_serversettings_text: "設定を変更する", + submenu_resetsettings_text: "サーバーをリセットする", + modal_header_text: "ローカルサーバー設定", + modal_guildname_text: "ローカルサーバー名", + modal_guildacronym_text: "ローカルサーバーの頭字語", + modal_ignorecustomname_text: "サーバーの頭字語に元のサーバー名を使用する", + modal_guildicon_text: "アイコン", + modal_guildbanner_text: "バナー", + modal_tabheader1_text: "サーバー", + modal_tabheader2_text: "アイコンの色", + modal_tabheader3_text: "ツールチップの色", + modal_colorpicker1_text: "アイコンの色", + modal_colorpicker2_text: "フォントの色", + modal_colorpicker3_text: "ツールチップの色", + modal_colorpicker4_text: "フォントの色", + modal_invalidurl_text: "無効な URL" + }; + case "zh-TW": //chinese (traditional) + return { + context_localserversettings_text: "本地服務器設置", + submenu_serversettings_text: "更改設置", + submenu_resetsettings_text: "重置服務器", + modal_header_text: "本地服務器設置", + modal_guildname_text: "服務器名稱", + modal_guildacronym_text: "本地服務器縮寫", + modal_ignorecustomname_text: "使用原始服務器名稱作為服務器首字母縮寫", + modal_guildicon_text: "圖標", + modal_guildbanner_text: "旗幟", + modal_tabheader1_text: "服務器", + modal_tabheader2_text: "圖標顏色", + modal_tabheader3_text: "工具提示顏色", + modal_colorpicker1_text: "圖標顏色", + modal_colorpicker2_text: "字體顏色", + modal_colorpicker3_text: "工具提示顏色", + modal_colorpicker4_text: "字體顏色", + modal_invalidurl_text: "無效的 URL" + }; + case "ko": //korean + return { + context_localserversettings_text: "로컬 서버 설정", + submenu_serversettings_text: "설정 변경", + submenu_resetsettings_text: "서버 재설정", + modal_header_text: "로컬 서버 설정", + modal_guildname_text: "로컬 서버 이름", + modal_guildacronym_text: "로컬 서버 약어", + modal_ignorecustomname_text: "서버 약어에 원래 서버 이름을 사용하십시오", + modal_guildicon_text: "상", + modal_guildbanner_text: "기치", + modal_tabheader1_text: "서버", + modal_tabheader2_text: "상 색깔", + modal_tabheader3_text: "툴팁 색깔", + modal_colorpicker1_text: "상 색깔", + modal_colorpicker2_text: "글꼴 색깔", + modal_colorpicker3_text: "툴팁 색깔", + modal_colorpicker4_text: "글꼴 색깔", + modal_invalidurl_text: "잘못된 URL" + }; + default: //default: english + return { + context_localserversettings_text: "Local Serversettings", + submenu_serversettings_text: "Change Settings", + submenu_resetsettings_text: "Reset Server", + modal_header_text: "Local Serversettings", + modal_guildname_text: "Local Servername", + modal_guildacronym_text: "Local Serveracronym", + modal_ignorecustomname_text: "Use the original Servername for the Serveracronym", + modal_guildicon_text: "Icon", + modal_guildbanner_text: "Banner", + modal_tabheader1_text: "Server", + modal_tabheader2_text: "Iconcolor", + modal_tabheader3_text: "Tooltipcolor", + modal_colorpicker1_text: "Iconcolor", + modal_colorpicker2_text: "Fontcolor", + modal_colorpicker3_text: "Tooltipcolor", + modal_colorpicker4_text: "Fontcolor", + modal_invalidurl_text: "Invalid URL" + }; + } + } + } +})();
\ No newline at end of file |