chore: refactor

This commit is contained in:
doprz
2024-03-06 13:10:20 -06:00
parent cb3cb5d5fc
commit 07f75914bf
2 changed files with 21 additions and 33 deletions

View File

@@ -8,7 +8,7 @@
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
}, },
"[typescriptreact]": { "[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "vscode.typescript-language-features"
}, },
"[typescript]": { "[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"

View File

@@ -6,46 +6,34 @@ import { DAY_MAP } from 'src/shared/types/CourseMeeting';
const daysOfWeek = Object.values(DAY_MAP); const daysOfWeek = Object.values(DAY_MAP);
const hoursOfDay = Array.from({ length: 14 }, (_, index) => index + 8); const hoursOfDay = Array.from({ length: 14 }, (_, index) => index + 8);
const grid = Array.from({ length: 5 }, () => const grid = Array.from({ length: 5 }, () =>
Array.from({ length: 13 }, (_, columnIndex) => <CalendarCell key={columnIndex} />) Array.from({ length: 13 }, (_, columnIndex) => <CalendarCell key={columnIndex} />)
); );
/** /**
* Grid of CalendarGridCell components forming the user's course schedule calendar view * Grid of CalendarGridCell components forming the user's course schedule calendar view
* @param props * @param props
*/ */
const Calendar: React.FC = props => { const Calendar: React.FC = (props) => {
return ( return (
<div className={styles.calendar}> <div className={styles.calendar}>
<div className={styles.dayLabelContainer}></div> <div className={styles.dayLabelContainer}></div>
{daysOfWeek.map((day, dayIndex) => ( {daysOfWeek.map((day, dayIndex) => (
<div key={dayIndex} className={styles.day}> <div key={dayIndex} className={styles.day}>
<div className={styles.dayLabelContainer}> <div className={styles.dayLabelContainer}>
{/* Empty cell in the top-left corner */} <div className={styles.dayLabel}>{day}</div>
<div className={styles.day} /> </div>
{/* Displaying day labels */} {hoursOfDay.map((hour) => (
{daysOfWeek.map(day => ( <div key={`${day}-${hour}`} className={styles.timeBlock}>
<div key={day} className={styles.day}> <div className={styles.timeLabelContainer}>
{day} <span>{hour}:00</span>
</div> </div>
))} <CalendarCell />
</div>
{/* Displaying the rest of the calendar */}
<div className={styles.timeAndGrid}>
<div className={styles.timeColumn}>
{hoursOfDay.map(hour => (
<div key={hour} className={styles.timeBlock}>
<div className={styles.timeLabelContainer}>
<p>
{hour % 12 === 0 ? 12 : hour % 12}:00 {hour < 12 ? 'AM' : 'PM'}
</p>
</div>
</div>
))}
</div>
<div className={styles.calendarGrid}>{grid.map((row, rowIndex) => row)}</div>
</div> </div>
))}
</div> </div>
); ))}
</div>
);
}; };
export default Calendar; export default Calendar;