adds trail filter persistence
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
} from "$lib/stores/search_store";
|
||||
import { trails_search_bounding_box } from "$lib/stores/trail_store";
|
||||
import { getIconForLocation } from "$lib/util/icon_util";
|
||||
import type { Snapshot } from "@sveltejs/kit";
|
||||
import * as M from "maplibre-gl";
|
||||
import { onMount } from "svelte";
|
||||
import { _ } from "svelte-i18n";
|
||||
@@ -53,6 +54,14 @@
|
||||
totalPages: 1,
|
||||
};
|
||||
|
||||
export const snapshot: Snapshot<TrailFilter> = {
|
||||
capture: () => filter,
|
||||
restore: (value) => {
|
||||
filter = value;
|
||||
handleFilterUpdate();
|
||||
},
|
||||
};
|
||||
|
||||
async function search(q: string) {
|
||||
const r = await searchMulti({
|
||||
queries: [
|
||||
@@ -136,7 +145,7 @@
|
||||
mapWithElevation?.togglePopup(trail.id!, true);
|
||||
}
|
||||
|
||||
async function handleFilterUpdate(filter: TrailFilter) {
|
||||
async function handleFilterUpdate() {
|
||||
if (!map) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
import TrailList from "$lib/components/trail/trail_list.svelte";
|
||||
import type { Trail, TrailFilter } from "$lib/models/trail";
|
||||
import { trails_search_filter } from "$lib/stores/trail_store";
|
||||
import type { Snapshot } from "@sveltejs/kit";
|
||||
import { onMount } from "svelte";
|
||||
import { _ } from "svelte-i18n";
|
||||
|
||||
@@ -21,6 +22,14 @@
|
||||
});
|
||||
let trails: Trail[] = $state([]);
|
||||
|
||||
export const snapshot: Snapshot<TrailFilter> = {
|
||||
capture: () => filter,
|
||||
restore: (value) => {
|
||||
filter = value;
|
||||
handleFilterUpdate()
|
||||
},
|
||||
};
|
||||
|
||||
onMount(() => {
|
||||
if (window.innerWidth < 768) {
|
||||
filterExpanded = false;
|
||||
|
||||
Reference in New Issue
Block a user