diff --git a/Changelog.md b/Changelog.md index 2ac86920b56da08122444f677c02d19a4ad284c6..85667ef29cb853aff163caaa73a17892c619c2b4 100644 --- a/Changelog.md +++ b/Changelog.md @@ -10,6 +10,7 @@ * Fix indentation and a link title on the default home page [#6212](https://github.com/diaspora/diaspora/pull/6212) * Bring peeping Tom on the 404 page back [#6226](https://github.com/diaspora/diaspora/pull/6226) * Fix mobile photos index page [#6243](https://github.com/diaspora/diaspora/pull/6243) +* Fix conversations view with no contacts [#6266](https://github.com/diaspora/diaspora/pull/6266) ## Features diff --git a/app/assets/javascripts/app/views/conversations_form_view.js b/app/assets/javascripts/app/views/conversations_form_view.js index d1d2a3e323eb9de5e40a8823e9ad038f40b645f7..5289241dc8848fbbbcdc1cf8c96f6da86f6662e3 100644 --- a/app/assets/javascripts/app/views/conversations_form_view.js +++ b/app/assets/javascripts/app/views/conversations_form_view.js @@ -8,6 +8,10 @@ app.views.ConversationsForm = Backbone.View.extend({ initialize: function(opts) { this.contacts = _.has(opts, "contacts") ? opts.contacts : null; + if(!this.contacts || this.contacts.length === 0) { + this.displayNoContactsMessage(); + return; + } this.prefill = []; if (_.has(opts, "prefillName") && _.has(opts, "prefillValue")) { this.prefill = [{name : opts.prefillName, @@ -31,6 +35,12 @@ app.views.ConversationsForm = Backbone.View.extend({ }).focus(); }, + displayNoContactsMessage: function() { + $("form#new_conversation").replaceWith( + "<div class=\"well text-center\">" + Diaspora.I18n.t("conversation.new.no_contacts") + "</div>" + ); + }, + keyDown : function(evt) { if( evt.keyCode === 13 && evt.ctrlKey ) { $(evt.target).parents("form").submit(); diff --git a/app/assets/stylesheets/conversations.scss b/app/assets/stylesheets/conversations.scss index f37a0d3c1ff3989489056b2b748eadc075b7b346..fba151f6eb983ae27e86076b8a1fb6b883cc6276 100644 --- a/app/assets/stylesheets/conversations.scss +++ b/app/assets/stylesheets/conversations.scss @@ -202,6 +202,11 @@ #conversation_new { label { font-weight: bold; } + + .well { + font-weight: bold; + margin-top: 25px; + } } #no_conversations, diff --git a/config/locales/javascript/javascript.en.yml b/config/locales/javascript/javascript.en.yml index d856b716f02ae005009e7f381c0d7a0a3a1adef6..c7f01c680ed63a4154da639aef36524ca4033587 100644 --- a/config/locales/javascript/javascript.en.yml +++ b/config/locales/javascript/javascript.en.yml @@ -158,6 +158,8 @@ en: conversation: participants: "Participants" + new: + no_contacts: "You need to add some contacts before you can start a conversation." notifications: mark_read: "Mark read" diff --git a/features/desktop/conversations.feature b/features/desktop/conversations.feature index b9fc82d28ccb8f0766396dbf6cfd29811e54ad41..d1186ae6b7bc294e2446e95e7474d6fe2d075a76 100644 --- a/features/desktop/conversations.feature +++ b/features/desktop/conversations.feature @@ -8,10 +8,16 @@ Feature: private conversations Given a user named "Robert Grimm" with email "bob@bob.bob" And a user named "Alice Awesome" with email "alice@alice.alice" And a user with username "robert_grimm" is connected with "alice_awesome" - When I sign in as "bob@bob.bob" + + Scenario: open the conversations page without any contacts + Given a user with email "eve@eve.eve" + When I sign in as "eve@eve.eve" + And I am on the conversations page + Then I should see "You need to add some contacts before you can start a conversation" Scenario: send a message - Given I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome" + When I sign in as "bob@bob.bob" + And I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome" Then I should see "Greetings" within "#conversation_inbox" And I should see "Greetings" within "#conversation_show" And I should see "less than a minute ago" within "#conversation_inbox" @@ -26,7 +32,8 @@ Feature: private conversations Then I should see "hey, how you doing?" within ".stream_container" Scenario: send a message using keyboard shortcuts - Given I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome" using keyboard shortcuts + When I sign in as "bob@bob.bob" + And I send a message with subject "Greetings" and text "hello, alice!" to "Alice Awesome" using keyboard shortcuts Then I should see "Greetings" within "#conversation_inbox" And I should see "Greetings" within "#conversation_show" And "Alice Awesome" should be part of active conversation