Skip to content

Commit

Permalink
fix: show presenters' names in item card of workshop page
Browse files Browse the repository at this point in the history
  • Loading branch information
mh-zeynal committed Nov 27, 2023
1 parent feaab3d commit 554dfb4
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 15 deletions.
48 changes: 35 additions & 13 deletions frontend/src/pages/workshops/useWorkshopsPage.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ export default function useWorkshopsPage() {
presentationsData,
addToCartResponse,
addItemToCart,
teachersData,
getTeachersData,
presenterData,
getPresenterData,
setAddToCartResponse,
} = useAPI()

Expand Down Expand Up @@ -50,27 +54,45 @@ export default function useWorkshopsPage() {
useEffect(() => {
getWorkshopsData()
getPresentationsData()
getTeachersData()
getPresenterData()
}, [getPresentationsData, getWorkshopsData])

useEffect(() => {
if (workshopsData == null || presentationsData == null) return

const parsedData = workshopsData.concat(presentationsData).map(e => {
if ("is_full" in e && !("id" in e)) return null
if (workshopsData == null
|| presentationsData == null
|| teachersData == null
|| presenterData == null) return

const parsedData = workshopsData.concat(presentationsData).map(workshop => {
if ("is_full" in workshop && !("id" in workshop)) return null
if (workshop.year < 2023)
return
const item = {}
item["id"] = e.id
item["name"] = e.name
item["start_date"] = e.start_date
item["end_date"] = e.end_date
item["level"] = e.level
item.presenters = e.presenters ?? e.teachers
item["desc"] = e.desc
item["isWorkshop"] = !("presenters" in e)

const presenters = []
if (workshop.teachers) {
workshop.teachers.forEach(item => {
presenters.push(teachersData.filter(el => el.id === item)[0].name);
})
} else {
workshop.presenters.forEach(item => {
presenters.push(presenterData.filter(el => el.id === item)[0].name);
})
}
item.presenters = presenters

item["id"] = workshop.id
item["name"] = workshop.name
item["start_date"] = workshop.start_date
item["end_date"] = workshop.end_date
item["level"] = workshop.level
item["desc"] = workshop.desc
item["isWorkshop"] = !("presenters" in workshop)
return item
}).filter(e => e != null)
setParsedItemsList(parsedData)
}, [workshopsData, presentationsData])
}, [workshopsData, presentationsData, presenterData, teachersData])

const addToCart = useCallback(({
id,
Expand Down
5 changes: 3 additions & 2 deletions frontend/src/providers/APIProvider/APIProvider.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,9 @@ export function APIProvider({children}) {
})
}, [currentYear, service])

const getTeachersData = useCallback(async () => {
await service.get(`${URL.baseURL}${URL.services[currentYear]}${URL.endpoints.teacher}`)
const getTeachersData = useCallback(async (id) => {
if (id != null) id = id + "/"
await service.get(`${URL.baseURL}${URL.services[currentYear]}${URL.endpoints.teacher}${id ?? ""}`)
.then(response => setTeachersData(response.data))
}, [currentYear, service])

Expand Down

0 comments on commit 554dfb4

Please sign in to comment.