11import { makeAutoObservable } from 'mobx' ;
2+ import { ipcRenderer } from 'electron' ;
23
34import TaskService from './TaskService' ;
45import TaskModel , { ITimeRangeModel } from '../../models/TaskModel' ;
56import TasksByProject from '../../models/TasksByProject' ;
67import TreeModelStoreHelper from '../../base/TreeModelStoreHelper' ;
8+ import BadgeService from '../BadgeService' ;
79
810export default class TaskStore {
911 tasks : TasksByProject = { } ;
@@ -118,7 +120,7 @@ export default class TaskStore {
118120
119121 restore ( ) {
120122 this . tasks = this . tasksService . getAll ( ) ;
121- this . findActiveTask ( ) ;
123+ this . findAndSetActiveTask ( ) ;
122124 this . setupReminder ( this . activeTask ) ;
123125 }
124126
@@ -146,15 +148,14 @@ export default class TaskStore {
146148 this . tasksService . save ( this . tasks ) ;
147149 }
148150
149- private findActiveTask ( ) {
150- Object . keys ( this . tasks ) . find ( ( projectId ) => {
151- const found = this . findActiveTaskRecursive ( this . tasks [ projectId ] ) ;
151+ private findAndSetActiveTask ( ) {
152+ for ( const tasks of Object . values ( this . tasks ) ) {
153+ const found = this . findActiveTaskRecursive ( tasks ) ;
152154 if ( found ) {
153155 this . activeTask = found ;
154- return true ;
156+ break ;
155157 }
156- return false ;
157- } ) ;
158+ }
158159 }
159160
160161 private findActiveTaskRecursive ( tasks : TaskModel [ ] ) : TaskModel | undefined {
@@ -179,6 +180,7 @@ export default class TaskStore {
179180 clearInterval ( this . interval ) ;
180181 }
181182 if ( task ) {
183+ BadgeService . setBadge ( true ) ;
182184 console . log ( 'Setup: Task in progress' ) ;
183185 this . interval = setInterval ( ( ) => {
184186 console . log ( 'Task in progress' ) ;
@@ -187,6 +189,7 @@ export default class TaskStore {
187189 } ) ;
188190 } , 40 * 60 * 1000 ) ;
189191 } else {
192+ BadgeService . setBadge ( false ) ;
190193 console . log ( 'Setup: No tasks in progress' ) ;
191194 this . interval = setInterval ( ( ) => {
192195 console . log ( 'No tasks in progress' ) ;
0 commit comments