From 41950a923f9151e929f7f522d63b21717a3c5e82 Mon Sep 17 00:00:00 2001 From: EETagent Date: Thu, 12 Jan 2023 13:43:00 +0100 Subject: [PATCH] fix: repair broken filtering --- .../(authenticated)/dashboard/+page.svelte | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/frontend/src/routes/(admin)/admin/(authenticated)/dashboard/+page.svelte b/frontend/src/routes/(admin)/admin/(authenticated)/dashboard/+page.svelte index f68f497..d0f1388 100644 --- a/frontend/src/routes/(admin)/admin/(authenticated)/dashboard/+page.svelte +++ b/frontend/src/routes/(admin)/admin/(authenticated)/dashboard/+page.svelte @@ -16,39 +16,45 @@ let candidates: Array = data.preview; - const getCandidates = async (field?: string) => { + const getCandidates = async () => { try { - candidates = await apiListCandidates( - undefined, - field ?? activeFilter !== 'Vše' ? activeFilter : '' - ); + candidates = await apiListCandidates(undefined, activeFilter.filter); } catch { console.log('error'); } }; - type Filter = 'Vše' | 'KBB' | 'IT' | 'GYM'; + type Class = 'Vše' | 'KBB' | 'IT' | 'GYM'; - let filters: Array = ['Vše', 'KBB', 'IT', 'GYM']; + type Filter = { + class: Class; + filter: string | undefined; + }; + + let filters: Array = [ + { + class: 'Vše', + filter: undefined + }, + { + class: 'KBB', + filter: 'KB' + }, + { + class: 'IT', + filter: 'IT' + }, + { + class: 'GYM', + filter: 'G' + } + ]; let activeFilter: Filter = filters[0]; - const changeFilter = (filter: Filter) => { + const changeFilter = async (filter: Filter) => { activeFilter = filter; - switch (activeFilter) { - case 'Vše': - getCandidates(); - break; - case 'KBB': - getCandidates('KB'); - break; - case 'IT': - getCandidates('IT'); - break; - case 'GYM': - getCandidates('G'); - break; - } + await getCandidates(); }; let scrollTop = 0; @@ -112,7 +118,7 @@ {#each filters as filter}
- +
{/each}