From dac0878b8c9d469809ea1184f5abcb142c4fdfb4 Mon Sep 17 00:00:00 2001 From: jweste25 Date: Tue, 23 Apr 2024 21:23:00 -0400 Subject: [PATCH] feat: Add term helper functions --- apps/applicant-tracking/src/utils/terms.ts | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 apps/applicant-tracking/src/utils/terms.ts diff --git a/apps/applicant-tracking/src/utils/terms.ts b/apps/applicant-tracking/src/utils/terms.ts new file mode 100644 index 0000000..00213fb --- /dev/null +++ b/apps/applicant-tracking/src/utils/terms.ts @@ -0,0 +1,32 @@ +type TermSemester = 'Spring' | 'Fall'; +export type Term = `${TermSemester} ${number}`; + +export function getCurrentTerm(): Term { + const date = new Date(); + const semester: TermSemester = date.getMonth() < 6? 'Spring' : 'Fall'; + const year = date.getFullYear(); + return `${semester} ${year}`; +} + +export function getNextTerm(term: Term): Term { + let [semester, year] = getCurrentTerm().split(' '); + + if(semester == 'Spring') { + return `Fall ${parseInt(year)}`; + } else { + let newYear = parseInt(year) + 1; + return `Spring ${newYear}`; + } +} + +export function getPreviousTerm(term: Term): Term { + let [semester, year] = getCurrentTerm().split(' '); + + if(semester == 'Spring') { + let previousYear = parseInt(year) - 1; + return `Fall ${previousYear}`; + } else { + return `Spring ${parseInt(year)}`; + } +} +