mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
Fixed every x weekly
This commit is contained in:
@@ -128,15 +128,14 @@ export function shouldDo (day, dailyTask, options = {}) {
|
|||||||
} else if (dailyTask.frequency === 'weekly') {
|
} else if (dailyTask.frequency === 'weekly') {
|
||||||
let schedule = moment(startDate).recur();
|
let schedule = moment(startDate).recur();
|
||||||
|
|
||||||
if (dailyTask.everyX > 1) {
|
let differenceInWeeks = moment(day).week() - moment(startDate).week();
|
||||||
schedule = schedule.every(dailyTask.everyX).weeks();
|
let matchEveryX = differenceInWeeks % dailyTask.everyX === 0;
|
||||||
}
|
|
||||||
|
|
||||||
schedule = schedule.every(daysOfTheWeek).daysOfWeek();
|
schedule = schedule.every(daysOfTheWeek).daysOfWeek();
|
||||||
|
|
||||||
if (options.nextDue) return schedule.fromDate(startOfDayWithCDSTime).next(3);
|
if (options.nextDue) return schedule.fromDate(startOfDayWithCDSTime).next(3);
|
||||||
|
|
||||||
return schedule.matches(startOfDayWithCDSTime);
|
return schedule.matches(startOfDayWithCDSTime) && matchEveryX;
|
||||||
} else if (dailyTask.frequency === 'monthly') {
|
} else if (dailyTask.frequency === 'monthly') {
|
||||||
let schedule = moment(startDate).recur();
|
let schedule = moment(startDate).recur();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user