feat: batch categories filter

This commit is contained in:
Jannat Patel
2024-07-15 13:45:38 +05:30
parent 15330cb41d
commit 7ae9244896
6 changed files with 129 additions and 38 deletions

View File

@@ -134,29 +134,30 @@ let tabs
const makeTabs = computed(() => {
tabs = []
addToTabs('Live', getCourses('live'))
addToTabs('New', getCourses('new'))
addToTabs('Upcoming', getCourses('upcoming'))
addToTabs('Live')
addToTabs('New')
addToTabs('Upcoming')
if (user.data) {
addToTabs('Enrolled', getCourses('enrolled'))
addToTabs('Enrolled')
if (
user.data.is_moderator ||
user.data.is_instructor ||
courses.data?.created?.length
) {
addToTabs('Created', getCourses('created'))
addToTabs('Created')
}
if (user.data.is_moderator) {
addToTabs('Under Review', getCourses('under_review'))
addToTabs('Under Review')
}
}
return tabs
})
const addToTabs = (label, courses) => {
const addToTabs = (label) => {
let courses = getCourses(label.toLowerCase().split(' ').join('_'))
tabs.push({
label,
courses: computed(() => courses),
@@ -166,8 +167,12 @@ const addToTabs = (label, courses) => {
const getCourses = (type) => {
if (searchQuery.value) {
return courses.data[type].filter((course) =>
course.title.toLowerCase().includes(searchQuery.value.toLowerCase())
let query = searchQuery.value.toLowerCase()
return courses.data[type].filter(
(course) =>
course.title.toLowerCase().includes(query) ||
course.short_introduction.toLowerCase().includes(query) ||
course.tags.filter((tag) => tag.toLowerCase().includes(query)).length
)
}
return courses.data[type]