Skip to content
Snippets Groups Projects
Commit 665400f1 authored by danieldeng2's avatar danieldeng2
Browse files

Simpler logic for week headings

parent e97aab88
No related branches found
No related tags found
No related merge requests found
......@@ -17,46 +17,48 @@ const WeekHeading: React.FC<WeekHeadingProps> = ({
dateRangeEnd,
activeDay,
}) => {
const dateRangeStartMonth = new Intl.DateTimeFormat("en", {
return (
<Card className={styles.weekCard}>
<Card.Header>
<div className={styles.weekHeading}>Week {weekNumber}</div>
<div className={styles.weekDateRange}>
{formatDate(dateRangeStart, dateRangeEnd)}
</div>
</Card.Header>
<Card.Body>
{days.map((day, i) => {
return (
<div
key={day}
className={
activeDay.getDate() === dateRangeStart.getDate() + i
? styles.activeDay
: styles.dayIndicator
}
>
{day}
</div>
);
})}
</Card.Body>
</Card>
);
};
export default WeekHeading;
function formatDate(dateRangeStart: Date, dateRangeEnd: Date) {
const startMonth = new Intl.DateTimeFormat("en", {
month: "2-digit",
}).format(dateRangeStart);
const dateRangeStartDay = new Intl.DateTimeFormat("en", {
const startDay = new Intl.DateTimeFormat("en", {
day: "2-digit",
}).format(dateRangeStart);
const dateRangeEndMonth = new Intl.DateTimeFormat("en", {
const endMonth = new Intl.DateTimeFormat("en", {
month: "2-digit",
}).format(dateRangeEnd);
const dateRangeEndDay = new Intl.DateTimeFormat("en", {
const endDay = new Intl.DateTimeFormat("en", {
day: "2-digit",
}).format(dateRangeEnd);
return (
<>
<Card className={styles.weekCard}>
<Card.Header>
<div className={styles.weekHeading}>Week {weekNumber}</div>
<div className={styles.weekDateRange}>
{dateRangeStartDay}/{dateRangeStartMonth} - {dateRangeEndDay}/
{dateRangeEndMonth}
</div>
</Card.Header>
<Card.Body>
{days.map((day, i) => {
let isActive =
activeDay.getTime() === dateRangeStart.getTime() + i * 86400000;
return (
<div
key={day}
className={isActive ? styles.activeDay : styles.dayIndicator}
>
{day}
</div>
);
})}
</Card.Body>
</Card>
</>
);
};
export default WeekHeading;
return `${startDay}/${startMonth} - ${endDay}/${endMonth}`;
}
......@@ -33,7 +33,7 @@ class Timeline extends React.Component<TimelineProps, TimelineState> {
this.props.initSideBar();
let moduleTracks: ModuleTracks = {};
modulesList.forEach(({ code }) => {
moduleTracks[code] = [[], []];
moduleTracks[code] = [[], []];
});
this.setState({ moduleTracks: moduleTracks });
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment