From 5c986338a873c0ac042fb3d76a2baeeec2110d69 Mon Sep 17 00:00:00 2001 From: Baptiste Grob <60621355+baptiste-grob@users.noreply.github.com> Date: Wed, 23 Sep 2020 13:41:26 +0200 Subject: [PATCH] fix: wait for CompletedFullSync before showing "No Notes." --- app/assets/javascripts/views/notes/notes-view.pug | 5 ++++- app/assets/javascripts/views/notes/notes_view.ts | 11 ++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/views/notes/notes-view.pug b/app/assets/javascripts/views/notes/notes-view.pug index 46ae7b372..3ddad8dd6 100644 --- a/app/assets/javascripts/views/notes/notes-view.pug +++ b/app/assets/javascripts/views/notes/notes-view.pug @@ -95,8 +95,11 @@ label="'Date'" ) p.empty-notes-list.faded( - ng-if="self.state.localDataLoaded && !self.state.renderedNotes.length" + ng-if="self.state.completedFullSync && !self.state.renderedNotes.length" ) No notes. + p.empty-notes-list.faded( + ng-if="!self.state.completedFullSync && !self.state.renderedNotes.length" + ) Loading notes… .scrollable(ng-if="self.state.renderedNotes.length") #notes-scrollable.infinite-scroll( can-load='true', diff --git a/app/assets/javascripts/views/notes/notes_view.ts b/app/assets/javascripts/views/notes/notes_view.ts index 65b006e63..062aeeb3a 100644 --- a/app/assets/javascripts/views/notes/notes_view.ts +++ b/app/assets/javascripts/views/notes/notes_view.ts @@ -34,7 +34,7 @@ type NotesState = { hideDate?: boolean noteFilter: { text: string } mutable: { showMenu: boolean } - localDataLoaded: boolean + completedFullSync: boolean [WebPrefKey.TagsPanelWidth]?: number [WebPrefKey.NotesPanelWidth]?: number [WebPrefKey.EditorWidth]?: number @@ -127,7 +127,7 @@ class NotesViewCtrl extends PureViewCtrl<{}, NotesState> { mutable: { showMenu: false }, noteFilter: { text: '' }, panelTitle: '', - localDataLoaded: false, + completedFullSync: false, }; } @@ -167,6 +167,9 @@ class NotesViewCtrl extends PureViewCtrl<{}, NotesState> { case ApplicationEvent.SignedIn: this.appState.closeAllEditors(); this.selectFirstNote(); + this.setState({ + completedFullSync: false, + }); break; case ApplicationEvent.CompletedFullSync: this.getMostValidNotes().then((notes) => { @@ -174,10 +177,8 @@ class NotesViewCtrl extends PureViewCtrl<{}, NotesState> { this.createPlaceholderNote(); } }); - break; - case ApplicationEvent.LocalDataLoaded: this.setState({ - localDataLoaded: true, + completedFullSync: true, }); break; }