Skip to content

Commit 257866e

Browse files
Meredith ZhangMeredith Zhang
authored andcommitted
Cleaned up comments and console.logs to put this issue on hiatus - current bug with switching ts around
1 parent 747ae8c commit 257866e

3 files changed

Lines changed: 37 additions & 4 deletions

File tree

‎client/src/App.tsx‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,7 @@ const App: React.FC = () => {
176176
* Retrieves term data from the scraper backend
177177
*/
178178
const fetchTermData = async () => {
179-
const { term, termName, year, firstDayOfTerm, termsData } = await getAvailableTermDetails(); // term is
180-
// switched after this. this be rpoblem.
179+
const { term, termName, year, firstDayOfTerm, termsData } = await getAvailableTermDetails();
181180
setTerm(term);
182181
setTermName(termName);
183182
setYear(year);

‎client/src/constants/timetable.ts‎

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { gql } from '@apollo/client';
22
import { isWithinInterval, parse } from 'date-fns';
3-
3+
import { getTermsWithClassData } from '../utils/getTermsWithClassData';
44
import { client } from '../api/config';
55
import NetworkError from '../interfaces/NetworkError';
66
import { Term, TermDataList } from '../interfaces/Periods';
@@ -113,6 +113,38 @@ export const convertToTermName = (termId: string) => {
113113
}
114114
};
115115

116+
const getTermToDisplay = async (
117+
termInfoMap: Map<Term, TermDateDetails>,
118+
119+
): Promise<Term> => {
120+
121+
// (CURRENTLY BUGGED) Prioritise last selected term
122+
if (localStorage.getItem('currSelectedTerm')) {
123+
const storedTerm = localStorage.getItem('currSelectedTerm');
124+
125+
if (storedTerm) {
126+
const currSelectedTerm = JSON.parse(storedTerm)
127+
return currSelectedTerm.term
128+
129+
}
130+
131+
}
132+
133+
// (TODO) If no selected term, display the latest term the user has timetable data for
134+
135+
// If no class data, display the latest term with timetable data
136+
137+
const keys_term = sortTerms(Array.from(termInfoMap.keys()));
138+
const termsWithData = await getTermsWithClassData(keys_term)
139+
140+
if (termsWithData && termsWithData.length > 0) {
141+
return termsWithData[termsWithData.length - 1]
142+
}
143+
144+
// Default to T1 in case there are 0 terms with course data
145+
return keys_term[1]
146+
};
147+
116148
/**
117149
* @returns The details of the latest term there is data for
118150
*/
@@ -135,7 +167,8 @@ export const getAvailableTermDetails = async () => {
135167

136168
try {
137169
const termMapInfo = await constructTermDetailsMap();
138-
const currTermId = await get_current_term(termMapInfo);
170+
const currTermId = await getTermToDisplay(termMapInfo);
171+
console.log(" curr term id" + currTermId);
139172
firstDayOfTerm =
140173
termMapInfo.get(currTermId)?.startDate?.toLocaleDateString().split('/').reverse().join('-') || 'default-date';
141174

‎client/src/context/UserContext.tsx‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ const UserContextProvider = ({ children }: UserContextProviderProps) => {
149149
throw new NetworkError("Couldn't get response for user information!");
150150
}
151151
} catch (error) {
152+
setUser(undefinedUser);
152153
console.log(error);
153154
}
154155
};

0 commit comments

Comments
 (0)