From beaee8764cd4547d6eda5d07fa786c564c8b6f84 Mon Sep 17 00:00:00 2001 From: Jiiks Date: Mon, 20 Aug 2018 02:35:51 +0300 Subject: [PATCH] Persistent most used and favourites --- client/src/builtin/EmoteModule.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/src/builtin/EmoteModule.js b/client/src/builtin/EmoteModule.js index 07548c4e..9c6520ea 100644 --- a/client/src/builtin/EmoteModule.js +++ b/client/src/builtin/EmoteModule.js @@ -13,7 +13,7 @@ import path from 'path'; import { request } from 'vendor'; import { Utils, FileUtils, ClientLogger as Logger } from 'common'; -import { DiscordApi, Settings, Globals, WebpackModules, ReactComponents, MonkeyPatch, Cache, Patcher } from 'modules'; +import { DiscordApi, Settings, Globals, WebpackModules, ReactComponents, MonkeyPatch, Cache, Patcher, Database } from 'modules'; import { VueInjector } from 'ui'; import Emote from './EmoteComponent.js'; @@ -46,6 +46,12 @@ export default new class EmoteModule extends BuiltinModule { await this.loadLocalDb(); } + const userData = await Database.find({ 'id': 'EmoteModule' }); + if (userData && userData.length) { + if (userData[0].hasOwnProperty('favourites')) this._favourites = userData[0].favourites; + if (userData[0].hasOwnProperty('mostused')) this._mostUsed = userData[0].mostused; + } + this.patchMessageContent(); MonkeyPatch('BD:EMOTEMODULE', WebpackModules.getModuleByName('MessageActions')).instead('sendMessage', this.handleSendMessage.bind(this)); MonkeyPatch('BD:EMOTEMODULE', WebpackModules.getModuleByName('MessageActions')).instead('editMessage', this.handleEditMessage.bind(this)); @@ -70,6 +76,7 @@ export default new class EmoteModule extends BuiltinModule { } }); } + Database.insertOrUpdate({ 'id': 'EmoteModule' }, { 'id': 'EmoteModule', favourites: this.favourites, mostused: this.mostUsed }) } processMarkup(markup) {