From c47a83e14ffa8b3d4c27c67a27b74c43fab325de Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Fri, 14 Feb 2020 12:41:29 +0100 Subject: [PATCH] Switch to fomantic's toast componant for service messages --- front/src/components/ServiceMessages.vue | 78 +----------------------- front/src/components/common/Message.vue | 36 +++++------ front/src/main.js | 2 +- front/src/semantic.js | 1 + front/src/store/ui.js | 12 +++- front/src/style/_main.scss | 11 +--- front/tests/unit/specs/store/ui.spec.js | 17 ------ 7 files changed, 32 insertions(+), 125 deletions(-) delete mode 100644 front/tests/unit/specs/store/ui.spec.js diff --git a/front/src/components/ServiceMessages.vue b/front/src/components/ServiceMessages.vue index 4e53be241..a7fad93a5 100644 --- a/front/src/components/ServiceMessages.vue +++ b/front/src/components/ServiceMessages.vue @@ -1,83 +1,11 @@ - - diff --git a/front/src/components/common/Message.vue b/front/src/components/common/Message.vue index bbde16a12..e837faa4e 100644 --- a/front/src/components/common/Message.vue +++ b/front/src/components/common/Message.vue @@ -1,33 +1,25 @@ - diff --git a/front/src/main.js b/front/src/main.js index 917e105b2..cea2d095f 100644 --- a/front/src/main.js +++ b/front/src/main.js @@ -117,7 +117,7 @@ axios.interceptors.response.use(function (response) { store.commit("ui/addMessage", { content: message, date: new Date(), - level: 'error', + class: 'error', }) logger.default.error('This client is rate-limited!', rateLimitStatus) } else if (error.response.status === 500) { diff --git a/front/src/semantic.js b/front/src/semantic.js index 206b59149..279997f3d 100644 --- a/front/src/semantic.js +++ b/front/src/semantic.js @@ -18,6 +18,7 @@ require('fomantic-ui-css/components/site.min.js') require('fomantic-ui-css/components/state.min.js') require('fomantic-ui-css/components/sticky.min.js') // require('fomantic-ui-css/components/tab.min.js') +require('fomantic-ui-css/components/toast.min.js') require('fomantic-ui-css/components/transition.min.js') // require('fomantic-ui-css/components/video.min.js') require('fomantic-ui-css/components/visibility.min.js') diff --git a/front/src/store/ui.js b/front/src/store/ui.js index 1146e5201..195458d2f 100644 --- a/front/src/store/ui.js +++ b/front/src/store/ui.js @@ -153,11 +153,21 @@ export default { state.theme = value }, addMessage (state, message) { - state.messages.push(message) + let finalMessage = { + displayTime: state.messageDisplayDuration, + key: String(new Date()), + ...message, + } + state.messages.push(finalMessage) if (state.messages.length > state.maxMessages) { state.messages.shift() } }, + removeMessage (state, key) { + state.messages = state.messages.filter((m) => { + return m.key != key + }) + }, notifications (state, {type, count}) { state.notifications[type] = count }, diff --git a/front/src/style/_main.scss b/front/src/style/_main.scss index 3ffea3528..365e1da22 100644 --- a/front/src/style/_main.scss +++ b/front/src/style/_main.scss @@ -70,6 +70,7 @@ @import "~fomantic-ui-css/components/sticky.css"; @import "~fomantic-ui-css/components/tab.css"; @import "~fomantic-ui-css/components/text.css"; +@import "~fomantic-ui-css/components/toast.css"; @import "~fomantic-ui-css/components/transition.css"; @@ -108,7 +109,7 @@ html { flex-direction: column; &.has-bottom-player { padding-bottom: $bottom-player-height; - .service-messages { + .toast-container { bottom: $bottom-player-height + 1rem; } @@ -173,14 +174,6 @@ html { } } -.service-messages { - position: fixed; - bottom: 1em; - right: 1em; - > .ui.message { - box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.7); - } -} .main-pusher { padding: 1.5rem 0; } diff --git a/front/tests/unit/specs/store/ui.spec.js b/front/tests/unit/specs/store/ui.spec.js deleted file mode 100644 index 2f810e064..000000000 --- a/front/tests/unit/specs/store/ui.spec.js +++ /dev/null @@ -1,17 +0,0 @@ -import {expect} from 'chai' -import store from '@/store/ui' - -describe('store/ui', () => { - describe('mutations', () => { - it('addMessage', () => { - const state = {maxMessages: 100, messages: []} - store.mutations.addMessage(state, 'hello') - expect(state.messages).to.deep.equal(['hello']) - }) - it('addMessage', () => { - const state = {maxMessages: 1, messages: ['hello']} - store.mutations.addMessage(state, 'world') - expect(state.messages).to.deep.equal(['world']) - }) - }) -})