mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 14:17:22 +01:00
* Remove dead branch of ternary: `gift` is always truthy here Problem found here: - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/server/libs/amazonPayments.js?sort=name&dir=ASC&mode=heatmap&excluded=false#x5a22f31110a55091:1 * Remove superfluous argument, preenUserHistory only takes two args Problem found here: - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/server/libs/cron.js?sort=name&dir=ASC&mode=heatmap&excluded=false#xf16a045ecabb07f6:1 * Cleanup: remove useless assignments Problems found here: - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/store/actions/shops.js?sort=name&dir=ASC&mode=heatmap&excluded=false#xf782ed2cf920441%3A1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/app.vue?sort=name&dir=ASC&mode=heatmap&excluded=false#x172c1dda85e84dc8%3A1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/components/settings/site.vue#x9b3afee802a3a8f8%3A1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/client/components/selectMembersModal.vue?sort=name&dir=ASC&mode=heatmap&excluded=false#x1fbc2a3d62facd70:1 - https://lgtm.com/projects/g/HabitRPG/habitrpg/snapshot/dist-98076885-1510577633582/files/website/common/script/libs/taskClasses.js?sort=name&dir=ASC&mode=heatmap&excluded=false#x41ce0e121a4defee:1 * Fix online editor whitespace change.
84 lines
2.0 KiB
JavaScript
84 lines
2.0 KiB
JavaScript
import {
|
|
shouldDo,
|
|
} from '../cron';
|
|
import moment from 'moment';
|
|
|
|
/*
|
|
Task classes given everything about the class
|
|
*/
|
|
|
|
// TODO move to the client
|
|
|
|
module.exports = function taskClasses (task, filters = [], dayStart = 0, lastCron = Number(new Date()), showCompleted = false, main = false, processingYesterdailies = false) {
|
|
if (!task) {
|
|
return '';
|
|
}
|
|
let type = task.type;
|
|
let completed = task.completed;
|
|
let value = task.value;
|
|
let priority = task.priority;
|
|
|
|
if (main && !task._editing) {
|
|
for (let filter in filters) {
|
|
let enabled = filters[filter];
|
|
if (!task.tags) task.tags = [];
|
|
if (enabled && task.tags.indexOf(filter) === -1) {
|
|
return 'hidden';
|
|
}
|
|
}
|
|
}
|
|
|
|
let classes = task.type;
|
|
if (task._editing) {
|
|
classes += ' beingEdited';
|
|
}
|
|
|
|
if (type === 'todo' || type === 'daily') {
|
|
let dayShouldDo = moment();
|
|
if (processingYesterdailies) dayShouldDo.subtract(1, 'days');
|
|
let notDue = !shouldDo(Number(dayShouldDo), task, { dayStart });
|
|
let isNotDueDaily = type === 'daily' && notDue;
|
|
|
|
if (completed || isNotDueDaily) {
|
|
classes += ' completed';
|
|
} else {
|
|
classes += ' uncompleted';
|
|
}
|
|
} else if (type === 'habit') {
|
|
if (task.down && task.up) {
|
|
classes += ' habit-wide';
|
|
}
|
|
if (!task.down && !task.up) {
|
|
classes += ' habit-narrow';
|
|
}
|
|
}
|
|
|
|
if (priority === 0.1) {
|
|
classes += ' difficulty-trivial';
|
|
} else if (priority === 1) {
|
|
classes += ' difficulty-easy';
|
|
} else if (priority === 1.5) {
|
|
classes += ' difficulty-medium';
|
|
} else if (priority === 2) {
|
|
classes += ' difficulty-hard';
|
|
}
|
|
|
|
if (value < -20) {
|
|
classes += ' color-worst';
|
|
} else if (value < -10) {
|
|
classes += ' color-worse';
|
|
} else if (value < -1) {
|
|
classes += ' color-bad';
|
|
} else if (value < 1) {
|
|
classes += ' color-neutral';
|
|
} else if (value < 5) {
|
|
classes += ' color-good';
|
|
} else if (value < 10) {
|
|
classes += ' color-better';
|
|
} else {
|
|
classes += ' color-best';
|
|
}
|
|
|
|
return classes;
|
|
};
|