diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts index 09d9332..f00b6db 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts @@ -6,9 +6,16 @@ export const load: PageServerLoad = async ({ params, fetch, cookies, url, parent const sortBy = url.searchParams.get("article_sort"); const filterBy = url.searchParams.get("article_filter"); - const parameters = new URLSearchParams(); + const { website, home } = await parent(); - const baseFetchUrl = `${API_BASE_PREFIX}/article?website_id=eq.${params.websiteId}&select=id,title`; + let baseFetchUrl = `${API_BASE_PREFIX}/article?website_id=eq.${params.websiteId}&select=id,title`; + let docsSortString = ""; + if (website.content_type === "Docs") { + baseFetchUrl += ",docs_category(category_name,category_weight)"; + docsSortString = "docs_category(category_weight).desc,"; + } + + const parameters = new URLSearchParams(); if (searchQuery) { parameters.append("title_description_search", `wfts(english).${searchQuery}`); @@ -17,16 +24,16 @@ export const load: PageServerLoad = async ({ params, fetch, cookies, url, parent switch (sortBy) { case null: case "creation-time": - parameters.append("order", "created_at.desc"); + parameters.append("order", `${docsSortString}created_at.desc`); break; case "last-modified": - parameters.append("order", "last_modified_at.desc"); + parameters.append("order", `${docsSortString}last_modified_at.desc`); break; case "title-a-to-z": - parameters.append("order", "title.asc"); + parameters.append("order", `${docsSortString}title.asc`); break; case "title-z-to-a": - parameters.append("order", "title.desc"); + parameters.append("order", `${docsSortString}title.desc`); break; } @@ -63,7 +70,6 @@ export const load: PageServerLoad = async ({ params, fetch, cookies, url, parent }); const articles = await articlesData.json(); - const { website, home } = await parent(); return { totalArticleCount, diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte index a1fdebb..60e4ee1 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte @@ -86,10 +86,31 @@