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