feat: redesign Exams List page to show submitted custom exams

- Added Custom Exams tab showing all exams from Generation page
- Displays title, module badges, duration, and status
- Added Create Exam button
- Kept Exam Sessions tab for institutional sessions
- Search filters across exams

Made-with: Cursor
This commit is contained in:
Yamen Ahmad
2026-04-12 11:07:54 +04:00
parent 677ba85c77
commit 1e688107fa
22591 changed files with 3100321 additions and 95 deletions

36
node_modules/date-fns/isSameHour.mjs generated vendored Normal file
View File

@@ -0,0 +1,36 @@
import { startOfHour } from "./startOfHour.mjs";
/**
* @name isSameHour
* @category Hour Helpers
* @summary Are the given dates in the same hour (and same day)?
*
* @description
* Are the given dates in the same hour (and same day)?
*
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
*
* @param dateLeft - The first date to check
* @param dateRight - The second date to check
*
* @returns The dates are in the same hour (and same day)
*
* @example
* // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour?
* const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 6, 30))
* //=> true
*
* @example
* // Are 4 September 2014 06:00:00 and 5 September 06:00:00 in the same hour?
* const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 5, 6, 0))
* //=> false
*/
export function isSameHour(dateLeft, dateRight) {
const dateLeftStartOfHour = startOfHour(dateLeft);
const dateRightStartOfHour = startOfHour(dateRight);
return +dateLeftStartOfHour === +dateRightStartOfHour;
}
// Fallback for modularized imports:
export default isSameHour;