diff --git a/app/assets/javascripts/app/models/post/interactions.js b/app/assets/javascripts/app/models/post/interactions.js index fdf38e959..8f15fc33c 100644 --- a/app/assets/javascripts/app/models/post/interactions.js +++ b/app/assets/javascripts/app/models/post/interactions.js @@ -102,7 +102,7 @@ app.models.Post.Interactions = Backbone.Model.extend({ this.post.reshare().save() .done(function(reshare) { - app.flashMessages.success(Diaspora.I18n.t("reshares.successful")); + app.flashMessages.success(Diaspora.I18n.t("reshares.successful")); interactions.reshares.add(reshare); if (app.stream && /^\/(?:stream|activity|aspects)/.test(app.stream.basePath())) { app.stream.addNow(reshare); diff --git a/app/assets/stylesheets/_flash_messages.scss b/app/assets/stylesheets/_flash_messages.scss index 99d494a7a..42ce1b4a1 100644 --- a/app/assets/stylesheets/_flash_messages.scss +++ b/app/assets/stylesheets/_flash_messages.scss @@ -1,4 +1,4 @@ -#flash-body { +.flash-body { left: 0; position: fixed; text-align: center; @@ -7,9 +7,9 @@ width: 100%; &.expose { @include animation(expose, 10s) } - #flash-message { + .flash-message { border-radius: 0; - box-shadow: $card-shadow; + box-shadow: 0 1px 4px rgba(0,0,0,0.8); display: inline-block; font-weight: bold; max-width: 800px; diff --git a/app/assets/stylesheets/animations.scss b/app/assets/stylesheets/animations.scss index f42ff32ef..52171102f 100644 --- a/app/assets/stylesheets/animations.scss +++ b/app/assets/stylesheets/animations.scss @@ -1,8 +1,8 @@ // flash message animations - header height is about 50px @keyframes expose { 0% { top: -100px; } - 15% { top: 44px; } - 85% { top: 44px; } + 12% { top: 50px; } + 88% { top: 50px; } 100% { top: -100px; } } diff --git a/app/assets/templates/flash_messages_tpl.jst.hbs b/app/assets/templates/flash_messages_tpl.jst.hbs index efe61b41c..109987147 100644 --- a/app/assets/templates/flash_messages_tpl.jst.hbs +++ b/app/assets/templates/flash_messages_tpl.jst.hbs @@ -1,5 +1,5 @@ -
-
+
+
{{ message }}
diff --git a/app/helpers/layout_helper.rb b/app/helpers/layout_helper.rb index 84eb4c069..3dab764f7 100644 --- a/app/helpers/layout_helper.rb +++ b/app/helpers/layout_helper.rb @@ -67,15 +67,9 @@ module LayoutHelper def flash_messages flash.map do |name, msg| - klass = if name == "alert" - "warning" - elsif name == "error" - "danger" - else - "success" - end - content_tag(:div, msg, id: "flash-body", class: "expose") do - content_tag(:div, msg, id: "flash-message", class: "message alert alert-#{klass}") + klass = flash_class name + content_tag(:div, msg, class: "flash-body expose") do + content_tag(:div, msg, class: "flash-message message alert alert-#{klass}") end end.join(' ').html_safe end diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb index 74f5695e7..65a9bdaf4 100644 --- a/app/helpers/sessions_helper.rb +++ b/app/helpers/sessions_helper.rb @@ -17,6 +17,6 @@ module SessionsHelper end def flash_class(name) - {notice: "success", alert: "warning", error: "danger"}[name.to_sym] + {notice: "success", alert: "danger", error: "danger"}[name.to_sym] end end diff --git a/app/views/sessions/new.mobile.haml b/app/views/sessions/new.mobile.haml index 0ae8bba47..799839fa5 100644 --- a/app/views/sessions/new.mobile.haml +++ b/app/views/sessions/new.mobile.haml @@ -10,7 +10,7 @@ #main_stream.stream - flash.each do |name, msg| .expose#flash-container - #flash-message{class: "message alert alert-#{flash_class name}"} + .flash-message{class: "message alert alert-#{flash_class name}"} = msg #login_form diff --git a/features/support/application_cuke_helpers.rb b/features/support/application_cuke_helpers.rb index 95e100120..0078d61fc 100644 --- a/features/support/application_cuke_helpers.rb +++ b/features/support/application_cuke_helpers.rb @@ -8,7 +8,7 @@ module ApplicationCukeHelpers end def flash_message_alert? - flash_message(selector: "warning").visible? + flash_message(selector: "danger").visible? end def flash_message_containing?(text) @@ -18,7 +18,7 @@ module ApplicationCukeHelpers def flash_message(opts={}) selector = opts.delete(:selector) selector &&= ".alert-#{selector}" - find(selector || "#flash-message", {match: :first}.merge(opts)) + find(selector || ".flash-message", {match: :first}.merge(opts)) end def confirm_form_validation_error(element) diff --git a/spec/javascripts/app/views/aspect_create_view_spec.js b/spec/javascripts/app/views/aspect_create_view_spec.js index cef1acf3f..a99e4d195 100644 --- a/spec/javascripts/app/views/aspect_create_view_spec.js +++ b/spec/javascripts/app/views/aspect_create_view_spec.js @@ -117,7 +117,7 @@ describe("app.views.AspectCreate", function() { it("should display a flash message", function() { this.view.createAspect(); jasmine.Ajax.requests.mostRecent().respondWith(this.response); - expect(this.view.$("#flash-message")).toBeSuccessFlashMessage( + expect(this.view.$(".flash-message")).toBeSuccessFlashMessage( Diaspora.I18n.t("aspects.create.success", {name: "new name"}) ); }); @@ -140,7 +140,7 @@ describe("app.views.AspectCreate", function() { it("should display a flash message", function() { this.view.createAspect(); jasmine.Ajax.requests.mostRecent().respondWith(this.response); - expect(this.view.$("#flash-message")).toBeErrorFlashMessage( + expect(this.view.$(".flash-message")).toBeErrorFlashMessage( Diaspora.I18n.t("aspects.create.failure") ); }); diff --git a/spec/javascripts/app/views/aspect_membership_view_spec.js b/spec/javascripts/app/views/aspect_membership_view_spec.js index 9e8d2ed0a..536834a9e 100644 --- a/spec/javascripts/app/views/aspect_membership_view_spec.js +++ b/spec/javascripts/app/views/aspect_membership_view_spec.js @@ -38,7 +38,7 @@ describe("app.views.AspectMembership", function(){ this.newAspect.trigger('click'); jasmine.Ajax.requests.mostRecent().respondWith(success); - expect(this.view.$("#flash-message")).toBeSuccessFlashMessage( + expect(this.view.$(".flash-message")).toBeSuccessFlashMessage( Diaspora.I18n.t("aspect_dropdown.started_sharing_with", {name: this.personName}) ); }); @@ -58,7 +58,7 @@ describe("app.views.AspectMembership", function(){ this.newAspect.trigger('click'); jasmine.Ajax.requests.mostRecent().respondWith(resp_fail); - expect(this.view.$("#flash-message")).toBeErrorFlashMessage( + expect(this.view.$(".flash-message")).toBeErrorFlashMessage( Diaspora.I18n.t("aspect_dropdown.error", {name: this.personName}) ); }); @@ -82,7 +82,7 @@ describe("app.views.AspectMembership", function(){ this.oldAspect.trigger('click'); jasmine.Ajax.requests.mostRecent().respondWith(success); - expect(this.view.$("#flash-message")).toBeSuccessFlashMessage( + expect(this.view.$(".flash-message")).toBeSuccessFlashMessage( Diaspora.I18n.t("aspect_dropdown.stopped_sharing_with", {name: this.personName}) ); }); @@ -102,7 +102,7 @@ describe("app.views.AspectMembership", function(){ this.oldAspect.trigger('click'); jasmine.Ajax.requests.mostRecent().respondWith(resp_fail); - expect(this.view.$("#flash-message")).toBeErrorFlashMessage( + expect(this.view.$(".flash-message")).toBeErrorFlashMessage( Diaspora.I18n.t("aspect_dropdown.error_remove", {name: this.personName}) ); }); diff --git a/spec/javascripts/app/views/comment_stream_view_spec.js b/spec/javascripts/app/views/comment_stream_view_spec.js index 06e2e4ae5..7578f7e5e 100644 --- a/spec/javascripts/app/views/comment_stream_view_spec.js +++ b/spec/javascripts/app/views/comment_stream_view_spec.js @@ -61,7 +61,7 @@ describe("app.views.CommentStream", function(){ this.request.respondWith({status: 500}); expect(this.view.$(".comment-content p").text()).not.toEqual("a new comment"); - expect(this.view.$("#flash-message")).toBeErrorFlashMessage("posting failed!"); + expect(this.view.$(".flash-message")).toBeErrorFlashMessage("posting failed!"); }); }); diff --git a/spec/javascripts/app/views/contact_view_spec.js b/spec/javascripts/app/views/contact_view_spec.js index a3390c305..57acbd406 100644 --- a/spec/javascripts/app/views/contact_view_spec.js +++ b/spec/javascripts/app/views/contact_view_spec.js @@ -88,7 +88,7 @@ describe("app.views.Contact", function(){ jasmine.Ajax.requests.mostRecent().respondWith({ status: 400 // fail }); - expect(this.view.$("#flash-message")).toBeErrorFlashMessage( + expect(this.view.$(".flash-message")).toBeErrorFlashMessage( Diaspora.I18n.t( "contacts.error_add", {name: this.model.get("person").name} ) ); }); @@ -151,7 +151,7 @@ describe("app.views.Contact", function(){ jasmine.Ajax.requests.mostRecent().respondWith({ status: 400 // fail }); - expect(this.view.$("#flash-message")).toBeErrorFlashMessage( + expect(this.view.$(".flash-message")).toBeErrorFlashMessage( Diaspora.I18n.t( "contacts.error_remove", {name: this.model.get("person").name}) ); }); diff --git a/spec/javascripts/app/views/flash_messages_view-spec.js b/spec/javascripts/app/views/flash_messages_view-spec.js index 4c5c31b9a..bcae20b2c 100644 --- a/spec/javascripts/app/views/flash_messages_view-spec.js +++ b/spec/javascripts/app/views/flash_messages_view-spec.js @@ -13,21 +13,21 @@ describe("app.views.FlashMessages", function(){ describe("render", function(){ beforeEach(function(){ - spec.content().html("
"); - flashMessages = new app.views.FlashMessages({ el: $("#flash-container") }); + spec.content().html("
"); + flashMessages = new app.views.FlashMessages({ el: $(".flash-container") }); }); it("renders a success message", function(){ flashMessages.success("success!"); - expect(flashMessages.$("#flash-body")).toHaveClass("expose"); - expect($("#flash-message")).toHaveClass("alert-success"); - expect($("#flash-message").text().trim()).toBe("success!"); + expect(flashMessages.$(".flash-body")).toHaveClass("expose"); + expect($(".flash-message")).toHaveClass("alert-success"); + expect($(".flash-message").text().trim()).toBe("success!"); }); it("renders an error message", function(){ flashMessages.error("error!"); - expect(flashMessages.$("#flash-body")).toHaveClass("expose"); - expect($("#flash-message")).toHaveClass("alert-danger"); - expect($("#flash-message").text().trim()).toBe("error!"); + expect(flashMessages.$(".flash-body")).toHaveClass("expose"); + expect($(".flash-message")).toHaveClass("alert-danger"); + expect($(".flash-message").text().trim()).toBe("error!"); }); }); }); diff --git a/spec/javascripts/app/views/pod_entry_view_spec.js b/spec/javascripts/app/views/pod_entry_view_spec.js index 592ea8530..35006f2b2 100644 --- a/spec/javascripts/app/views/pod_entry_view_spec.js +++ b/spec/javascripts/app/views/pod_entry_view_spec.js @@ -72,13 +72,13 @@ describe("app.views.PodEntry", function() { it("renders a success flash message", function() { this.view.recheckPod(); jasmine.Ajax.requests.mostRecent().respondWith(ajaxSuccess); - expect(this.view.$("#flash-message")).toBeSuccessFlashMessage(); + expect(this.view.$(".flash-message")).toBeSuccessFlashMessage(); }); it("renders an error flash message", function() { this.view.recheckPod(); jasmine.Ajax.requests.mostRecent().respondWith(ajaxFail); - expect(this.view.$("#flash-message")).toBeErrorFlashMessage(); + expect(this.view.$(".flash-message")).toBeErrorFlashMessage(); }); it("sets the appropriate CSS class", function() {