From 25c40c03ae0c0eb28a25396870ded7dbe4addd4d Mon Sep 17 00:00:00 2001 From: iamrishupatel Date: Sat, 10 Jun 2023 11:01:17 +0530 Subject: [PATCH] feat: Filter boards UI --- .../components/BoardFilter.component.svelte | 75 +++++++++++++++++++ .../common/Dropdown/Dropdown.component.svelte | 1 - src/lib/enums/App.enums.ts | 8 ++ src/routes/+page.svelte | 19 ++++- 4 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 src/lib/components/BoardFilter.component.svelte create mode 100644 src/lib/enums/App.enums.ts diff --git a/src/lib/components/BoardFilter.component.svelte b/src/lib/components/BoardFilter.component.svelte new file mode 100644 index 0000000..669a9dd --- /dev/null +++ b/src/lib/components/BoardFilter.component.svelte @@ -0,0 +1,75 @@ + + + + + + + diff --git a/src/lib/components/common/Dropdown/Dropdown.component.svelte b/src/lib/components/common/Dropdown/Dropdown.component.svelte index 8c749e5..8691537 100644 --- a/src/lib/components/common/Dropdown/Dropdown.component.svelte +++ b/src/lib/components/common/Dropdown/Dropdown.component.svelte @@ -48,7 +48,6 @@ z-index: 20; right: 0; width: max-content; - box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.05); } .dropDownWrapper.active { diff --git a/src/lib/enums/App.enums.ts b/src/lib/enums/App.enums.ts new file mode 100644 index 0000000..e7dfec8 --- /dev/null +++ b/src/lib/enums/App.enums.ts @@ -0,0 +1,8 @@ +// contains enums related to app (frontend) +export enum BoardFilterOption { + PRIVATE = 'Private Boards', + PUBLIC = 'Public Boards', + MY_BOARDS = 'My Boards', + ALL_BOARDS = 'All Boards', + COLLABORATED = 'Collaborated Boards', +} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index f03853b..4422074 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -6,9 +6,12 @@ import type { PageData } from './$types'; import boardStore from '$lib/store/boards.store'; import Masonry from '$components/Layouts/Masonry.component.svelte'; + import BoardFilter from '$components/BoardFilter.component.svelte'; + import { onDestroy } from 'svelte'; export let data: PageData; let boards = data.boards; + $: filteredBoards = data.boards; let isModalOpen = false; @@ -16,10 +19,17 @@ isModalOpen = true; }; - boardStore.subscribe((boardsData) => { + const unsub = boardStore.subscribe((boardsData) => { boards = boardsData.boards; isModalOpen = boardsData.isCreateBoardModalOpen; }); + + onDestroy(unsub); + + const hanldeApplyFilter = (e: CustomEvent): void => { + const filterValues: string[] = e.detail; + console.log(filterValues); + }; All Boards | Krello @@ -29,12 +39,15 @@

All Boards

- +
+ + +
- {#each boards as board} + {#each filteredBoards as board}