Files
AdventureLog/README.md
Sean Morley 12d84d93f2 Misc. Changes & Documentation (#970)
* Update copyright year in email invitation template to 2026

* Squashed commit of the following:

commit 9da60a634cc7064c052c9560070d7e7a6fe33d6d
Author: fantastron27 <fantastron27@gmail.com>
Date:   Thu Jan 15 12:52:06 2026 +0100

    Translated using Weblate (Slovak)

    Currently translated at 100.0% (1062 of 1062 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sk/

commit 82c1c00e8fe8c650e24b3b5bfdc328322147a04f
Author: bittin1ddc447d824349b2 <bittin@reimu.nl>
Date:   Wed Jan 14 06:46:29 2026 +0100

    Translated using Weblate (Swedish)

    Currently translated at 100.0% (1062 of 1062 strings)

    Translation: AdventureLog/Web App
    Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sv/

commit fcffb89576
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 13 17:28:04 2026 -0500

    Refactor code structure and remove redundant code blocks for improved readability and maintainability

commit da02d73eb5
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 13 17:18:27 2026 -0500

    Squashed commit of the following:

    commit a993a15b93ebb7521ae2e5cc31596b98b29fcd6c
    Author: Alex <div@alexe.at>
    Date:   Mon Jan 12 20:44:47 2026 +0100

        Translated using Weblate (German)

        Currently translated at 100.0% (1048 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

    commit fdc455d9424fbb0f6b72179d9eb1340411700773
    Author: Ettore Atalan <atalanttore@googlemail.com>
    Date:   Sat Jan 10 23:24:23 2026 +0100

        Translated using Weblate (German)

        Currently translated at 100.0% (1048 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

    commit 5942129c55e89dd999a13d4df9c40e6e3189355c
    Author: Orhun <orhunavcu@gmail.com>
    Date:   Sun Jan 11 13:05:31 2026 +0100

        Translated using Weblate (Turkish)

        Currently translated at 100.0% (1048 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/tr/

    commit 8712e43d8ba4a7e7fe163fb454d6577187f9a375
    Author: Henrique Fonseca Veloso <henriquefv@tutamail.com>
    Date:   Fri Jan 9 22:53:11 2026 +0100

        Translated using Weblate (Portuguese (Brazil))

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/pt_BR/

    commit 18ee56653470413afe8d71ecd2b5028f6e4cf118
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:57 2026 +0100

        Translated using Weblate (Dutch)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nl/

    commit 57783c544e583c035c8b57b5c10ca320f25f399e
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:14 2026 +0100

        Translated using Weblate (Arabic)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ar/

    commit fb09edfd85bc85234b1c1ba7dd499f2915093fff
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:26 2026 +0100

        Translated using Weblate (Spanish)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/es/

    commit 554a207d8e454a1f7ae826e2a40d389b94be5512
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:21 2026 +0100

        Translated using Weblate (German)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/de/

    commit b70b9db27fb8607beefeb288185601c8f5eae28d
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:53:02 2026 +0100

        Translated using Weblate (Norwegian Bokmål)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/nb_NO/

    commit 3b467caa9007c553e4ae7de97f53b6e462161ea3
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:53:07 2026 +0100

        Translated using Weblate (Polish)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/pl/

    commit 30fbbfba3572c8f78ec7c7e1a231e363aca1ef10
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:53:17 2026 +0100

        Translated using Weblate (Russian)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ru/

    commit 8cecb492cfcac0a1f93ee8919f7b41d978d331ee
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:42 2026 +0100

        Translated using Weblate (Italian)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/it/

    commit f0d3d41029c89bfa83d5891ee7af70241f27b7be
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:38 2026 +0100

        Translated using Weblate (Hungarian)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/hu/

    commit 102e0f1912d010d38755a1713abb2a7f7564aafb
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:53:21 2026 +0100

        Translated using Weblate (Slovak)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sk/

    commit 428b8f18cf6195a96b55109e0221413d82415a2f
    Author: Максим Горпиніч <gorpinicmaksim0@gmail.com>
    Date:   Sat Jan 10 08:55:28 2026 +0100

        Translated using Weblate (Ukrainian)

        Currently translated at 100.0% (1048 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/uk/

    commit 1a71aaf279ecab26c0c1fede05025732e6dcfa5e
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:53:27 2026 +0100

        Translated using Weblate (Swedish)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/sv/

    commit 36ec3701f3a1a904e7c42ac4ffbe6a050dc6d1ed
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:53:43 2026 +0100

        Translated using Weblate (Chinese (Simplified Han script))

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/zh_Hans/

    commit 65d8b74b340c877cad2028b7142c783a1b568d49
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:48 2026 +0100

        Translated using Weblate (Japanese)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ja/

    commit 4d11d1d31022583657e93aee70301a8ffcde1340
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:52 2026 +0100

        Translated using Weblate (Korean)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/ko/

    commit bd1135bcb965ad73cf493771b15081cc97cf513a
    Author: Orhun <orhunavcu@gmail.com>
    Date:   Fri Jan 9 22:53:33 2026 +0100

        Translated using Weblate (Turkish)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/tr/

    commit 2c3d814119f4cf2dabd20933699f5b991f20f3e6
    Author: Anonymous <noreply@weblate.org>
    Date:   Fri Jan 9 22:52:32 2026 +0100

        Translated using Weblate (French)

        Currently translated at 99.9% (1047 of 1048 strings)

        Translation: AdventureLog/Web App
        Translate-URL: https://hosted.weblate.org/projects/adventurelog/web-app/fr/

commit 5846e28c6f
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 13 17:14:59 2026 -0500

    feat: Add export/import messages and user email verification prompts in multiple languages

commit 365e7412f9
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 13 15:18:46 2026 -0500

    fix: Remove trailing backslash from installation note in Unraid documentation

commit d1aca96596
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Jan 12 20:35:44 2026 -0500

    feat: Update email invitation template for improved styling and clarity

commit ce9406a7ed
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 11 21:09:48 2026 -0500

    docs: Update "Invite a User" guide to include email configuration tip

commit 47d6ea4aa5
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 11 21:08:46 2026 -0500

    feat: Add "Invite a User" guide and update navigation links

commit c2bbfdd408
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 11 20:57:13 2026 -0500

    feat: Add Tailwind CSS and DaisyUI plugin for styling

commit c9c0739f21
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 11 20:54:58 2026 -0500

    feat: Add Tailwind CSS and DaisyUI plugin for styling

commit 997a45581c
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 11 20:49:36 2026 -0500

    feat: Integrate django-invitations for user invitation management and update settings

commit fda1d039fd
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 11 13:01:00 2026 -0500

    fix: Refactor update method to handle is_public cascading for related items

commit bc8bc4b487
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 11 12:51:02 2026 -0500

    fix: Update Trivy security scan configuration and add .trivyignore for known false positives

commit ceb52efd9f
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 20:21:02 2026 -0500

    fix: Disable proxy settings in Google Maps API request to prevent connection issues

commit 58fc806970
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 20:12:14 2026 -0500

    fix: Update User-Agent header in Google Maps API requests for improved compatibility

commit 1a09e694d7
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 20:05:26 2026 -0500

    feat: Add User-Agent header to Google Maps API requests and refine error messaging for access forbidden response

commit 513df78a50
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 20:00:07 2026 -0500

    fix: Enhance error messaging for Google Maps access forbidden response

commit c5f144e601
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 19:22:43 2026 -0500

    feat: Enhance error handling and messaging for Google Maps and OpenStreetMap geocoding functions

commit 90b0d564d5
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 17:25:31 2026 -0500

    fix: Adjust styles to prevent horizontal scroll and enhance floating action button visibility

commit 5bd4c2cb5d
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 16:07:06 2026 -0500

    feat: Add modals for creating locations and lodging from recommendations, enhance image import functionality

commit 2877a18d27
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 14:01:28 2026 -0500

    feat: Implement data restoration functionality with file import

    - Added a new action `restoreData` in `+page.server.ts` to handle file uploads for restoring collections.
    - Enhanced the UI in `+page.svelte` to include an import button and a modal for import progress.
    - Integrated file input handling to trigger form submission upon file selection.
    - Removed unused GSAP animations from the login, profile, and signup pages for cleaner code.

commit b920f17389
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 11:54:53 2026 -0500

    Add new screenshots and update email verification message in locale file

commit 2c78586dc6
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 10:58:06 2026 -0500

    Add "worldtravel" translations to multiple locale files

    - Added "worldtravel" key with translations for Spanish, French, Hungarian, Italian, Japanese, Korean, Dutch, Norwegian, Polish, Brazilian Portuguese, Russian, Slovak, Swedish, Turkish, Ukrainian, and Chinese.
    - Updated the navigation section in each locale file to include the new "worldtravel" entry.

commit facbaa40ef
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 10:50:17 2026 -0500

    fix: update package dependencies to resolve compatibility issues

commit fa5a279b09
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 10:38:00 2026 -0500

    Refactor code structure for improved readability and maintainability

commit 984e7569a9
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 10:22:24 2026 -0500

    Refactor code structure for improved readability and maintainability

commit f8e8f96854
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 10:20:23 2026 -0500

    chore: update dependencies in pnpm-lock.yaml to latest versions

commit b47f446d45
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 10 10:14:04 2026 -0500

    chore: update dependencies in frontend package.json and pnpm-lock.yaml

    - Updated @sveltejs/adapter-node from ^5.2.12 to ^5.4.0
    - Updated @sveltejs/adapter-vercel from ^5.7.0 to ^6.3.0
    - Updated tailwindcss from ^3.4.17 to ^3.4.19
    - Updated typescript from ^5.8.3 to ^5.9.3
    - Updated vite from ^5.4.19 to ^5.4.21

commit 6b8971cbcf
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 16:53:47 2026 -0500

    fix: improve error messages for Overpass API responses

commit 5dfe22609e
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 16:50:39 2026 -0500

    Localization: update localization files with new keys and values

commit 1718bea316
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 16:30:51 2026 -0500

    feat: enhance localization for itinerary linking and transportation components

commit c229163c3f
Author: Nick Petrushin <n.a.petrushin@gmail.com>
Date:   Fri Jan 9 21:55:56 2026 +0100

    Add dev compose for hot reload and update WSL dev container docs (#958)

commit 4b0001d249
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 15:48:23 2026 -0500

    feat: enhance unscheduled items display with improved card interactions and accessibility

commit 49cf7f8f60
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 14:32:14 2026 -0500

    feat: enhance periodic sync logging and improve airport mode handling in LocationSearchMap

commit f37d546525
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 13:15:30 2026 -0500

    feat: add airport and location search mode labels to localization file

commit f4bf0a38bd
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 13:10:27 2026 -0500

    feat: enhance LocationSearchMap and TransportationDetails components with initialization handling and airport mode logic

commit 12ff50ba1c
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 11:59:25 2026 -0500

    feat: refactor Dockerfile and supervisord configuration to remove cron and add periodic sync script

commit 50b5a95c49
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 9 10:31:50 2026 -0500

    feat: implement action menus and close event handling in card components

commit 1b1d801151
Author: Sean Morley <mail@seanmorley.com>
Date:   Thu Jan 8 20:00:43 2026 -0500

    Refactor itinerary management and UI components

    - Updated ItineraryViewSet to handle visit updates and creations more efficiently, preserving visit IDs when moving between days.
    - Enhanced ChecklistCard, LodgingCard, TransportationCard, and NoteCard to include a new "Change Day" option in the actions menu.
    - Improved user experience in CollectionItineraryPlanner by tracking specific itinerary items being moved and ensuring only the relevant entries are deleted.
    - Added new location sharing options in LodgingCard and TransportationCard for Apple Maps, Google Maps, and OpenStreetMap.
    - Updated translations in en.json for consistency and clarity.
    - Minor UI adjustments for better accessibility and usability across various components.

commit f315f85c58
Author: Sean Morley <mail@seanmorley.com>
Date:   Wed Jan 7 15:24:06 2026 -0500

    feat: enhance internationalization support in CollectionMap and CollectionStats components

    - Added translation support for various labels and messages in CollectionMap.svelte and CollectionStats.svelte using svelte-i18n.
    - Updated English and Chinese locale files to include new translation keys for improved user experience.
    - Simplified the rendering of recommendation views in the collections page.

commit c53eb6b2fe
Author: Nick Petrushin <n.a.petrushin@gmail.com>
Date:   Wed Jan 7 19:15:38 2026 +0100

    Add Dev Container + WSL install docs and link in install guide (#944) (#951)

commit 0c6a99744c
Author: Sean Morley <mail@seanmorley.com>
Date:   Wed Jan 7 13:14:20 2026 -0500

    feat: enhance CollectionItineraryPlanner and CollectionStats with dynamic links and transport type normalization

commit c2229e9672
Author: Sean Morley <mail@seanmorley.com>
Date:   Wed Jan 7 11:45:55 2026 -0500

    fix: update appVersion to v0.12.0-pre-dev-010726

commit 074729e14c
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 6 19:02:31 2026 -0500

    fix: specify full path for python3 in cron job and add shell and path variables

commit 2f9a3f20ca
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 6 16:24:56 2026 -0500

    feat: add functionality to change day and move items to trip-wide itinerary

    - Implemented changeDay function in ChecklistCard, LocationCard, LodgingCard, NoteCard, and TransportationCard components to allow users to change the scheduled day of items.
    - Added a button to move items to the global (trip-wide) itinerary in the aforementioned components, with appropriate dispatch events.
    - Enhanced CollectionItineraryPlanner to handle moving items to the global itinerary and added UI elements for unscheduled items.
    - Updated ItineraryDayPickModal to support the deletion of source visits when moving locations.
    - Added new translations for "Change Day" and "Move Trip Wide" in the English locale.

commit a46e42c545
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 6 12:55:15 2026 -0500

    feat: enhance itinerary management by removing old items on date change for notes and checklists; normalize date handling in CollectionMap

commit e602639877
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Jan 6 12:06:50 2026 -0500

    feat: add CollectionStats component for detailed trip statistics

    - Implemented CollectionStats.svelte to display various statistics related to the collection, including distances, activities, and locations visited.
    - Enhanced CollectionMap.svelte to filter activities based on date range using new getActivityDate function.
    - Updated LocationSearchMap.svelte to handle airport mode for start and end locations.
    - Modified types.ts to include is_global property in CollectionItineraryItem for trip-wide items.
    - Updated +page.svelte to integrate the new stats view and manage view state accordingly.

commit 75b32d7c1d
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Jan 5 16:58:05 2026 -0500

    feat: add dynamic lodging icons based on type in CollectionMap component

commit 5d59eec261
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Jan 5 16:39:18 2026 -0500

    feat: add collaborator serialization and display in collections

    - Implemented `_build_profile_pic_url` and `_serialize_collaborator` functions for user profile picture URLs and serialization.
    - Updated `CollectionSerializer` and `UltraSlimCollectionSerializer` to include collaborators in the serialized output.
    - Enhanced `CollectionViewSet` to prefetch shared_with users for optimized queries.
    - Modified frontend components to display collaborators in collection details, including profile pictures and initials.
    - Added new localization strings for collaborators.
    - Refactored map and location components to improve usability and functionality.
    - Updated app version to reflect new changes.

commit 24e27ae3b1
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Jan 5 14:34:00 2026 -0500

    Refactor collection page for improved localization and code clarity

    - Removed unused imports and consolidated cost category labels to be reactive.
    - Updated cost summary function to accept localized labels.
    - Enhanced localization for various UI elements, including buttons, headings, and statistics.
    - Improved user feedback messages for better clarity and consistency.
    - Ensured all relevant text is translatable using the i18n library.

commit a72d300209
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Jan 5 13:05:08 2026 -0500

    feat: implement cleanup of out-of-range itinerary items and notify users of potential impacts on itinerary when dates change

commit c47ffdfc38
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Jan 5 12:36:54 2026 -0500

    feat: add CollectionItineraryDay model and related functionality for itinerary day metadata management

commit 398dc06571
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Jan 5 11:46:19 2026 -0500

    feat: add cron job for syncing visited regions and cities, enhance Docker and supervisord configurations

commit 1651e7dfa7
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 4 16:21:59 2026 -0500

    feat: enhance extractIsoCode function to handle cases without city information and update CollectionMap to bind user data

commit db89c4e2b7
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 4 15:32:29 2026 -0500

    feat: update extractIsoCode function to include additional ISO3166 levels for improved region matching

commit 8cff832621
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 4 13:29:38 2026 -0500

    feat: enhance extractIsoCode function with normalization for locality matching

commit d30eb55ea4
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Jan 4 13:12:55 2026 -0500

    feat: enhance ISO code extraction and region matching logic in extractIsoCode function

commit 4de2b7ba2d
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 3 23:20:33 2026 -0500

    feat: enhance map functionality with search and zoom features

    - Updated availableViews in collection page to include map view based on lodging and transportation locations.
    - Added search functionality to the map page, allowing users to filter pins by name and category.
    - Implemented auto-zoom feature to adjust the map view based on filtered search results.
    - Introduced a search bar with a clear button for better user experience.

commit 0bf29b72b5
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 3 22:22:09 2026 -0500

    feat: add Development Timeline link to overview and create timeline documentation

commit 2a9a205c97
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 3 16:22:48 2026 -0500

    feat: add price and currency fields to locations, lodging, and transportation components

    - Introduced price and price_currency fields in LocationModal, LodgingDetails, LodgingModal, TransportationDetails, and TransportationModal components.
    - Implemented MoneyInput and CurrencyDropdown components for handling monetary values and currency selection.
    - Updated data structures and types to accommodate new price and currency fields across various models.
    - Enhanced cost summary calculations in collections and routes to display total costs by currency.
    - Added user preference for default currency in settings, affecting new item forms.
    - Updated UI to display price information in relevant components, ensuring consistent formatting and user experience.

commit 84d176c028
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Jan 3 14:48:53 2026 -0500

    feat: enhance LodgingCard and TransportationCard components with expandable details and improved layout

commit 6a4b965391
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 17:44:29 2026 -0500

    chore: update .env.example to include account email verification configuration

commit 210973245f
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 17:18:12 2026 -0500

    feat: enhance hero image handling in collection view by prioritizing primary image

commit fe1ed1d9a6
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 16:39:53 2026 -0500

    Refactor calendar components and enhance event detail handling

    - Replaced direct calendar implementation with a reusable CalendarComponent in the calendar route.
    - Introduced EventDetailsModal for displaying event details, improving modularity and readability.
    - Added functionality to fetch event details asynchronously when an event is clicked.
    - Implemented ICS calendar download functionality with loading state management.
    - Enhanced collections page to support calendar view, integrating event handling and timezone management.
    - Improved lodging and transportation pages to display local time for stays and trips, including timezone badges.
    - Cleaned up unused code and comments for better maintainability.

commit 1b64f8db57
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 13:21:46 2026 -0500

    feat: add primary image support to Collection model, serializers, and UI components

commit 00914f5296
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 12:55:20 2026 -0500

    feat: add travel duration and GPX distance calculation to Transportation model and UI

commit 0e65929599
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 12:00:46 2026 -0500

    feat: add details view for checklist and note cards with edit functionality

commit 8cc8c66770
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 11:49:20 2026 -0500

    feat: add initial visit date support in ChecklistModal and NoteModal, with UI suggestions for prefilled dates

commit d456a48f29
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 11:32:42 2026 -0500

    fix: remove unnecessary cache decorator from globespin function

commit 9bef2a074e
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 11:30:46 2026 -0500

    fix: improve dropdown close behavior by handling multiple event types

commit 736f95213e
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Jan 2 11:05:28 2026 -0500

    feat: enhance backup export functionality with itinerary items and export IDs

commit 121d55c3d7
Author: Sean Morley <mail@seanmorley.com>
Date:   Wed Dec 31 10:22:06 2025 -0500

    chore: update copyright year to 2026 in various files

commit 1b917db997
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 30 14:17:20 2025 -0500

    feat: integrate CollectionMap component in collections page and update map titles in lodging and transportation pages

    - Replaced inline map implementation with CollectionMap component in collections/[id]/+page.svelte for better modularity.
    - Updated the map title in lodging/[id]/+page.svelte to reflect lodging context.
    - Updated the map title in transportations/[id]/+page.svelte to reflect transportation context.
    - Added functionality to collect and render GeoJSON data from transportation attachments in transportations/[id]/+page.svelte.

commit 0e51b37a89
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 30 11:57:48 2025 -0500

    Enhance collection management with modal updates and item handling

commit 52712bfbbf
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Dec 28 17:25:59 2025 -0500

    Refactor code structure for improved readability and maintainability

commit 8a9d78715e
Merge: 59bec174 a92029f3
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Dec 28 16:55:08 2025 -0500

    Merge branch 'development' of github.com:seanmorley15/AdventureLog into development

commit a92029f310
Author: Lars Lehmann <33843261+larsl-net@users.noreply.github.com>
Date:   Sun Dec 28 22:54:54 2025 +0100

    Make sure reverse geocoding uses correct key for cities (#938)

    * Reorder town and county checks in geocoding.py

    Fix detection if only town exists for a location but county is no city name

    * Use address keys only if city is found

commit 59bec17483
Author: Lars Lehmann <lars@lmail.eu>
Date:   Sun Dec 28 20:29:08 2025 +0100

    Use address keys only if city is found

commit f4faa4c336
Author: Lars Lehmann <33843261+larsl-net@users.noreply.github.com>
Date:   Sun Dec 28 18:57:15 2025 +0100

    Reorder town and county checks in geocoding.py

    Fix detection if only town exists for a location but county is no city name

commit 6f923f0181
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 27 16:21:44 2025 -0500

    feat: implement date validation for itinerary items and add day picker modal for scheduling

commit 65fcd94898
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 27 15:26:50 2025 -0500

    feat: add start_code and end_code fields to Transportation model and update related components

commit fd463b428b
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Dec 26 19:03:33 2025 -0500

    feat: add Transportation modal component and related routes

    - Implemented TransportationModal component for creating and editing transportation entries.
    - Added server-side loading for transportation details in the new route [id]/+page.server.ts.
    - Created a new Svelte page for displaying transportation details with image and attachment handling.
    - Integrated modal for editing transportation in the transportation details page.
    - Updated lodging routes to include a modal for editing lodging entries.
    - Removed unused delete action from lodging server-side logic.

commit b660f4f042
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Dec 26 13:21:03 2025 -0500

    feat: implement lodging detail page with server-side loading and image modal functionality

    - Added a new server-side load function to fetch lodging details by ID.
    - Created a new Svelte component for the lodging detail page, including image carousel and map integration.
    - Implemented a modal for displaying images with navigation.
    - Enhanced URL handling in the locations page to only read parameters.

commit c8cedcd9db
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Dec 26 11:01:25 2025 -0500

    feat: enhance lodging management with date validation and update messages

commit e3e05b5ba3
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 23 16:57:33 2025 -0500

    fix: update contentType in ImageManagement component to 'lodging' for correct media handling

commit b521e54d9e
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 23 16:54:22 2025 -0500

    feat: add LodgingMedia and LodgingModal components for managing lodging details and media attachments

    feat: implement LocationSearchMap component for interactive location searching and mapping functionality

commit 9919f0c15f
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 23 10:22:58 2025 -0500

    Component folder structure changes

commit 2db1f7de0e
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 22 21:40:23 2025 -0500

    feat: add status and days until start fields to collections with filtering options

commit d5ca8f9c8e
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 22 21:12:03 2025 -0500

    feat: add map center and zoom state management with URL synchronization

commit 4198b9e39f
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 22 21:03:49 2025 -0500

    feat: add progress tracker for folder views to display visited and planned locations

commit c970615294
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 22 18:22:18 2025 -0500

    feat: enhance map interaction for touch devices with custom popup handling

commit e95f738638
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 22 15:17:20 2025 -0500

    feat: add FullMap component for enhanced map functionality with clustering support

    - Introduced FullMap.svelte to handle map rendering, clustering, and marker management.
    - Updated map page to utilize FullMap component, replacing direct MapLibre usage.
    - Implemented clustering options and marker properties handling in FullMap.
    - Added utility functions for resolving theme colors and managing marker states.
    - Enhanced user experience with hover popups and improved loading states for location details.
    - Updated app version to v0.12.0-pre-dev-122225.

commit 6753c840f8
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 22 13:56:39 2025 -0500

    feat: enhance itinerary management with deduplication and initial visit date handling

commit 09f8cd4a8c
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 22 11:54:34 2025 -0500

    feat: add itinerary removal functionality to various cards and update UI components

    - Implemented `removeFromItinerary` function in `LodgingCard`, `NoteCard`, and `TransportationCard` to allow users to remove items from their itinerary.
    - Replaced the trash icon with a calendar remove icon in `LocationCard`, `LodgingCard`, `NoteCard`, and `TransportationCard` for better visual representation.
    - Updated the dropdown menus in `LodgingCard`, `NoteCard`, and `TransportationCard` to include the new remove from itinerary option.
    - Enhanced `CollectionItineraryPlanner` to pass itinerary items to the respective cards.
    - Removed `PointSelectionModal.svelte` as it is no longer needed.
    - Refactored `LocationMedia.svelte` to integrate `ImageManagement` component and clean up unused code related to image handling.

commit ace2a45cc9
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 20 18:02:24 2025 -0500

    feat: add canModify prop to collection components for user permission handling

commit b721b240db
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 20 12:10:52 2025 -0500

    fix: update appVersion and improve button accessibility in collection views

commit cda9bc6197
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 20 12:01:52 2025 -0500

    feat: add CollectionRecommendationView component for displaying location recommendations

    - Implemented CollectionRecommendationView.svelte to handle location recommendations based on user input and selected categories.
    - Added Recommendation and RecommendationResponse types to types.ts for better type safety and structure.
    - Updated collections/[id]/+page.svelte to include a new view for recommendations, allowing users to switch between different views seamlessly.

commit 7ee503cea3
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 20 10:43:00 2025 -0500

    Refactor code structure for improved readability and maintainability

commit 3ecdbb6462
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Dec 19 15:12:40 2025 -0500

    feat(wikipedia): implement image selection from Wikipedia with enhanced results display

commit c446f89572
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Dec 19 14:54:46 2025 -0500

    fix: update appVersion to correct pre-dev version

commit efff6cbd97
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Dec 19 13:14:11 2025 -0500

    feat(collection): enhance collection sharing logic and improve data handling on invite acceptance

commit 01950598b2
Author: Sean Morley <mail@seanmorley.com>
Date:   Fri Dec 19 12:43:50 2025 -0500

    feat(itinerary): implement auto-generate functionality for itinerary items based on dated records

commit b3e4799b74
Author: Sean Morley <mail@seanmorley.com>
Date:   Wed Dec 17 13:39:41 2025 -0500

    feat(itinerary): add itinerary management features and link modal

    - Introduced ItineraryViewSet for managing itinerary items with create and reorder functionalities.
    - Added itinerary linking capabilities in CollectionModal and CollectionItineraryPlanner components.
    - Implemented new ItineraryLinkModal for linking existing items to specific dates.
    - Enhanced the frontend with new modals for creating locations, lodging, transportation, notes, and checklists.
    - Updated the backend to handle itinerary item creation and reordering with appropriate permissions.
    - Improved data handling for unscheduled items and their association with the itinerary.
    - Added new dependencies to the frontend for enhanced functionality.

commit 8890dd70b8
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 16 17:30:00 2025 -0500

    feat: add compact display option to LocationCard and enhance lodging filtering in CollectionItineraryPlanner

commit 71ab14da52
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 16 16:50:59 2025 -0500

    feat: add overnight lodging indicator and functionality to CollectionItineraryPlanner

commit 8ea98795a9
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 16 12:32:51 2025 -0500

    feat: implement itinerary planning feature with CollectionItineraryPlanner component and related updates

commit c6f728a47b
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 16 11:19:39 2025 -0500

    fix: update appVersion to v0.12.0-pre-dev-121625

commit 682dc1abe8
Author: Sean Morley <mail@seanmorley.com>
Date:   Tue Dec 16 11:19:05 2025 -0500

    fix: update LocationCard props and enhance restore data functionality

    - Changed the user prop to null in LocationCard component on the dashboard page.
    - Added isRestoring state to manage loading state during data restoration in settings.
    - Updated the restore button to show a loading spinner when a restore operation is in progress.

commit eaac14a6f5
Author: Sean Morley <mail@seanmorley.com>
Date:   Mon Dec 15 10:01:06 2025 -0500

    feat: implement social signup controls and update documentation for new environment variables

commit 0a9a6b8b32
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Dec 14 17:01:41 2025 -0500

    fix: update appVersion to v0.11.0-main-121425 and enhance socialProviders handling in settings page

commit 2fbdc9ccea
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Dec 14 16:51:19 2025 -0500

    Fixes #511

commit 1eff5fd82b
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Dec 14 16:32:33 2025 -0500

    feat: add Advanced Configuration documentation with optional environment variables

commit c176beeada
Author: Sean Morley <mail@seanmorley.com>
Date:   Sun Dec 14 16:28:12 2025 -0500

    fix: handle email verification required case during signup

    Updated the signup action to return a specific message when the backend responds with a 401 status, indicating that the signup succeeded but email verification is required. This allows the frontend to display the appropriate message using an i18n key.

commit bdb2d54188
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 13 11:04:04 2025 -0500

    Update COUNTRY_REGION_JSON_VERSION to v3.0 and modify state ID generation to use ISO2 code

commit c96b13ea8d
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 13 10:59:55 2025 -0500

    Add ClusterMap integration for regions and cities with fit-to-bounds functionality

commit 725fec30eb
Author: Sean Morley <mail@seanmorley.com>
Date:   Sat Dec 13 10:41:37 2025 -0500

    Fixes [REQUEST] Email-based auto-linking for OIDC
    Fixes #921

* Add new itinerary feature and highlight community milestone of 1 million Docker image downloads

* Add to the list of contributors in README.md
2026-01-17 08:30:11 -05:00

164 lines
7.0 KiB
Markdown

<div align="center">
<img src="brand/adventurelog.png" alt="logo" width="200" height="auto" />
<h1>AdventureLog</h1>
<p>
The ultimate travel companion for the modern-day explorer.
</p>
<h4>
<a href="https://demo.adventurelog.app">View Demo</a>
<span> · </span>
<a href="https://adventurelog.app">Documentation</a>
<span> · </span>
<a href="https://discord.gg/wRbQ9Egr8C">Discord</a>
<span> · </span>
<a href="https://buymeacoffee.com/seanmorley15">Support 💖</a>
</h4>
</div>
<br />
<!-- Table of Contents -->
# Table of Contents
- [About the Project](#-about-the-project)
- [Screenshots](#-screenshots)
- [Tech Stack](#-tech-stack)
- [Features](#-features)
- [Roadmap](#-roadmap)
- [Contributing](#-contributing)
- [Translation](#-translation)
- [License](#-license)
- [Contact](#-contact)
- [Acknowledgements](#-acknowledgements)
<!-- About the Project -->
## ⭐ About the Project
Starting from a simple idea of tracking travel locations, AdventureLog has grown into a full-fledged travel companion. With AdventureLog, you can log your adventures, keep track of where you've been on the world map, plan your next trip collaboratively, and share your experiences with friends and family.
AdventureLog was created to solve a problem: the lack of a modern, open-source, user-friendly travel companion. Many existing travel apps are either too complex, too expensive, or too closed-off to be useful for the average traveler. AdventureLog aims to be the opposite: simple, beautiful, and open to everyone.
<!-- Screenshots -->
### 📷 Screenshots
<div align="center">
<img src="./brand/screenshots/adventures.png" alt="Locations" />
<p>Displays the locations you have visited and the ones you plan to embark on. You can also filter and sort the locations.</p>
<img src="./brand/screenshots/details.png" alt="Location Details" />
<p>Shows specific details about a location, including the name, date, location, description, and rating.</p>
<img src="./brand/screenshots/edit.png" alt="Edit Modal" />
<img src="./brand/screenshots/map.png" alt="Location Details" />
<p>View all of your locations on a map, with the ability to filter by visit status and add new ones by click on the map</p>
<img src="./brand/screenshots/map-satellite.png" alt="Location Details" />
<p>View a 3D representation of your locations and activities on the map, allowing for a more immersive exploration of your travel history.</p>
<img src="./brand/screenshots/dashboard.png" alt="Dashboard" />
<p>Displays a summary of your locations, including your world travel stats.</p>
<img src="./brand/screenshots/itinerary.png" alt="Itinerary" />
<p>Plan your adventures and travel itinerary with a list of activities and a map view. View your trip in a variety of ways, including an itinerary list, a map view, and a calendar view. Order your plans and details to create the perfect trip.</p>
<img src="./brand/screenshots/countries.png" alt="Countries" />
<p>Lists all the countries you have visited and plan to visit, with the ability to filter by visit status.</p>
<img src="./brand/screenshots/regions.png" alt="Regions" />
<p>Displays the regions for a specific country, includes a map view to visually select regions.</p>
</div>
<!-- TechStack -->
### 🚀 Tech Stack
<details>
<summary>Client</summary>
<ul>
<li><a href="https://svelte.dev/">SvelteKit</a></li>
<li><a href="https://tailwindcss.com/">TailwindCSS</a></li>
<li><a href="https://daisyui.com/">DaisyUI</a></li>
<li><a href="https://github.com/dimfeld/svelte-maplibre/">Svelte MapLibre</a></li>
</ul>
</details>
<details>
<summary>Server</summary>
<ul>
<li><a href="https://www.djangoproject.com/">Django</a></li>
<li><a href="https://postgis.net/">PostGIS</a></li>
<li><a href="https://www.django-rest-framework.org/">Django REST Framework</a></li>
<li><a href="https://allauth.org/">AllAuth</a></li>
</ul>
</details>
<!-- Features -->
### 🎯 Features
- **Track Your Adventures** 🌍: Log your adventures and keep track of where you've been on the world map.
- Locations can store a variety of information, including the location, date, and description.
- Locations can be sorted into custom categories for easy organization.
- Locations can be marked as private or public, allowing you to share your adventures with friends and family.
- Keep track of the countries and regions you've visited with the world travel book.
- Upload trails and activities to your locations to remember your experiences with detailed maps and stats.
- **Plan Your Next Trip** 📃: Take the guesswork out of planning your next adventure with an easy-to-use itinerary planner.
- Itineraries can be created for any number of days and can include multiple destinations.
- Itineraries include many planning features like flight information, notes, checklists, and links to external resources.
- Itineraries can be shared with friends and family for collaborative planning.
- **Share Your Experiences** 📸: Share your adventures with friends and family and collaborate on trips together.
- Locations and itineraries can be shared via a public link or directly with other AdventureLog users.
- Collaborators can view and edit shared itineraries (collections), making planning a breeze.
<!-- Roadmap -->
## 🧭 Roadmap
The AdventureLog Roadmap can be found [here](https://github.com/users/seanmorley15/projects/5)
<!-- Contributing -->
## 👋 Contributing
<a href="https://github.com/seanmorley15/AdventureLog/graphs/contributors">
<img src="https://contrib.rocks/image?repo=seanmorley15/AdventureLog" />
</a>
Contributions are always welcome!
See `contributing.md` for ways to get started.
### Translation
AdventureLog is available on [Weblate](https://hosted.weblate.org/projects/adventurelog/). If you would like to help translate AdventureLog into your language, please visit the link and contribute!
<a href="https://hosted.weblate.org/engage/adventurelog/">
<img src="https://hosted.weblate.org/widget/adventurelog/multi-auto.svg" alt="Translation status" />
</a>
<!-- License -->
## 📃 License
Distributed under the GNU General Public License v3.0. See `LICENSE` for more information.
<!-- Contact -->
## 🤝 Contact
Sean Morley - [website](https://seanmorley.com)
Hi! I'm Sean, the creator of AdventureLog. I'm a college student and software developer with a passion for travel and adventure. I created AdventureLog to help people like me document their adventures and plan new ones effortlessly. As a student, I am always looking for more opportunities to learn and grow, so feel free to reach out via the contact on my website if you would like to collaborate or chat!
<!-- Acknowledgments -->
## 💎 Acknowledgements
- Logo Design by [nordtektiger](https://github.com/nordtektiger)
- WorldTravel Dataset [dr5hn/countries-states-cities-database](https://github.com/dr5hn/countries-states-cities-database)
### Top Supporters 💖
- [Veymax](https://x.com/veymax)
- [nebriv](https://github.com/nebriv)
- [Miguel Cruz](https://github.com/Tokynet)
- [Victor Butler](https://x.com/victor_butler)