1- import { autorun , makeAutoObservable } from 'mobx' ;
1+ import { autorun , computed , makeAutoObservable , toJS } from 'mobx' ;
22import { v4 as uuid } from 'uuid' ;
33import TaskService from './TaskService' ;
44import TaskModel , { ITimeRangeModel } from './models/TaskModel' ;
5- import {
6- Task ,
7- TasksByProject ,
8- } from '../../modules/tasks/models/TasksByProject' ;
5+ import { Task , TasksByProject } from './models/TasksByProject' ;
96import TreeModelHelper from '../../helpers/TreeModelHelper' ;
107import BadgeService from '../BadgeService' ;
118import rootStore , { RootStore } from '../RootStore' ;
@@ -18,9 +15,12 @@ import {
1815import { DEFAULT_PROJECT_ID } from '../projects/models/ProjectModel' ;
1916import throttle from '../../helpers/Throttle' ;
2017import { THROTTLE_SAVE_JSON_MS } from '../../config' ;
18+ import { findSuggestionsByProject } from './utils' ;
19+ import { Suggestion , SuggestionsByProject } from './models/TasksTypes' ;
2120
2221export default class TaskStore {
2322 tasks : TasksByProject = { } ;
23+ suggestions : SuggestionsByProject = { } ;
2424 activeTask : TaskModel | undefined ;
2525 versionHash = uuid ( ) ;
2626 private tasksService = new TaskService ( ) ;
@@ -65,6 +65,14 @@ export default class TaskStore {
6565 return this . tasks [ projectId ] || [ ] ;
6666 }
6767
68+ suggestionsForProject = computed < Suggestion [ ] > ( ( ) => {
69+ const { activeProject } = this . rootStore . projectStore ;
70+ if ( activeProject in this . suggestions ) {
71+ return this . suggestions [ activeProject ] ?? [ ] ;
72+ }
73+ return [ ] ;
74+ } ) ;
75+
6876 getTaskByKey ( taskKey : string ) : TaskModel | undefined {
6977 function condition ( task : TaskModel ) : boolean {
7078 return task . key === taskKey ;
@@ -163,6 +171,8 @@ export default class TaskStore {
163171
164172 restore ( ) {
165173 this . tasks = this . tasksService . getAll ( ) ;
174+ this . suggestions = findSuggestionsByProject ( this . tasks ) ;
175+ console . log ( toJS ( this . suggestions ) ) ;
166176 this . findAndSetActiveTask ( ) ;
167177 this . setupReminder ( this . activeTask ) ;
168178 }
0 commit comments