diff --git a/web/src/lib/components/trail/trail_list.svelte b/web/src/lib/components/trail/trail_list.svelte index 92c71d62..4175c419 100644 --- a/web/src/lib/components/trail/trail_list.svelte +++ b/web/src/lib/components/trail/trail_list.svelte @@ -12,6 +12,7 @@ import { onMount, tick } from "svelte"; import type { Snippet } from "svelte"; import TrailDropdown from "$lib/components/trail/trail_dropdown.svelte"; + import { goto } from "$app/navigation"; interface Props { filter?: TrailFilter | null; @@ -313,6 +314,15 @@ handleHoverUpdate(trail); } + function handleTrailClick(e: Event, trail: Trail) { + if (selection && selection.size > 0) { + e.stopPropagation(); + e.preventDefault(); + handleSelectionUpdate(trail); + } + return true + } + function setItemsPerPage() { localStorage.setItem("paginationItems", pagination.items.toString()); onpagination?.(1, pagination.items); @@ -420,6 +430,7 @@ handleTrailClick(e,trail)} href="/trail/view/@{trail.author}{trail.domain ? `@${trail.domain}` : ''}/{trail.id}" diff --git a/web/src/lib/components/trail/trail_table.svelte b/web/src/lib/components/trail/trail_table.svelte index 65b0ad3b..8930021a 100644 --- a/web/src/lib/components/trail/trail_table.svelte +++ b/web/src/lib/components/trail/trail_table.svelte @@ -1,4 +1,5 @@
- goto( - `/trail/view/@${trail.author}${ - trail.domain ? `@${trail.domain}` : "" - }/${trail.id}`, - )} + onclick={() => handleTrailClick(trail)} >
@@ -143,14 +158,18 @@ type="checkbox" class="w-4 h-4 bg-input-background accent-primary border-input-border focus:ring-input-ring focus:ring-2" checked={isSelected(trail)} - onclick={(e: Event) => setSelectedTrail(e, trail)} + onclick={(e: Event) => + setSelectedTrail(e, trail)} />
-
+
{trail.name}