diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js index b38b7a457..54ed0b753 100644 --- a/dev/Model/FolderCollection.js +++ b/dev/Model/FolderCollection.js @@ -10,6 +10,7 @@ import * as Local from 'Storage/Client'; import { AppUserStore } from 'Stores/User/App'; import { FolderUserStore } from 'Stores/User/Folder'; +import { MessageUserStore } from 'Stores/User/Message'; import { SettingsUserStore } from 'Stores/User/Settings'; import ko from 'ko'; @@ -252,6 +253,9 @@ export class FolderModel extends AbstractModel { isInbox: () => FolderType.Inbox === folder.type(), + isFlagged: () => FolderUserStore.currentFolder() === folder + && MessageUserStore.listSearch().trim().includes('is:flagged'), + hasSubscribedSubfolders: () => !!folder.subFolders().find( oFolder => { diff --git a/dev/Stores/User/Message.js b/dev/Stores/User/Message.js index 92bca8528..408cd5bd0 100644 --- a/dev/Stores/User/Message.js +++ b/dev/Stores/User/Message.js @@ -31,7 +31,7 @@ import { PgpUserStore } from 'Stores/User/Pgp'; import { SettingsUserStore } from 'Stores/User/Settings'; import { NotificationUserStore } from 'Stores/User/Notification'; -import Remote from 'Remote/User/Fetch'; +//import Remote from 'Remote/User/Fetch'; Circular dependency const hcont = Element.fromHTML('
'), @@ -617,7 +617,7 @@ export const MessageUserStore = new class { if (oMessage) { preload || this.hideMessageBodies(); preload || this.messageLoading(true); - Remote.message((iError, oData, bCached) => { + rl.app.Remote.message((iError, oData, bCached) => { if (iError) { if (Notification.RequestAborted !== iError && !preload) { this.message(null); diff --git a/dev/Styles/User/FolderList.less b/dev/Styles/User/FolderList.less index 9801cfdde..fe825b5f8 100644 --- a/dev/Styles/User/FolderList.less +++ b/dev/Styles/User/FolderList.less @@ -175,15 +175,15 @@ right: 0; } - .inbox-star-icon { + .flag-icon { margin-left: 7px; } - .inbox-star-icon::after { + .flag-icon::after { content:'☆'; opacity: .5; } - &.inbox-is-starred { - .inbox-star-icon::after { + .is-flagged { + .flag-icon::after { color: orange; content:'★'; opacity: 1; diff --git a/dev/View/User/MailBox/FolderList.js b/dev/View/User/MailBox/FolderList.js index 588fb40a7..daf327a15 100644 --- a/dev/View/User/MailBox/FolderList.js +++ b/dev/View/User/MailBox/FolderList.js @@ -40,13 +40,6 @@ export class FolderListMailBoxUserView extends AbstractViewLeft { this.allowContacts = AppUserStore.allowContacts(); this.folderListFocused = ko.computed(() => Scope.FolderList === AppUserStore.focusedState()); - - this.isInboxStarred = ko.computed( - () => - FolderUserStore.currentFolder() && - FolderUserStore.currentFolder().isInbox() && - MessageUserStore.listSearch().trim().includes('is:flagged') - ); } onBuild(dom) { @@ -93,7 +86,7 @@ export class FolderListMailBoxUserView extends AbstractViewLeft { setFolderHash(folder.fullNameRaw, ''); } - rl.route.setHash((eqs(event, '.b-folders li a.selectable .inbox-star-icon') && !this.isInboxStarred()) + rl.route.setHash((eqs(event, '.b-folders li a.selectable .flag-icon') && !folder.isFlagged()) ? mailBox(folder.fullNameHash, 1, 'is:flagged') : mailBox(folder.fullNameHash) ); diff --git a/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html b/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html index 0fa1be24d..423bfa0bb 100644 --- a/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html +++ b/snappymail/v/0.0.0/app/templates/Views/User/MailFolderList.html @@ -1,4 +1,4 @@ -