73 lines
2.2 KiB
TypeScript
73 lines
2.2 KiB
TypeScript
import moment from "moment";
|
|
import { Assignment } from "@/interfaces/results";
|
|
|
|
// export const futureAssignmentFilter = (a: Assignment) => {
|
|
// if(a.archived) return false;
|
|
// if(a.start) return false;
|
|
|
|
// const currentDate = moment();
|
|
// const startDate = moment(a.startDate);
|
|
// if(currentDate.isAfter(startDate)) return false;
|
|
// if(a.autoStart && a.autoStartDate) {
|
|
// return moment(a.autoStartDate).isAfter(currentDate);
|
|
// }
|
|
// return false;
|
|
// }
|
|
|
|
export const futureAssignmentFilter = (a: Assignment) => {
|
|
const currentDate = moment();
|
|
if (moment(a.endDate).isBefore(currentDate)) return false;
|
|
if (a.archived) return false;
|
|
|
|
if (a.autoStart && a.autoStartDate && moment(a.autoStartDate).isBefore(currentDate)) return false;
|
|
|
|
if (!a.start) {
|
|
if (moment(a.startDate).isBefore(currentDate)) return false;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
export const pastAssignmentFilter = (a: Assignment) => {
|
|
const currentDate = moment();
|
|
if (a.archived) {
|
|
return false;
|
|
}
|
|
|
|
return moment(a.endDate).isBefore(currentDate);
|
|
}
|
|
|
|
export const archivedAssignmentFilter = (a: Assignment) => a.archived;
|
|
|
|
export const activeAssignmentFilter = (a: Assignment) => {
|
|
const currentDate = moment();
|
|
if (moment(a.endDate).isBefore(currentDate) || a.archived) return false;
|
|
|
|
if (a.start) return true;
|
|
if (a.autoStart && a.autoStartDate) return moment(a.autoStartDate).isBefore(currentDate);
|
|
|
|
return currentDate.isAfter(moment(a.startDate));
|
|
};
|
|
|
|
// export const unstartedAssignmentFilter = (a: Assignment) => {
|
|
// const currentDate = moment();
|
|
// if(moment(a.endDate).isBefore(currentDate)) return false;
|
|
// if(a.archived) return false;
|
|
|
|
// if(a.autoStart && a.autoStartDate && moment(a.autoStartDate).isBefore(currentDate)) return false;
|
|
|
|
// if(!a.start) {
|
|
// if(moment(a.startDate).isBefore(currentDate)) return false;
|
|
// return true;
|
|
// }
|
|
// return false;
|
|
// }
|
|
|
|
export const startHasExpiredAssignmentFilter = (a: Assignment) => {
|
|
const currentDate = moment();
|
|
if (a.archived) return false;
|
|
if (a.start) return false;
|
|
if (currentDate.isAfter(moment(a.startDate)) && currentDate.isBefore(moment(a.endDate))) return true;
|
|
return false;
|
|
}
|