fix: Style and type check changes.

Co-Authored By: Caspar Asaam <caspar@dyn3159-95.wlan.ic.ac.uk>
This commit is contained in:
TadiosT
2025-06-10 05:45:29 +01:00
parent 201467c73a
commit 61da21b7db
3 changed files with 30 additions and 75 deletions

View File

@@ -4,37 +4,36 @@
import crossUrl from "$lib/assets/cross.svg";
import Navbar from "$lib/components/Navbar.svelte";
import TagFilter from "$lib/components/inputs/TagFilter.svelte";
import {availableStudySpaceTags} from "$lib"
import {allTags} from "$lib"
import { allTags } from "$lib";
const { data } = $props();
const { studySpaces, supabase } = $derived(data);
let selectedTags = $state<string[]>([])
const { studySpaces, supabase } = $derived(data);
let selectedTags = $state<string[]>([]);
let tagFilter = $state("");
let tagFilterElem = $state<HTMLInputElement>()
let tagFilterElem = $state<HTMLInputElement>();
let filteredTags = $derived(
allTags
.filter((tag) => tag.toLowerCase().includes(tagFilter.toLowerCase()))
.filter((tag) => allTags.includes(tag))
)
);
let filteredStudySpaces = $derived(() =>
selectedTags.length === 0
? studySpaces
: studySpaces.filter(space => {
const allTags = [
...(space.tags || []),
space.volume,
space.wifi,
space.power
].filter(Boolean);
: studySpaces.filter((space) => {
const allTags = [
...(space.tags || []),
space.volume,
space.wifi,
space.power
].filter(Boolean);
return selectedTags.every(tag => allTags.includes(tag));
})
return selectedTags.every((tag) => allTags.includes(tag));
})
);
let dropdownVisible = $state(false)
let dropdownVisible = $state(false);
function deleteTag(tagName: string) {
return () => {
@@ -52,24 +51,24 @@
}
</script>
<Navbar>
<Navbar>
<a href="/space">
<img src={crossUrl} alt="new" class="new-space" />
</a>
</a>
</Navbar>
<main>
<TagFilter
selectedTags={selectedTags}
tagFilter={tagFilter}
tagFilterElem={tagFilterElem}
filteredTags={filteredTags}
dropdownVisible={dropdownVisible}
deleteTag={deleteTag}
addTag={addTag}
<TagFilter
{selectedTags}
{tagFilter}
{tagFilterElem}
{filteredTags}
{dropdownVisible}
{deleteTag}
{addTag}
/>
{#each filteredStudySpaces() as studySpace (studySpace.id)}
{#each filteredStudySpaces() as studySpace (studySpace.id)}
{@const imgUrl =
studySpace.study_space_images.length > 0
? supabase.storage