From 169c490892041a7551b167e5f7ab4859ab003bae Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Mon, 3 Apr 2017 21:27:14 -0400 Subject: [PATCH] Save recently used emojis after logout (#5926) --- webapp/stores/browser_store.jsx | 6 ++++++ webapp/stores/emoji_store.jsx | 5 ++--- webapp/utils/constants.jsx | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/webapp/stores/browser_store.jsx b/webapp/stores/browser_store.jsx index fcd1776622..2da6b896f6 100644 --- a/webapp/stores/browser_store.jsx +++ b/webapp/stores/browser_store.jsx @@ -3,6 +3,7 @@ import {browserHistory} from 'react-router/es6'; import * as Utils from 'utils/utils.jsx'; +import Constants from 'utils/constants.jsx'; const notSupportedParams = { title: Utils.localizeMessage('error.not_supported.title', 'Browser not supported'), @@ -151,10 +152,15 @@ class BrowserStoreClass { const serverVersion = this.getLastServerVersion(); const landingPageSeen = this.hasSeenLandingPage(); const selectedTeams = this.getItem('selected_teams'); + const recentEmojis = localStorage.getItem(Constants.RECENT_EMOJI_KEY); sessionStorage.clear(); localStorage.clear(); + if (recentEmojis) { + localStorage.setItem(Constants.RECENT_EMOJI_KEY, recentEmojis); + } + if (logoutId) { sessionStorage.setItem('__logout__', logoutId); } diff --git a/webapp/stores/emoji_store.jsx b/webapp/stores/emoji_store.jsx index 444a27c72f..432c176d25 100644 --- a/webapp/stores/emoji_store.jsx +++ b/webapp/stores/emoji_store.jsx @@ -10,7 +10,6 @@ import * as Emoji from 'utils/emoji.jsx'; const ActionTypes = Constants.ActionTypes; const CHANGE_EVENT = 'changed'; -const RECENT_EMOJI_KEY = 'recentEmojis'; const MAXIMUM_RECENT_EMOJI = 27; // Wrap the contents of the store so that we don't need to construct an ES6 map where most of the content @@ -171,11 +170,11 @@ class EmojiStore extends EventEmitter { if (recentEmojis.length > MAXIMUM_RECENT_EMOJI) { recentEmojis.splice(0, recentEmojis.length - MAXIMUM_RECENT_EMOJI); } - localStorage.setItem(RECENT_EMOJI_KEY, JSON.stringify(recentEmojis)); + localStorage.setItem(Constants.RECENT_EMOJI_KEY, JSON.stringify(recentEmojis)); } getRecentEmojis() { - const result = JSON.parse(localStorage.getItem(RECENT_EMOJI_KEY)); + const result = JSON.parse(localStorage.getItem(Constants.RECENT_EMOJI_KEY)); if (!result) { return []; } diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx index 4f00a8559c..5b4ab6611d 100644 --- a/webapp/utils/constants.jsx +++ b/webapp/utils/constants.jsx @@ -903,6 +903,7 @@ export const Constants = { MIN_HASHTAG_LINK_LENGTH: 3, CHANNEL_SCROLL_ADJUSTMENT: 100, EMOJI_PATH: '/static/emoji', + RECENT_EMOJI_KEY: 'recentEmojis', DEFAULT_WEBHOOK_LOGO: logoWebhook, MHPNS: 'https://push.mattermost.com', MTPNS: 'http://push-test.mattermost.com',