From 915174b513b8b7a49d5e1a1c2df0c149d3fefe70 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Mon, 16 Jan 2023 11:47:05 +0100 Subject: [PATCH] Do not stack same flash messages Very ugly in UI. --- .../javascripts/darkswarm/directives/flash.js.coffee | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/darkswarm/directives/flash.js.coffee b/app/assets/javascripts/darkswarm/directives/flash.js.coffee index 40337ed5f2..b5a5e7ef19 100644 --- a/app/assets/javascripts/darkswarm/directives/flash.js.coffee +++ b/app/assets/javascripts/darkswarm/directives/flash.js.coffee @@ -17,9 +17,12 @@ angular.module('Darkswarm').directive "ofnFlash", (flash, $timeout, RailsFlashLo # Callback when a new flash message is pushed to flash service show = (message, type)=> - if message - $scope.flashes.push({message: message, type: typePairings[type]}) - $timeout($scope.delete, 10000) + return unless message + # if same message already exists, don't add it again + return if $scope.flashes.some((flash) -> flash.message == message) + + $scope.flashes.push({message: message, type: typePairings[type]}) + $timeout($scope.delete, 10000) $scope.delete = -> $scope.flashes.shift()