1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-08-05 05:05:17 +02:00

Merge pull request #81 from seanmorley15/development

Development
This commit is contained in:
Sean Morley 2024-06-07 17:50:17 -04:00 committed by GitHub
commit 226b08b9a5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 100 additions and 47 deletions

View file

@ -40,6 +40,16 @@
<div <div
class="card min-w-max lg:w-96 md:w-80 sm:w-60 xs:w-40 bg-primary-content shadow-xl overflow-hidden text-base-content" class="card min-w-max lg:w-96 md:w-80 sm:w-60 xs:w-40 bg-primary-content shadow-xl overflow-hidden text-base-content"
> >
{#if adventure.imageUrl && adventure.imageUrl.length > 0}
<figure>
<!-- svelte-ignore a11y-img-redundant-alt -->
<img
src={adventure.imageUrl}
alt="No image available"
class="w-full h-48 object-cover"
/>
</figure>
{/if}
<div class="card-body"> <div class="card-body">
<h2 class="card-title overflow-ellipsis">{adventure.name}</h2> <h2 class="card-title overflow-ellipsis">{adventure.name}</h2>
{#if adventure.location && adventure.location !== ""} {#if adventure.location && adventure.location !== ""}
@ -65,7 +75,7 @@
{/each} {/each}
</ul> </ul>
{/if} {/if}
<div class="card-actions justify-end"> <div class="card-actions justify-end mt-2">
{#if type == "mylog"} {#if type == "mylog"}
<button class="btn btn-primary" on:click={moreInfo} <button class="btn btn-primary" on:click={moreInfo}
><iconify-icon icon="mdi:launch" class="text-2xl" ><iconify-icon icon="mdi:launch" class="text-2xl"

View file

@ -5,8 +5,29 @@
import type { SubmitFunction } from "@sveltejs/kit"; import type { SubmitFunction } from "@sveltejs/kit";
import type { PageData } from "./$types"; import type { PageData } from "./$types";
// let visitedValue = "all"; let typeValue: string = "";
// let typeValue = ""; let visitedValue: string = "all";
async function filterResults() {
console.log(typeValue);
console.log(visitedValue);
if (!typeValue) {
typeValue = "";
}
const value = new URLSearchParams(location.search).get("value");
console.log(value);
console.log(
`/api/search?value=${value}&type=${typeValue}&visited=${visitedValue}`
);
let data = await fetch(
`/api/search?value=${value}&type=${typeValue}&visited=${visitedValue}`
);
console.log(data);
adventureArray = [];
let res = await data.json();
adventureArray = res.adventures as Adventure[];
}
export let data: PageData; export let data: PageData;
let adventureArray: Adventure[] = data.props?.adventures as Adventure[]; let adventureArray: Adventure[] = data.props?.adventures as Adventure[];
@ -34,51 +55,73 @@
</script> </script>
<main> <main>
<form method="post" use:enhance={filter}> <h1 class="text-center font-semibold text-2xl mb-2">Filtering Options</h1>
<div class="flex items-center justify-center gap-6 mb-4">
<div class="join">
<input <input
type="radio" type="radio"
name="visited" name="visited"
value="all" value="all"
checked checked
class="radio radio-primary" class="join-item btn"
aria-label="All"
bind:group={visitedValue}
/> />
All
<input <input
type="radio" type="radio"
name="visited" name="visited"
value="false" value="false"
class="radio radio-primary" class="join-item btn"
bind:group={visitedValue}
aria-label="Not Visited"
/> />
Not Visited
<input <input
type="radio" type="radio"
name="visited" name="visited"
value="true" value="true"
class="radio radio-primary" class="join-item btn"
bind:group={visitedValue}
aria-label="Visited"
/> />
Visited </div>
<br /> <br />
<input type="radio" name="type" value="" class="radio radio-primary" /> <div class="join">
All <input
type="radio"
name="type"
value=""
class="join-item btn"
bind:group={typeValue}
aria-label="All"
/>
<input <input
type="radio" type="radio"
name="type" name="type"
value="activity" value="activity"
class="radio radio-primary" class="join-item btn"
bind:group={typeValue}
aria-label="Activity"
/> />
Activity
<input <input
type="radio" type="radio"
name="type" name="type"
value="location" value="location"
class="radio radio-primary" class="join-item btn"
bind:group={typeValue}
aria-label="Location"
/> />
Location <input
<input type="radio" name="type" value="name" class="radio radio-primary" /> type="radio"
Name name="type"
<!-- submit button --> value="name"
<button type="submit" class="btn btn-primary">Search</button> class="join-item btn"
</form> aria-label="Name"
bind:group={typeValue}
/>
</div>
<button class="btn btn-primary" on:click={filterResults}>Filter</button>
</div>
<h1 class="text-center font-bold text-4xl">Search Results</h1> <h1 class="text-center font-bold text-4xl">Search Results</h1>
{#if adventureArray.length > 0} {#if adventureArray.length > 0}
<div <div