+ The ultimate travel companion for the modern-day explorer. +
+ +Displays the adventures you have visited and the ones you plan to embark on. You can also filter and sort the adventures.
+Shows specific details about an adventure, including the name, date, location, description, and rating.
+View all of your adventures on a map, with the ability to filter by visit status and add new ones by click on the map
+Displays a summary of your adventures, including your world travel stats.
+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.
+Lists all the countries you have visited and plan to visit, with the ability to filter by visit status.
+Displays the regions for a specific country, includes a map view to visually select regions.
++ Admin Site + Account Managment +
++ This is a content delivery network for the AdventureLog project. You + can browse the content by clicking the button below. +
+ Browse Content ++ AdventureLog is a project that aims to provide a platform for users to + log their adventures and share them with the world. The project is + developed by Sean Morley and is + open source. View it on GitHub here: + AdventureLog. +
++ The data provided in this CDN is sourced from the following + repositories: +
+ +
+ {attachment.name}
+ {attachment.extension.toUpperCase()}
+
+ {checklist.items.length} + {checklist.items.length > 1 ? $t('checklist.items') : $t('checklist.item')} +
+ {/if} + + + {#if checklist.date && checklist.date !== ''} +{new Date(checklist.date).toLocaleDateString(undefined, { timeZone: 'UTC' })}
++ {totalItems} + {$t('worldtravel.total_items')} +
++ {collection.adventures.length} + {$t('navbar.adventures')} +
+ + + {#if collection.start_date && collection.end_date} ++ {$t('adventures.dates')}: + {new Date(collection.start_date).toLocaleDateString(undefined, { timeZone: 'UTC' })} ā + {new Date(collection.end_date).toLocaleDateString(undefined, { timeZone: 'UTC' })} +
++ {$t('adventures.duration')}: {Math.floor( + (new Date(collection.end_date).getTime() - new Date(collection.start_date).getTime()) / + (1000 * 60 * 60 * 24) + ) + 1} days +
+ {/if} ++ {$t('adventures.no_visits')} +
+ {/if} ++ {#if isAllDay(visit.start_date)} + {$t('adventures.all_day')} + {visit.start_date && typeof visit.start_date === 'string' + ? visit.start_date.split('T')[0] + : ''} ā {visit.end_date && typeof visit.end_date === 'string' + ? visit.end_date.split('T')[0] + : ''} + {:else if 'start_timezone' in visit} + {formatDateInTimezone(visit.start_date, visit.start_timezone)} ā {formatDateInTimezone( + visit.end_date, + visit.end_timezone + )} + {:else if visit.timezone} + {formatDateInTimezone(visit.start_date, visit.timezone)} ā {formatDateInTimezone( + visit.end_date, + visit.timezone + )} + {:else} + {new Date(visit.start_date).toLocaleString()} ā {new Date( + visit.end_date + ).toLocaleString()} + + {/if} + {#if 'timezone' in visit && visit.timezone} + {visit.timezone} + {/if} +
+ + + + + {#if 'start_timezone' in visit && 'end_timezone' in visit && visit.start_timezone !== visit.end_timezone} ++ {visit.start_timezone} ā {visit.end_timezone} +
+ {/if} + + {#if visit.notes} ++ "{visit.notes}" +
+ {/if} + +{immichError}
+{$t('adventures.no_results')}
+ {/if} + ++ {$t('adventures.display_name')}: + {reverseGeocodePlace.city + ? reverseGeocodePlace.city + ', ' + : ''}{reverseGeocodePlace.region}, {reverseGeocodePlace.country} +
++ {$t('adventures.region')}: + {reverseGeocodePlace.region} + {reverseGeocodePlace.region_visited ? 'ā ' : 'ā'} +
+ {#if reverseGeocodePlace.city} ++ {$t('adventures.city')}: + {reverseGeocodePlace.city} + {reverseGeocodePlace.city_visited ? 'ā ' : 'ā'} +
+ {/if} +{lodging.location}
+{lodging.reservation_number}
+{lodging.price}
++ {$t('adventures.adventure_not_found')} +
+ {:else} +{error}
+ {/if} ++ {note.links.length} + {note.links.length > 1 ? $t('adventures.links') : $t('adventures.link')} +
+{new Date(note.date).toLocaleDateString(undefined, { timeZone: 'UTC' })}
+@{user.username}
+ + {#if user.is_staff} +We couldn't find the page you were looking for.
+
+ AdventureLog server encountered an error while processing your request.
+
+ Please check the server logs for more information.
+
+ Administrators: Please check your setup using the + documentation. +
+
+ Hint: If you are an administrator, please check your PUBLIC_SERVER_URL
+ in the frontend config to make sure it can reach the backend.
+
+
+ {$t('home.hero_2')} +
+ + ++ {$t('home.desc_2')} +
++ {feature.description} +
++ {count} + {$t('navbar.adventures')} ⢠{getVisitedCount()} + {$t('adventures.visited')} ⢠{getPlannedCount()} + {$t('adventures.planned')} +
++ {$t('adventures.no_adventures_message')} +
+ +{$t('adventures.not_found_desc')}
+ +{adventure.collections.length} {$t('navbar.collections')}
+"{visit.notes}"
++ {adventure.category?.display_name + ' ' + adventure.category?.icon} +
+ {#if adventure.visits.length > 0} ++ {filteredDates.length} + {$t('calendar.events_scheduled')} +
++ {currentCount} + {activeView === 'owned' + ? $t('navbar.collections') + : activeView === 'shared' + ? $t('collection.shared_collections') + : $t('adventures.archived_collections')} +
++ {activeView === 'owned' + ? $t('collection.create_first') + : activeView === 'shared' + ? $t('collection.make_sure_public') + : $t('collection.archived_appear_here')} +
+ {#if activeView === 'owned'} + + {/if} ++ {$t('adventures.duration')}: + {numberOfDays} {$t('adventures.days')} +
+ {/if} ++ Dates: {new Date(collection.start_date).toLocaleDateString(undefined, { + timeZone: 'UTC' + })} - + {new Date(collection.end_date).toLocaleDateString(undefined, { + timeZone: 'UTC' + })} +
+{$t('adventures.nothing_planned')}
+ {/if} +{$t('adventures.all_day')} ā±ļø
+ {/if} +{$t('adventures.no_ordered_items')}
++ {adventure.is_visited ? $t('adventures.visited') : $t('adventures.planned')} +
++ {adventure.category?.display_name + ' ' + adventure.category?.icon} +
+ {#if adventure.visits && adventure.visits.length > 0} +
+ {#each adventure.visits as visit}
+ {visit.start_date
+ ? new Date(visit.start_date).toLocaleDateString(undefined, {
+ timeZone: 'UTC'
+ })
+ : ''}
+ {visit.end_date &&
+ visit.end_date !== '' &&
+ visit.end_date !== visit.start_date
+ ? ' - ' +
+ new Date(visit.end_date).toLocaleDateString(undefined, {
+ timeZone: 'UTC'
+ })
+ : ''}
+
+ {/each}
+
+ {transportation.type} +
++ {transportation.type} +
++ {hotel.type} +
+{$t('adventures.no_adventures_to_recommendations')}
++ {`${recomendation.tag} ${osmTagToEmoji(recomendation.tag)}`} +
+ +{recomendation.address}
+ {/if} + + {#if recomendation.distance_km} ++ {$t('adventures.distance')}: {recomendation.distance_km.toFixed(1)} km ({( + recomendation.distance_km / 1.609344 + ).toFixed(1)} miles) +
+ {/if} + ++ {$t('adventures.finding_recommendations')}... +
+{$t('adventures.not_found_desc')}
+ ++ {#if stats.adventure_count > 0} + {$t('dashboard.welcome_text_1')} + {stats.adventure_count} + {$t('dashboard.welcome_text_2')} + {:else} + {$t('dashboard.welcome_text_3')} + {/if} +
+{$t('home.latest_travel_experiences')}
++ {$t('dashboard.document_some_adventures')} +
+ + ++ {#if quote != null} + {quote.quote} + {/if} + ++
+ {filteredAdventures.length} + {$t('worldtravel.of')} + {totalAdventures} + {$t('map.adventures_shown')} +
++ {$t('map.place_marker_desc')} +
+ +@{user.username}
+ + + {#if user && user.date_joined} +{$t('profile.your_journey_at_a_glance')}
+{$t('profile.public_adventure_experiences')}
+{$t('profile.no_shared_adventures')}
+{$t('profile.planned_trips')}
+{$t('profile.no_shared_collections')}
++ {totalResults} result{totalResults !== 1 ? 's' : ''} found +
+ {/if} ++ Try searching for adventures, collections, countries, regions, cities, or users. +
++ {$t('settings.profile_info_desc')} +
++ {$t('settings.pass_change_desc')} +
++ {$t('settings.mfa_desc')} +
++ {$t('settings.social_auth_desc_1')} +
++ {user.disable_password + ? $t('settings.password_login_disabled') + : $t('settings.password_login_enabled')} +
++ {$t('settings.email_management_desc')} +
+{$t('settings.no_email_set')}
++ {$t('settings.integrations_desc')} +
++ {$t('immich.immich_integration_desc')} +
++ š {$t('immich.need_help')} + {$t('navbar.documentation')} +
++ {$t('google_maps.google_maps_integration_desc')} +
++ š {$t('immich.need_help')} + {$t('navbar.documentation')} +
+{$t('settings.administration_desc')}
++ {$t('settings.admin_panel_desc')} +
+ + {$t('settings.launch_administration_panel')} + ++ {$t('settings.region_updates_desc')} +
+ ++ {$t('settings.access_restricted_desc')} +
++ {$t('settings.advanced_settings_desc')} +
+{$t('settings.social_auth_desc')}
+ ++ {$t('about.license')} +
++ Ā© {copyrightYear} + Sean Morley. {$t('settings.all_rights_reserved')} +
+ +{is_disabled_message}
++ {#if quote != null} + {quote.quote} + {/if} + ++
+ {user.date_joined ? 'Joined ' + new Date(user.date_joined).toLocaleDateString() : ''} +
++ {$t('settings.email_verified_success')} +
+ {:else} ++ {$t('settings.email_verified_erorr_desc')} +
+ {/if} +{$t('users.no_users_found')}
+{/if} + ++ {filteredCountries.length} + {$t('worldtravel.of')} + {totalCountries} + {$t('worldtravel.countries')} +
++ {$t('worldtravel.no_countries_found_desc')} +
+ + + {#if allCountries.length === 0} +{$t('worldtravel.no_country_data_available_desc')}
++ {filteredRegions.length} of {regions.length} regions +
++ {$t('worldtravel.no_countries_found_desc')} +
+ ++ {filteredCities.length} + {$t('worldtravel.of')} + {allCities.length} + {$t('worldtravel.cities')} +
++ {$t('worldtravel.no_countries_found_desc')} +
+ +{location}
-{date}
-{user.username} - {user.icon}
-Last Login: {user.last_login}
-date: {user.signup_date}
-{user.role}
-{user.id}
-{regionId}
-- {#if quote != ""} - {quote} - {/if} - --
- Welcome to AdventureLog! Please follow the steps below to setup your server. -
- -{#if !loading} - -- {#if quote != ""} - {quote} - {/if} - --