diff --git a/app.vue b/app.vue index 1e93348..f19ff5a 100644 --- a/app.vue +++ b/app.vue @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/components/home-page/Suggested-courses.vue b/components/home-page/Suggested-courses.vue index 3e90ff1..325678b 100644 --- a/components/home-page/Suggested-courses.vue +++ b/components/home-page/Suggested-courses.vue @@ -28,7 +28,8 @@ > دوره های پیشنهادی -
+
diff --git a/layouts/profile.vue b/layouts/profile.vue index 50f21b5..31bc240 100644 --- a/layouts/profile.vue +++ b/layouts/profile.vue @@ -324,8 +324,6 @@ async function logout(){ .scrol::-webkit-scrollbar { display: none; } - - /* Hide scrollbar for IE, Edge and Firefox */ .scrol { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ diff --git a/pages/account/profile.vue b/pages/account/profile.vue index f528cf7..2383f85 100644 --- a/pages/account/profile.vue +++ b/pages/account/profile.vue @@ -131,15 +131,13 @@ const { authUser } = useAuth(); const loading = ref(false) const edit = async(formData) => { - console.log('form :',formData); try { loading.value = true; await $fetch('/api/user/update', { method: 'PUT', body: formData }) - // toast.success("ویرایش اطلاعات شما باموفقیت انجام شد"); - location.reload() + location.reload() } catch (error) { toast.error(error) } finally { diff --git a/pages/account/tickets.vue b/pages/account/tickets.vue index 04c5db4..b10a5b7 100644 --- a/pages/account/tickets.vue +++ b/pages/account/tickets.vue @@ -406,7 +406,6 @@ const sendTicket = async () => { load() addTicketForm.value = false; subject.value = null; - console.log('تیکت',data); }; diff --git a/pages/courses/index.vue b/pages/courses/index.vue index a307bdd..211cef5 100644 --- a/pages/courses/index.vue +++ b/pages/courses/index.vue @@ -67,7 +67,34 @@ /> -
+

همه دسته بندی ها

+

{{slide.name}}

+ +
+ + + +
+

محصولی جهت نمایش وجود ندارد !!!

+
- + + + + +
+
+ مرتب سازی بر اساس + + + +
+ + +
@@ -312,23 +422,19 @@ const query = ref({}); const router = useRouter(); const route = useRoute(); const pageNumber = ref(0); -const tedad = ref(0) -console.log('tedad 1', tedad.value); + const paginationLength = ref(0); query.value = route.query; -//console.log(route.query.page); pageNumber.value = route.query.hasOwnProperty('page') ? route.query.page : 1 const { data, refresh, pending } = await useFetch(() => "/api/course", { method: "POST", query: query, }); -watch(data => { - if (Object.keys(route.query).length == 0) { - query.value = {}, - refresh() -} -}) + + + + paginationLength.value = Math.ceil(data.value.count / 2); function changePage(page) { pageNumber.value = page; @@ -352,7 +458,7 @@ function prevPage(){ } } function nextPage(num){ - if (pageNumber.value < 7) { + if (pageNumber.value < paginationLength.value) { pageNumber.value++ query.value = { ...route.query, page: pageNumber }; @@ -364,23 +470,60 @@ function nextPage(num){ } } + + + +function removeCategory(){ + if (query.value.hasOwnProperty("category")) { + delete query.value.category; + } + if (query.value.hasOwnProperty("page")) { + delete query.value.page; + } + if (query.value.hasOwnProperty("price")) { + delete query.value.price; + } + router.push({ + path: "/courses", + query: query.value, + }); + pageNumber.value = 1 + refresh() +} + + + + const categoryLis = await useFetch("/api/category"); const categories = categoryLis.data.value; + function selectCategory(id) { query.value = { ...route.query, category: id }; if (query.value.hasOwnProperty("page")) { delete query.value.page; } + if (id === '') { + if (query.value.hasOwnProperty("category")) { + delete query.value.category; + } + + } router.push({ path: "/courses", query: query.value, }); + pageNumber.value = 1 refresh(); + watch(data , () => { + paginationLength.value = Math.ceil(data.value.count / 2); +}) } + + + function sortByHandler(param){ - console.log(param); query.value = { ...route.query, price: param }; if (param === '') { @@ -389,6 +532,7 @@ function sortByHandler(param){ } } + router.push({ path: "/courses", query: query.value, @@ -397,11 +541,6 @@ function sortByHandler(param){ } -watch(data , () => { - paginationLength.value = Math.ceil(data.value.count / 2); - -}) - const openSortOptions = () => { if (process.client) { @@ -415,6 +554,20 @@ const openSortOptions = () => { "brightness(90%)"; } }; +const closeSortOptions = () => { + if (process.client) { + document.getElementById("brightnessFilter").style.filter = "none"; + document.getElementById("brightnessFilter").style.backdropFilter = "none"; + document.getElementById("filters").classList.add("translate-y-[80.769vw]"); + document + .getElementsByTagName("html")[0] + .classList.remove("overflow-hidden"); + } +}; + + + + @@ -427,4 +580,12 @@ const openSortOptions = () => { height: 0.01vw; top: 2vw; } +.scrol::-webkit-scrollbar { + display: none; +} +.scrol { + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ +} + \ No newline at end of file diff --git a/server/api/course.js b/server/api/course.js index d331fcf..a397958 100644 --- a/server/api/course.js +++ b/server/api/course.js @@ -1,39 +1,24 @@ export default defineEventHandler(async (event) => { const { public: { apiBase } } = useRuntimeConfig(); - const query = getQuery(event); - console.log('server query :',query); - // const category = '/category/' + query.category - let category = query.hasOwnProperty('category') ? `categoryId=${query.category}` : ''; - let page = query.hasOwnProperty('page') ? `page=${query.page}` : ''; - let sortBy = query.hasOwnProperty('price') ? `price=${query.price}` : ''; - // const category = 'categoryId=66587ae698d0a0db14693a5e' - // const page = 'page=1' - try { - const data = await $fetch(`${apiBase}/course?${category}&${page}&${sortBy}&pageSize=2`, { + const query = getQuery(event); + let category = query.hasOwnProperty('category') ? `categoryId=${query.category}` : ''; + let page = query.hasOwnProperty('page') ? `page=${query.page}` : ''; + // let sortBy = query.hasOwnProperty('sortBy') ? `price=${query.price}` : ''; + let price = query.hasOwnProperty('price') ? `price=${query.price}` : ''; + try { + const data = await $fetch(`${apiBase}/course?${category}&${page}&pageSize=2&${price}`, { method: 'GET', headers: { 'Accept': 'application/json', + 'content-type': 'application/json' + } }); return data; } catch (error) { + console.log('err :', error); return error; } -}) - - - - -// const page = ref(0); - -// const { data, refresh } = await useFetch(() => '/api/global', { -// query: { url: '/orders', page }, -// headers: useRequestHeaders(['cookie']) -// }) - -// function paginate(value) { -// page.value = value; -// refresh() -// } \ No newline at end of file +}); \ No newline at end of file diff --git a/server/api/ticket/id.js b/server/api/ticket/id.js index 37e0ed2..a42814f 100644 --- a/server/api/ticket/id.js +++ b/server/api/ticket/id.js @@ -3,7 +3,6 @@ export default defineEventHandler(async (event) => { const { public: { apiBase } } = useRuntimeConfig(); const token = getCookie(event, 'token'); const body = await readBody(event); - console.log('badane :', body); try { const data = await $fetch(`${apiBase}/ticket/${body.id}`, { method: 'GET', diff --git a/server/api/ticket/index.js b/server/api/ticket/index.js index a45a85c..e7d3eab 100644 --- a/server/api/ticket/index.js +++ b/server/api/ticket/index.js @@ -3,7 +3,6 @@ export default defineEventHandler(async (event) => { const { public: { apiBase } } = useRuntimeConfig(); const token = getCookie(event, 'token'); const body = await readBody(event); -console.log(body); try { const data = await $fetch(`${apiBase}/ticket`, { method: 'POST', diff --git a/server/api/user/update.js b/server/api/user/update.js index 44ceebb..a6fb858 100644 --- a/server/api/user/update.js +++ b/server/api/user/update.js @@ -2,7 +2,6 @@ export default defineEventHandler(async (event) => { const body = await readBody(event); const { public: { apiBase } } = useRuntimeConfig(); const token = getCookie(event, 'token'); - console.log(body); try { const data = await $fetch(`${apiBase}/user/update`, { method: 'PUT',