{"version":3,"sources":["webpack:///./app/react/courses/common/constants.js","webpack:///./app/react/courses/endpoints.js","webpack:///./app/react/courses/hooks/useGetCourses.js"],"names":["routes","basePath","getCoursesUrl","page","limit","level","categoryId","materialType","useGetCourses","useQuery","xhr","url","method","then","res","courses","data","currentPage","Number","headers","totalPages","keepPreviousData","loadingCourses","isLoading","coursesData","refetchCourses","refetch","useGetCoursesCategories","unshift","name","id","loadingCategories","categories","useGetCourse","slug","param","courseData"],"mappings":"yGAAA,kCAAO,IAAMA,EAAS,CACpBC,SAAU,W,mKCDCC,G,MAAgB,SAAC,GAAD,QAC3BC,YAD2B,MACpB,EADoB,MAE3BC,aAF2B,MAEnB,GAFmB,EAG3BC,EAH2B,EAG3BA,MACAC,EAJ2B,EAI3BA,WACAC,EAL2B,EAK3BA,aAL2B,qCAOHJ,EAPG,kBAOWC,GAPX,OAQzBC,GAAmB,QAAVA,EAAT,iBAAqCA,GAAU,IARtB,OASxBC,GAA6B,QAAfA,EAAd,uBAAqDA,GAAe,IAT5C,OAUzBC,GAAiC,QAAjBA,EAAhB,kBAAoDA,GAAiB,MCLlE,SAASC,IAMP,IAAD,yDAAJ,GALFL,EAKM,EALNA,KACAE,EAIM,EAJNA,MACAC,EAGM,EAHNA,WACAC,EAEM,EAFNA,aACAH,EACM,EADNA,MAEA,EAIIK,YACF,CAAC,UAAWN,EAAME,EAAOC,EAAYC,IACrC,kBACEG,YAAI,CACFC,IAAKT,EAAc,CAAEC,OAAMC,QAAOE,aAAYD,QAAOE,iBACrDK,OAAQ,QACPC,MAAK,SAAAC,GAMN,MALa,CACXC,QAASD,EAAIE,KACbC,YAAaC,OAAOJ,EAAIK,QAAQ,WAChCC,WAAYF,OAAOJ,EAAIK,QAAQ,wBAIrC,CAAEE,kBAAkB,IAjBTC,EADb,EACEC,UACMC,EAFR,EAEER,KACSS,EAHX,EAGEC,QAkBF,MAAO,CACLJ,iBACAE,cACAC,kBAIG,SAASE,IACd,MAA2DlB,YACzD,qBACA,kBACEC,YAAI,CAAEC,IAAK,6BAA8BC,OAAQ,QAASC,MAAK,SAAAC,GAE7D,OADAA,EAAIE,KAAKY,QAAQ,CAAEC,KAAM,MAAOC,GAAI,KAC7BhB,EAAIE,WAIjB,MAAO,CACLe,kBAVF,EAAQR,UAWNS,WAXF,EAAsChB,MAejC,SAASiB,EAAT,GAAiC,IAATC,EAAQ,EAARA,KAC7B,EAAwCzB,YAAS,UAAU,kBACzDC,YAAI,CAAEC,KD7CmBwB,EC6CAD,ED7CK,0BAAuBC,IC6CrBvB,OAAQ,QAASC,MAAK,SAAAC,GACpD,OAAOA,EAAIE,QD9CY,IAAAmB,KCkD3B,MAAO,CACLZ,UAPF,EAAQA,UAQNa,WARF,EAAmBpB","file":"course~courses.db82dc6cfbc2d64e6cf4.chunk.js","sourcesContent":["export const routes = {\n basePath: '/packs',\n}\n\nexport default routes\n","export const getCoursesUrl = ({\n page = 1,\n limit = 50,\n level,\n categoryId,\n materialType,\n}) =>\n `/api/v1/courses?page=${page}&limit=${limit}${\n level && level !== 'all' ? `&level=${level}` : ''\n }${categoryId && categoryId !== 'all' ? `&category_id=${categoryId}` : ''}${\n materialType && materialType !== 'all' ? `&filter=${materialType}` : ''\n }`\n\nexport const showCourseUrl = param => `/api/v1/courses/${param}`\n","import { useQuery } from 'react-query'\nimport xhr from 'Common/utils/xhr'\n\nimport { getCoursesUrl, showCourseUrl } from '../endpoints'\n\nexport function useGetCourses({\n page,\n level,\n categoryId,\n materialType,\n limit,\n} = {}) {\n const {\n isLoading: loadingCourses,\n data: coursesData,\n refetch: refetchCourses,\n } = useQuery(\n ['courses', page, level, categoryId, materialType],\n () =>\n xhr({\n url: getCoursesUrl({ page, limit, categoryId, level, materialType }),\n method: 'get',\n }).then(res => {\n const data = {\n courses: res.data,\n currentPage: Number(res.headers['x-page']),\n totalPages: Number(res.headers['x-total-pages']),\n }\n return data\n }),\n { keepPreviousData: true }\n )\n\n return {\n loadingCourses,\n coursesData,\n refetchCourses,\n }\n}\n\nexport function useGetCoursesCategories() {\n const { isLoading: loadingCategories, data: categories } = useQuery(\n 'coursesCategories',\n () =>\n xhr({ url: '/api/v1/courses/categories', method: 'get' }).then(res => {\n res.data.unshift({ name: 'All', id: '' })\n return res.data\n })\n )\n\n return {\n loadingCategories,\n categories,\n }\n}\n\nexport function useGetCourse({ slug }) {\n const { isLoading, data: courseData } = useQuery('course', () =>\n xhr({ url: showCourseUrl(slug), method: 'get' }).then(res => {\n return res.data\n })\n )\n\n return {\n isLoading,\n courseData,\n }\n}\n"],"sourceRoot":""}