diff --git a/website/src/views/planner/PlannerYear.tsx b/website/src/views/planner/PlannerYear.tsx index cce9adb576..32224cfa1b 100644 --- a/website/src/views/planner/PlannerYear.tsx +++ b/website/src/views/planner/PlannerYear.tsx @@ -1,4 +1,4 @@ -import { PureComponent } from 'react'; +import { PureComponent, createRef } from 'react'; import classnames from 'classnames'; import { flatMap, size, sortBy, toPairs, values } from 'lodash'; @@ -28,11 +28,25 @@ type State = { }; export default class PlannerYear extends PureComponent { + readonly currentYearCardRef = createRef(); + override state = { // Always display Special Terms I and II if either one has modules showSpecialSem: this.hasSpecialTermModules(), }; + override componentDidMount() { + if (this.props.year !== config.academicYear) { + return; + } + const currentYearCard = this.currentYearCardRef.current; + if (currentYearCard) { + currentYearCard.scrollIntoView({ + inline: 'start', + }); + } + } + hasSpecialTermModules() { const { semesters } = this.props; return size(semesters[3]) > 0 || size(semesters[4]) > 0; @@ -73,6 +87,7 @@ export default class PlannerYear extends PureComponent { return (