✨ Request new data on date change
This commit is contained in:
35
src/store.js
35
src/store.js
@ -63,12 +63,25 @@ export const parsedTimetable = computed(() => {
|
||||
});
|
||||
});
|
||||
|
||||
export async function fetchData() {
|
||||
const baseUrl = import.meta.env.VITE_API_ENDPOINT || "/api";
|
||||
const baseUrl = import.meta.env.VITE_API_ENDPOINT || "/api";
|
||||
|
||||
export async function fetchData() {
|
||||
const checkResponse = await fetch(`${baseUrl}/check`);
|
||||
if (checkResponse.status != 200) router.push("/login");
|
||||
|
||||
fetchClassList();
|
||||
fetchTimetable();
|
||||
fetchSubstitutions();
|
||||
fetchHistory();
|
||||
}
|
||||
|
||||
export async function fetchClassList() {
|
||||
const classListResponse = await fetch(`${baseUrl}/classes`);
|
||||
const classListData = await classListResponse.json();
|
||||
classList.value = classListData;
|
||||
}
|
||||
|
||||
export async function fetchTimetable() {
|
||||
const timetableResponse = await fetch(
|
||||
`${baseUrl}/timetable?class=${timetableClass.value}`
|
||||
);
|
||||
@ -77,27 +90,29 @@ export async function fetchData() {
|
||||
console.warn("API Error: " + timetableData.error);
|
||||
timetable.value = [];
|
||||
} else timetable.value = timetableData;
|
||||
}
|
||||
|
||||
export async function fetchSubstitutions() {
|
||||
const requestDate = `?date=${selectedDate.value.getTime()}`;
|
||||
const substitutionResponse = await fetch(
|
||||
substitutionFilter.value == "all"
|
||||
? `${baseUrl}/substitutions`
|
||||
: `${baseUrl}/substitutions?class=${substitutionFilter.value}`
|
||||
? `${baseUrl}/substitutions${requestDate}`
|
||||
: `${baseUrl}/substitutions${requestDate}&class=${substitutionFilter.value}`
|
||||
);
|
||||
const substitutionData = await substitutionResponse.json();
|
||||
substitutions.value = substitutionData;
|
||||
}
|
||||
|
||||
export async function fetchHistory() {
|
||||
const requestDate = `?date=${selectedDate.value.getTime()}`;
|
||||
const historyResponse = await fetch(
|
||||
substitutionFilter.value == "all"
|
||||
? `${baseUrl}/history`
|
||||
: `${baseUrl}/history?class=${substitutionFilter.value}`
|
||||
? `${baseUrl}/history${requestDate}`
|
||||
: `${baseUrl}/history${requestDate}&class=${substitutionFilter.value}`
|
||||
);
|
||||
const historyData = await historyResponse.json();
|
||||
if (historyData.error) console.warn("API Error: " + historyData.error);
|
||||
else history.value = historyData;
|
||||
|
||||
const classListResponse = await fetch(`${baseUrl}/classes`);
|
||||
const classListData = await classListResponse.json();
|
||||
classList.value = classListData;
|
||||
}
|
||||
|
||||
fetchData();
|
||||
|
Reference in New Issue
Block a user