From 90c2a97aa7139fb59464039f61e27fae23971edd Mon Sep 17 00:00:00 2001 From: Scott Nonnenberg Date: Tue, 20 Aug 2019 12:34:52 -0700 Subject: [PATCH] Address alpha feedback --- js/views/conversation_view.js | 11 +++++----- js/views/inbox_view.js | 8 +++++++ package.json | 3 ++- stylesheets/_modules.scss | 10 ++++++++- ts/components/MainHeader.tsx | 15 +++++++------ ts/components/conversation/Timeline.tsx | 15 ++++++------- ts/state/ducks/conversations.ts | 24 ++++++++++++++++++--- ts/state/selectors/search.ts | 6 +++--- ts/util/lint/exceptions.json | 28 ++++++++++++------------- 9 files changed, 78 insertions(+), 42 deletions(-) diff --git a/js/views/conversation_view.js b/js/views/conversation_view.js index 387c300bff..cc1c833bf7 100644 --- a/js/views/conversation_view.js +++ b/js/views/conversation_view.js @@ -186,7 +186,7 @@ this.maybeGrabLinkPreview.bind(this), 200 ); - this.debouncedSaveDraft = _.debounce(this.saveDraft.bind(this), 200); + this.debouncedSaveDraft = _.debounce(this.saveDraft.bind(this), 2000); this.render(); @@ -2149,6 +2149,7 @@ try { this.unload('delete messages'); await this.model.destroyMessages(); + Whisper.events.trigger('unloadConversation', this.model.id); this.model.updateLastMessage(); } catch (error) { window.log.error( @@ -2421,10 +2422,10 @@ }, async saveDraft(messageText) { - if ( - (this.model.get('draft') && !messageText) || - messageText.length === 0 - ) { + const trimmed = + messageText && messageText.length > 0 ? messageText.trim() : ''; + + if ((this.model.get('draft') && !messageText) || trimmed.length === 0) { this.model.set({ draft: null, }); diff --git a/js/views/inbox_view.js b/js/views/inbox_view.js index b2f47b5ecb..e39ec58754 100644 --- a/js/views/inbox_view.js +++ b/js/views/inbox_view.js @@ -47,6 +47,11 @@ // Make sure poppers are positioned properly window.dispatchEvent(new Event('resize')); }, + onUnload(conversationId) { + if (this.lastConversation.id === conversationId) { + this.lastConversation = null; + } + }, }); Whisper.AppLoadingScreen = Whisper.View.extend({ @@ -75,6 +80,9 @@ el: this.$('.conversation-stack'), model: { window: options.window }, }); + Whisper.events.on('unloadConversation', conversationId => { + this.conversation_stack.onUnload(conversationId); + }); if (!options.initialLoadComplete) { this.appLoadingScreen = new Whisper.AppLoadingScreen(); diff --git a/package.json b/package.json index fdf3ebff34..71ce341ba2 100644 --- a/package.json +++ b/package.json @@ -202,7 +202,8 @@ } ], "target": [ - "zip", "dmg" + "zip", + "dmg" ], "bundleVersion": "1" }, diff --git a/stylesheets/_modules.scss b/stylesheets/_modules.scss index dcb3a37779..9e52d4af95 100644 --- a/stylesheets/_modules.scss +++ b/stylesheets/_modules.scss @@ -2410,7 +2410,7 @@ border: solid 1px $color-gray-15; padding-left: 30px; - padding-right: 30px; + padding-right: 5px; color: $color-gray-90; font-size: 14px; @@ -2425,6 +2425,10 @@ } } +.module-main-header__search__input--with-text { + padding-right: 30px; +} + .module-main-header__search__input--in-conversation { padding-left: 50px; } @@ -2453,6 +2457,10 @@ display: flex; flex-direction: row; align-items: center; + + // Overriding some default button styling + border: none; + padding: 0; } .module-main-header__search__in-conversation-pill__avatar-container { margin-left: 4px; diff --git a/ts/components/MainHeader.tsx b/ts/components/MainHeader.tsx index f9a1cc4976..fc7a8d4c53 100644 --- a/ts/components/MainHeader.tsx +++ b/ts/components/MainHeader.tsx @@ -197,15 +197,15 @@ export class MainHeader extends React.Component { />
{searchConversationId ? ( -
+
+
+ ) : (