Skip to content

Commit

Permalink
Added study count for each subject instead of min and max
Browse files Browse the repository at this point in the history
  • Loading branch information
Eng-Bunnys authored Feb 27, 2025
1 parent e93cc96 commit 8ca98e1
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 4 deletions.
12 changes: 10 additions & 2 deletions GBF v3/GBF/Timers/TimerStats.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,15 @@ export class TimerStats {
return this.timerData.currentSemester.semesterSubjects.length || 0;
}

public getMostStudiedSubject(): string {
public getSubjectsInOrder(): { subjectName: string; timesStudied: number }[] {
return this.timerData.currentSemester.semesterSubjects.length > 0
? [...this.timerData.currentSemester.semesterSubjects].sort(
(a, b) => b.timesStudied - a.timesStudied
)
: [];
}

/* public getMostStudiedSubject(): string {
return this.timerData.currentSemester.semesterSubjects.length > 0
? this.timerData.currentSemester.semesterSubjects.reduce(
(prev, current) =>
Expand Down Expand Up @@ -124,7 +132,7 @@ export class TimerStats {
prev.timesStudied < current.timesStudied ? prev : current
).timesStudied
: 0;
}
} */

public getAverageStudyTimePerSubject(): number {
return this.timerData.currentSemester.semesterSubjects.length > 0
Expand Down
16 changes: 14 additions & 2 deletions GBF v3/GBF/Timers/Timers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ export class Timers {

subjectDetails += `• Total study instances across all subjects: ${timerStats.getTotalTimesStudied()}\n`;

subjectDetails += `• Most Studied Subject: ${
/* subjectDetails += `• Most Studied Subject: ${
timerStats.getMostStudiedSubject() !== "No Data"
? timerStats.getMostStudiedSubject()
: "N/A"
Expand All @@ -468,7 +468,19 @@ export class Timers {
timerStats.getLeastStudiedSubject() !== "No Data"
? timerStats.getLeastStudiedSubject()
: "N/A"
} [${timerStats.getLeastStudiedCount()}]\n`;
} [${timerStats.getLeastStudiedCount()}]\n`; */

const orderedSubjects = timerStats.getSubjectsInOrder();

if (orderedSubjects.length > 0) {
subjectDetails += "**\nSubject Stats**\n";
orderedSubjects.forEach(
(subject) =>
(subjectDetails += `• ${subject.subjectName} [${subject.timesStudied}]\n`)
);
} else {
subjectDetails += "**Subject Stats**\nN/A\n";
}

subjectDetails += `• Average Study Time Per Subject: ${
timerStats.getAverageStudyTimePerSubject() !== 0
Expand Down

0 comments on commit 8ca98e1

Please sign in to comment.