You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/store/index.ts
+29-29Lines changed: 29 additions & 29 deletions
Original file line number
Diff line number
Diff line change
@@ -25,33 +25,33 @@ export default createStore({
25
25
*/
26
26
tasks: []asTask[],
27
27
user: {
28
-
level: 1asnumber,//set level to 1 as total XP is 0 when state is created
29
-
xp: 0asnumber,//set xp to 0 when state is created
30
-
progress: 0asnumber,//set level progress to 0 percent when state is created
31
-
score: 0asnumber,//set score to 0 when state is created
32
-
rating: 0asnumber,//set rating to 0 when state is created
28
+
level: 1asnumber,//set the level to 1 as total XP is 0 when state is created
29
+
xp: 0asnumber,//set the xp to 0 when state is created
30
+
progress: 0asnumber,//set the level progress to 0 percent when state is created
31
+
score: 0asnumber,//set the score to 0 when state is created
32
+
rating: 0asnumber,//set the rating to 0 when state is created
33
33
bestScoreEarned: 0asnumber,//the highest number of points earned achieved when the task is completed
34
34
dailyStreak: 0asnumber,//set daily streak to 0 and last completion date to undefined when state is created
35
35
tasksCompletedToday: 0asnumber,//set the number of tasks completed in a day (today) to 0
36
36
totalTasksCompleted: 0asnumber,//set the total number of tasks completed to 0
37
-
lastCompletionDate: undefinedasstring|undefined,//last completion date in YYYY-MM-DD string
37
+
lastCompletionDate: undefinedasstring|undefined,//task last completion date in YYYY-MM-DD string
38
38
},
39
39
},
40
40
getters: {
41
41
/**
42
42
* Getter methods for tasks with tasks and user data.
43
43
*/
44
44
getTasks: (state)=>state.tasks,//get the task list
45
-
getXp: (state)=>state.user.xp,//get user XP
46
-
getLevel: (state)=>state.user.level,//get user level
47
-
getProgress: (state)=>state.user.progress,//get user level progress
48
-
getScore: (state)=>state.user.score,//get user score
49
-
getRating: (state)=>state.user.rating,//get user rating
50
-
getDailyStreak: (state)=>state.user.dailyStreak,//get user daily streak
51
-
getTasksCompletedToday: (state)=>state.user.tasksCompletedToday,//get user tasks completed in a day
52
-
getTotalTasksCompleted: (state)=>state.user.totalTasksCompleted,//get user total tasks completed
53
-
getLastCompletionDate: (state)=>state.user.lastCompletionDate,//get user last completion date
54
-
getBestScoreEarned: (state)=>state.user.bestScoreEarned,//get the user best score earned when the task is completed
45
+
getXp: (state)=>state.user.xp,//get the user XP
46
+
getLevel: (state)=>state.user.level,//get the user level
47
+
getProgress: (state)=>state.user.progress,//get the user level progress
48
+
getScore: (state)=>state.user.score,//get the user score
49
+
getRating: (state)=>state.user.rating,//get the user rating
50
+
getDailyStreak: (state)=>state.user.dailyStreak,//get the user daily streak
51
+
getTasksCompletedToday: (state)=>state.user.tasksCompletedToday,//get the user tasks completed in a day
52
+
getTotalTasksCompleted: (state)=>state.user.totalTasksCompleted,//get the user total tasks completed
53
+
getLastCompletionDate: (state)=>state.user.lastCompletionDate,//get the user last completion date
54
+
getBestScoreEarned: (state)=>state.user.bestScoreEarned,//get the user the best score earned when the task is completed
55
55
},
56
56
mutations: {
57
57
/**
@@ -68,7 +68,7 @@ export default createStore({
68
68
);//calculate the number of days until the task is due
69
69
letdateMultiplier: number;
70
70
if(daysToDue<0){
71
-
//if the task is overdue, XP and score multiplier is less than 1 that decreases over time when the task is overdue
71
+
//if the task is overdue, XP and score multiplier are less than 1 that decreases over time when the task is overdue
72
72
dateMultiplier=-2/(daysToDue-1);
73
73
}elseif(daysToDue===0){
74
74
//if the task is due today, XP and score multiplier bonus increases more than 2 based on the time the task is completed
@@ -107,7 +107,7 @@ export default createStore({
107
107
letactiveTasksMultiplier: number;//calculate score multiplier for number of active tasks (tasks that are not completed)
108
108
//calculate task repetition XP multiplier
109
109
if(Number(task.repeatInterval)===1){
110
-
//if task repetition interval is daily
110
+
//if the task repetition interval is daily
111
111
if(task.repeatEvery<7){
112
112
//7 days is 1 week
113
113
repeatMultiplier=1+(task.repeatEvery-1)/(7-1);//1x XP multiplier for daily tasks (1 day) to 2x XP multiplier for weekly tasks (7 days)
@@ -121,7 +121,7 @@ export default createStore({
121
121
repeatMultiplier=5-365/task.repeatEvery;//4x XP multiplier for yearly tasks (approximately 365 days) to 5x XP multiplier for one-time tasks
122
122
}
123
123
}elseif(Number(task.repeatInterval)===2){
124
-
//if task repetition interval is weekly
124
+
//if the task repetition interval is weekly
125
125
if(task.repeatEvery<4){
126
126
//approximately 4 weeks is 1 month
127
127
repeatMultiplier=2+(task.repeatEvery-1)/(4-1);//2x XP multiplier for weekly tasks (1 week) to 3x XP multiplier for monthly tasks (approximately 4 weeks)
repeatMultiplier=5-52/task.repeatEvery;//4x XP multiplier for yearly tasks (approximately 52 weeks) to 5x XP multiplier for one-time tasks
133
133
}
134
134
}elseif(Number(task.repeatInterval)===3){
135
-
//if task repetition interval is monthly
135
+
//if the task repetition interval is monthly
136
136
if(task.repeatEvery<12){
137
137
//12 months is 1 year
138
138
repeatMultiplier=3+(task.repeatEvery-1)/(12-1);//3x XP multiplier for monthly tasks (1 month) to 4x XP multiplier for yearly tasks (12 months)
139
139
}else{
140
140
repeatMultiplier=5-12/task.repeatEvery;//4x XP multiplier for yearly tasks (12 months) to 5x XP multiplier for one-time tasks
141
141
}
142
142
}elseif(Number(task.repeatInterval)===4){
143
-
//if task repetition interval is yearly
143
+
//if the task repetition interval is yearly
144
144
repeatMultiplier=5-1/task.repeatEvery;//4x XP multiplier for yearly tasks (1 year) to 5x XP multiplier for one-time tasks
145
145
}else{
146
-
//if task repetition interval is one-time
146
+
//if the task repetition interval is one-time
147
147
repeatMultiplier=5;//get 5x XP multiplier for one-time tasks
148
148
}
149
149
//calculate task streak
@@ -220,7 +220,7 @@ export default createStore({
220
220
dailyStreakMultiplier=9.783;//9.783x daily streak XP multiplier from 3,652 daily streaks (approximately 10 years)
221
221
}
222
222
constpreviousCompletionDate: string|undefined=
223
-
state.user.lastCompletionDate;//set previous completion date to last completion date
223
+
state.user.lastCompletionDate;//set the previous completion date to last completion date
224
224
//set the last completion date to today
225
225
state.user.lastCompletionDate=newDate(
226
226
newDate().setMinutes(
@@ -244,7 +244,7 @@ export default createStore({
244
244
(1+Math.log(Math.max(overdueTasks+1,1))),
245
245
0,
246
246
);//decrease user rating for each day of inactivity
247
-
state.user.rating=Math.max(state.user.rating,0);//make sure rating is not below 0
247
+
state.user.rating=Math.max(state.user.rating,0);//make sure the rating is not below 0
248
248
}
249
249
}
250
250
//calculate task streak XP multiplier
@@ -638,7 +638,7 @@ export default createStore({
638
638
),
639
639
1,
640
640
);//get at least 1 point when the task is completed
641
-
state.user.score+=pointsEarned;//get amount of points earned based on task difficulty, task priority, task due date, task repetition, task streak, daily streak, user level and rank multipliers
641
+
state.user.score+=pointsEarned;//get the amount of points earned based on task difficulty, task priority, task due date, task repetition, task streak, daily streak, user level and rank multipliers
642
642
if(pointsEarned>state.user.bestScoreEarned){
643
643
//if points earned are greater than the best score earned
644
644
state.user.bestScoreEarned=pointsEarned;//set the best score earned to points earned when the task is completed
@@ -700,7 +700,7 @@ export default createStore({
700
700
}else{
701
701
item.timesCompleted++;//increment number of times tasks has been completed by 1
0 commit comments