From 4228db249ed5e3261931a1cdb3895d0ddd3ac4ac Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Sat, 6 Sep 2025 19:44:00 -0400 Subject: [PATCH] [BUG]Ordered Itinerary includes visits that are outside itinerary date range Fixes #746 --- backend/server/.env.example | 4 ++++ .../src/routes/collections/[id]/+page.svelte | 23 +++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/backend/server/.env.example b/backend/server/.env.example index d1af5396..95a489ef 100644 --- a/backend/server/.env.example +++ b/backend/server/.env.example @@ -36,4 +36,8 @@ EMAIL_BACKEND='console' # PGDATABASE='adventurelog' # PGUSER='admin' # PGPASSWORD='admin' + +# For Sean's use: +# re-sync the development branch with main after doing squash merges +# git fetch origin && git checkout development && git reset --hard origin/main && git push origin development --force # ------------------- # \ No newline at end of file diff --git a/frontend/src/routes/collections/[id]/+page.svelte b/frontend/src/routes/collections/[id]/+page.svelte index 88fdda9a..18ffd982 100644 --- a/frontend/src/routes/collections/[id]/+page.svelte +++ b/frontend/src/routes/collections/[id]/+page.svelte @@ -389,6 +389,21 @@ }); } + $: filteredOrderedItems = orderedItems.filter((item) => { + if (!collection?.start_date || !collection?.end_date) { + return true; // If no date range is set, show all items + } + + const collectionStart = new Date(collection.start_date); + const collectionEnd = new Date(collection.end_date); + const itemStart = new Date(item.start); + const itemEnd = new Date(item.end); + + // Check if item overlaps with collection date range + // Item is included if it starts before collection ends AND ends after collection starts + return itemStart <= collectionEnd && itemEnd >= collectionStart; + }); + $: { numAdventures = adventures.length; numVisited = adventures.filter((adventure) => adventure.is_visited).length; @@ -1176,11 +1191,11 @@
- {#if orderedItems.length > 0} + {#if filteredOrderedItems.length > 0}
{/if}
    - {#each orderedItems as orderedItem, index} + {#each filteredOrderedItems as orderedItem, index}
  • {/each}
- {#if orderedItems.length === 0} + {#if filteredOrderedItems.length === 0}

{$t('adventures.no_ordered_items')}

@@ -1360,7 +1375,7 @@ {/if} {/each} - {#if lineData} + {#if lineData && collection.start_date && collection.end_date}