diff --git a/documentation/.vitepress/config.mts b/documentation/.vitepress/config.mts
index 8757709..b79077c 100644
--- a/documentation/.vitepress/config.mts
+++ b/documentation/.vitepress/config.mts
@@ -122,6 +122,7 @@ export default defineConfig({
},
{
text: "Changelogs",
+ collapsed: false,
items: [
{
text: "v0.7.1",
diff --git a/frontend/src/lib/components/AdventureModal.svelte b/frontend/src/lib/components/AdventureModal.svelte
index 0dfc951..c0dc277 100644
--- a/frontend/src/lib/components/AdventureModal.svelte
+++ b/frontend/src/lib/components/AdventureModal.svelte
@@ -405,16 +405,20 @@
console.log(adventure);
if (adventure.id === '') {
console.log(categories);
- if (categories.some((category) => category.name === 'general')) {
- adventure.category = categories.find((category) => category.name === 'general') as Category;
- } else {
- adventure.category = {
- id: '',
- name: 'general',
- display_name: 'General',
- icon: '🌍',
- user_id: ''
- };
+ if (adventure.category?.display_name == '') {
+ if (categories.some((category) => category.name === 'general')) {
+ adventure.category = categories.find(
+ (category) => category.name === 'general'
+ ) as Category;
+ } else {
+ adventure.category = {
+ id: '',
+ name: 'general',
+ display_name: 'General',
+ icon: '🌍',
+ user_id: ''
+ };
+ }
}
let res = await fetch('/api/adventures', {
method: 'POST',
diff --git a/frontend/src/lib/components/CategoryDropdown.svelte b/frontend/src/lib/components/CategoryDropdown.svelte
index 5d86822..8994767 100644
--- a/frontend/src/lib/components/CategoryDropdown.svelte
+++ b/frontend/src/lib/components/CategoryDropdown.svelte
@@ -77,16 +77,19 @@
>
-
- {#each categories as category}
-
-
-
+ {#each categories
+ .slice()
+ .sort((a, b) => (b.num_adventures || 0) - (a.num_adventures || 0)) as category}
+
+
{/each}
diff --git a/frontend/src/lib/components/CategoryModal.svelte b/frontend/src/lib/components/CategoryModal.svelte
index bb60725..687e6c7 100644
--- a/frontend/src/lib/components/CategoryModal.svelte
+++ b/frontend/src/lib/components/CategoryModal.svelte
@@ -6,6 +6,8 @@
let modal: HTMLDialogElement;
import { t } from 'svelte-i18n';
+ import InformationSlabCircle from '~icons/mdi/information-slab-circle';
+
export let categories: Category[] = [];
let category_to_edit: Category | null = null;
@@ -86,6 +88,8 @@
+ {:else}
+
{/if}
diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json
index 0b00798..a6d906a 100644
--- a/frontend/src/locales/en.json
+++ b/frontend/src/locales/en.json
@@ -1,414 +1,414 @@
{
- "navbar": {
- "adventures": "Adventures",
- "collections": "Collections",
- "worldtravel": "World Travel",
- "map": "Map",
- "users": "Users",
- "search": "Search",
- "profile": "Profile",
- "greeting": "Hi",
- "my_adventures": "My Adventures",
- "my_tags": "My Tags",
- "tag": "Tag",
- "shared_with_me": "Shared With Me",
- "settings": "Settings",
- "logout": "Logout",
- "about": "About AdventureLog",
- "documentation": "Documentation",
- "discord": "Discord",
- "language_selection": "Language",
- "support": "Support",
- "theme_selection": "Theme Selection",
- "themes": {
- "light": "Light",
- "dark": "Dark",
- "night": "Night",
- "forest": "Forest",
- "aestheticLight": "Aesthetic Light",
- "aestheticDark": "Aesthetic Dark",
- "aqua": "Aqua"
- }
- },
- "about": {
- "about": "About",
- "license": "Licensed under the GPL-3.0 License.",
- "source_code": "Source Code",
- "message": "Made with ❤️ in the United States.",
- "oss_attributions": "Open Source Attributions",
- "nominatim_1": "Location Search and Geocoding is provided by",
- "nominatim_2": "Their data is liscensed under the ODbL license.",
- "other_attributions": "Additional attributions can be found in the README file.",
- "close": "Close"
- },
- "home": {
- "hero_1": "Discover the World's Most Thrilling Adventures",
- "hero_2": "Discover and plan your next adventure with AdventureLog. Explore breathtaking destinations, create custom itineraries, and stay connected on the go.",
- "go_to": "Go To AdventureLog",
- "key_features": "Key Features",
- "desc_1": "Discover, Plan, and Explore with Ease",
- "desc_2": "AdventureLog is designed to simplify your journey, providing you with the tools and resources to plan, pack, and navigate your next unforgettable adventure.",
- "feature_1": "Travel Log",
- "feature_1_desc": "Keep track of your adventures with a personalized travel log and share your experiences with friends and family.",
- "feature_2": "Trip Planning",
- "feature_2_desc": "Easily create custom itineraries and get a day-by-day breakdown of your trip.",
- "feature_3": "Travel Map",
- "feature_3_desc": "View your travels throughout the world with an interactive map and explore new destinations."
- },
- "adventures": {
- "collection_remove_success": "Adventure removed from collection successfully!",
- "collection_remove_error": "Error removing adventure from collection",
- "collection_link_success": "Adventure linked to collection successfully!",
- "no_image_found": "No image found",
- "collection_link_error": "Error linking adventure to collection",
- "adventure_delete_confirm": "Are you sure you want to delete this adventure? This action cannot be undone.",
- "open_details": "Open Details",
- "edit_adventure": "Edit Adventure",
- "remove_from_collection": "Remove from Collection",
- "add_to_collection": "Add to Collection",
- "delete": "Delete",
- "not_found": "Adventure not found",
- "not_found_desc": "The adventure you were looking for could not be found. Please try a different adventure or check back later.",
- "homepage": "Homepage",
- "adventure_details": "Adventure Details",
- "collection": "Collection",
- "adventure_type": "Adventure Type",
- "longitude": "Longitude",
- "latitude": "Latitude",
- "visit": "Visit",
- "visits": "Visits",
- "create_new": "Create New...",
- "adventure": "Adventure",
- "count_txt": "results matching your search",
- "sort": "Sort",
- "order_by": "Order By",
- "order_direction": "Order Direction",
- "ascending": "Ascending",
- "descending": "Descending",
- "updated": "Updated",
- "name": "Name",
- "date": "Date",
- "activity_types": "Activity Types",
- "tags": "Tags",
- "add_a_tag": "Add a tag",
- "date_constrain": "Constrain to collection dates",
- "rating": "Rating",
- "my_images": "My Images",
- "add_an_activity": "Add an activity",
- "no_images": "No Images",
- "upload_images_here": "Upload images here",
- "share_adventure": "Share this Adventure!",
- "copy_link": "Copy Link",
- "image": "Image",
- "upload_image": "Upload Image",
- "url": "URL",
- "fetch_image": "Fetch Image",
- "wikipedia": "Wikipedia",
- "add_notes": "Add notes",
- "warning": "Warning",
- "my_adventures": "My Adventures",
- "no_linkable_adventures": "No adventures found that can be linked to this collection.",
- "add": "Add",
- "save_next": "Save & Next",
- "end_date": "End Date",
- "my_visits": "My Visits",
- "start_date": "Start Date",
- "remove": "Remove",
- "location": "Location",
- "search_for_location": "Search for a location",
- "clear_map": "Clear map",
- "search_results": "Searh results",
- "no_results": "No results found",
- "wiki_desc": "Pulls excerpt from Wikipedia article matching the name of the adventure.",
- "generate_desc": "Generate Description",
- "public_adventure": "Public Adventure",
- "location_information": "Location Information",
- "link": "Link",
- "links": "Links",
- "description": "Description",
- "sources": "Sources",
- "collection_adventures": "Include Collection Adventures",
- "filter": "Filter",
- "category_filter": "Category Filter",
- "category": "Category",
- "select_adventure_category": "Select Adventure Category",
- "clear": "Clear",
- "my_collections": "My Collections",
- "open_filters": "Open Filters",
- "close_filters": "Close Filters",
- "archived_collections": "Archived Collections",
- "share": "Share",
- "private": "Private",
- "public": "Public",
- "archived": "Archived",
- "edit_collection": "Edit Collection",
- "unarchive": "Unarchive",
- "archive": "Archive",
- "no_collections_found": "No collections found to add this adventure to.",
- "not_visited": "Not Visited",
- "archived_collection_message": "Collection archived successfully!",
- "unarchived_collection_message": "Collection unarchived successfully!",
- "delete_collection_success": "Collection deleted successfully!",
- "delete_collection_warning": "Are you sure you want to delete this collection? This will also delete all of the linked adventures. This action cannot be undone.",
- "cancel": "Cancel",
- "delete_collection": "Delete Collection",
- "delete_adventure": "Delete Adventure",
- "adventure_delete_success": "Adventure deleted successfully!",
- "visited": "Visited",
- "planned": "Planned",
- "duration": "Duration",
- "all": "All",
- "image_removed_success": "Image removed successfully!",
- "image_removed_error": "Error removing image",
- "no_image_url": "No image found at that URL.",
- "image_upload_success": "Image uploaded successfully!",
- "image_upload_error": "Error uploading image",
- "dates": "Dates",
- "wiki_image_error": "Error fetching image from Wikipedia",
- "start_before_end_error": "Start date must be before end date",
- "activity": "Activity",
- "actions": "Actions",
- "no_end_date": "Please enter an end date",
- "see_adventures": "See Adventures",
- "image_fetch_failed": "Failed to fetch image",
- "no_location": "Please enter a location",
- "no_start_date": "Please enter a start date",
- "no_description_found": "No description found",
- "adventure_created": "Adventure created",
- "adventure_create_error": "Failed to create adventure",
- "adventure_updated": "Adventure updated",
- "adventure_update_error": "Failed to update adventure",
- "set_to_pin": "Set to Pin",
- "category_fetch_error": "Error fetching categories",
- "new_adventure": "New Adventure",
- "basic_information": "Basic Information",
- "adventure_not_found": "There are no adventures to display. Add some using the plus button at the bottom right or try changing filters!",
- "no_adventures_found": "No adventures found",
- "mark_region_as_visited": "Mark region {region}, {country} as visited?",
- "mark_visited": "Mark Visited",
- "error_updating_regions": "Error updating regions",
- "regions_updated": "regions updated",
- "visited_region_check": "Visited Region Check",
- "visited_region_check_desc": "By selecting this, the server will check all of your visited adventures and mark the regions they are located in as visited in world travel.",
- "update_visited_regions": "Update Visited Regions",
- "update_visited_regions_disclaimer": "This may take a while depending on the number of adventures you have visited.",
- "link_new": "Link New...",
- "add_new": "Add New...",
- "transportation": "Transportation",
- "note": "Note",
- "checklist": "Checklist",
- "collection_archived": "This collection has been archived.",
- "visit_link": "Visit Link",
- "collection_completed": "You've completed this collection!",
- "collection_stats": "Collection Stats",
- "keep_exploring": "Keep Exploring!",
- "linked_adventures": "Linked Adventures",
- "notes": "Notes",
- "checklists": "Checklists",
- "transportations": "Transportations",
- "day": "Day",
- "itineary_by_date": "Itinerary by Date",
- "nothing_planned": "Nothing planned for this day. Enjoy the journey!",
- "days": "days",
- "activities": {
- "general": "General 🌍",
- "outdoor": "Outdoor 🏞️",
- "lodging": "Lodging 🛌",
- "dining": "Dining 🍽️",
- "activity": "Activity 🏄",
- "attraction": "Attraction 🎢",
- "shopping": "Shopping 🛍️",
- "nightlife": "Nightlife 🌃",
- "event": "Event 🎉",
- "transportation": "Transportation 🚗",
- "culture": "Culture 🎭",
- "water_sports": "Water Sports 🚤",
- "hiking": "Hiking 🥾",
- "wildlife": "Wildlife 🦒",
- "historical_sites": "Historical Sites 🏛️",
- "music_concerts": "Music & Concerts 🎶",
- "fitness": "Fitness 🏋️",
- "art_museums": "Art & Museums 🎨",
- "festivals": "Festivals 🎪",
- "spiritual_journeys": "Spiritual Journeys 🧘♀️",
- "volunteer_work": "Volunteer Work 🤝",
- "other": "Other"
- }
- },
- "worldtravel": {
- "country_list": "Country List",
- "num_countries": "countries found",
- "all": "All",
- "partially_visited": "Partially Visited",
- "not_visited": "Not Visited",
- "completely_visited": "Completely Visited",
- "all_subregions": "All Subregions",
- "clear_search": "Clear Search",
- "no_countries_found": "No countries found"
- },
- "auth": {
- "username": "Username",
- "password": "Password",
- "forgot_password": "Forgot Password?",
- "signup": "Signup",
- "login_error": "Unable to login with the provided credentials.",
- "login": "Login",
- "email": "Email",
- "first_name": "First Name",
- "last_name": "Last Name",
- "confirm_password": "Confirm Password",
- "registration_disabled": "Registration is currently disabled.",
- "profile_picture": "Profile Picture",
- "public_profile": "Public Profile",
- "public_tooltip": "With a public profile, users can share collections with you and view your profile on the users page."
- },
- "users": {
- "no_users_found": "No users found with public profiles."
- },
- "settings": {
- "update_error": "Error updating settings",
- "update_success": "Settings updated successfully!",
- "settings_page": "Settings Page",
- "account_settings": "User Account Settings",
- "update": "Update",
- "password_change": "Change Password",
- "new_password": "New Password",
- "confirm_new_password": "Confirm New Password",
- "email_change": "Change Email",
- "current_email": "Current Email",
- "no_email_set": "No email set",
- "new_email": "New Email",
- "change_password": "Change Password",
- "login_redir": "You will then be redirected to the login page.",
- "token_required": "Token and UID are required for password reset.",
- "reset_password": "Reset Password",
- "possible_reset": "If the email address you provided is associated with an account, you will receive an email with instructions to reset your password!",
- "missing_email": "Please enter an email address",
- "submit": "Submit",
- "password_does_not_match": "Passwords do not match",
- "password_is_required": "Password is required",
- "invalid_token": "Token is invalid or has expired",
- "about_this_background": "About this background",
- "photo_by": "Photo by",
- "join_discord": "Join the Discord",
- "join_discord_desc": "to share your own photos. Post them in the #travel-share channel."
- },
- "collection": {
- "collection_created": "Collection created successfully!",
- "error_creating_collection": "Error creating collection",
- "new_collection": "New Collection",
- "create": "Create",
- "collection_edit_success": "Collection edited successfully!",
- "error_editing_collection": "Error editing collection",
- "edit_collection": "Edit Collection"
- },
- "notes": {
- "note_deleted": "Note deleted successfully!",
- "note_delete_error": "Error deleting note",
- "open": "Open",
- "failed_to_save": "Failed to save note",
- "note_editor": "Note Editor",
- "editing_note": "Editing note",
- "content": "Content",
- "save": "Save",
- "note_public": "This note is public because it is in a public collection.",
- "add_a_link": "Add a link",
- "invalid_url": "Invalid URL"
- },
- "checklist": {
- "checklist_deleted": "Checklist deleted successfully!",
- "checklist_delete_error": "Error deleting checklist",
- "failed_to_save": "Failed to save checklist",
- "checklist_editor": "Checklist Editor",
- "editing_checklist": "Editing checklist",
- "item": "Item",
- "items": "Items",
- "add_item": "Add Item",
- "new_item": "New Item",
- "save": "Save",
- "checklist_public": "This checklist is public because it is in a public collection.",
- "item_cannot_be_empty": "Item cannot be empty",
- "item_already_exists": "Item already exists"
- },
- "transportation": {
- "transportation_deleted": "Transportation deleted successfully!",
- "transportation_delete_error": "Error deleting transportation",
- "provide_start_date": "Please provide a start date",
- "transport_type": "Transport Type",
- "type": "Type",
- "transportation_added": "Transportation added successfully!",
- "error_editing_transportation": "Error editing transportation",
- "new_transportation": "New Transportation",
- "date_time": "Start Date & Time",
- "end_date_time": "End Date & Time",
- "flight_number": "Flight Number",
- "from_location": "From Location",
- "to_location": "To Location",
- "edit": "Edit",
- "modes": {
- "car": "Car",
- "plane": "Plane",
- "train": "Train",
- "bus": "Bus",
- "boat": "Boat",
- "bike": "Bike",
- "walking": "Walking",
- "other": "Other"
- },
- "transportation_edit_success": "Transportation edited successfully!",
- "edit_transportation": "Edit Transportation",
- "start": "Start",
- "date_and_time": "Date & Time"
- },
- "search": {
- "adventurelog_results": "AdventureLog Results",
- "public_adventures": "Public Adventures",
- "online_results": "Online Results"
- },
- "map": {
- "view_details": "View Details",
- "adventure_map": "Adventure Map",
- "map_options": "Map Options",
- "show_visited_regions": "Show Visited Regions",
- "add_adventure_at_marker": "Add New Adventure at Marker",
- "clear_marker": "Clear Marker",
- "add_adventure": "Add New Adventure"
- },
- "share": {
- "shared": "Shared",
- "with": "with",
- "unshared": "Unshared",
- "share_desc": "Share this collection with other users.",
- "shared_with": "Shared With",
- "no_users_shared": "No users shared with",
- "not_shared_with": "Not Shared With",
- "no_shared_found": "No collections found that are shared with you.",
- "set_public": "In order to allow users to share with you, you need your profile set to public.",
- "go_to_settings": "Go to settings"
- },
- "languages": {
- "en": "English",
- "de": "German",
- "es": "Spanish",
- "fr": "French",
- "it": "Italian",
- "nl": "Dutch",
- "sv": "Swedish",
- "zh": "Chinese"
- },
- "profile": {
- "member_since": "Member since",
- "user_stats": "User Stats",
- "visited_countries": "Visited Countries",
- "visited_regions": "Visited Regions"
- },
- "categories": {
- "manage_categories": "Manage Categories",
- "no_categories_found": "No categories found.",
- "edit_category": "Edit Category",
- "icon": "Icon",
- "update_after_refresh": "The adventure cards will be updated once you refresh the page.",
- "select_category": "Select Category",
- "category_name": "Category Name"
- }
+ "navbar": {
+ "adventures": "Adventures",
+ "collections": "Collections",
+ "worldtravel": "World Travel",
+ "map": "Map",
+ "users": "Users",
+ "search": "Search",
+ "profile": "Profile",
+ "greeting": "Hi",
+ "my_adventures": "My Adventures",
+ "my_tags": "My Tags",
+ "tag": "Tag",
+ "shared_with_me": "Shared With Me",
+ "settings": "Settings",
+ "logout": "Logout",
+ "about": "About AdventureLog",
+ "documentation": "Documentation",
+ "discord": "Discord",
+ "language_selection": "Language",
+ "support": "Support",
+ "theme_selection": "Theme Selection",
+ "themes": {
+ "light": "Light",
+ "dark": "Dark",
+ "night": "Night",
+ "forest": "Forest",
+ "aestheticLight": "Aesthetic Light",
+ "aestheticDark": "Aesthetic Dark",
+ "aqua": "Aqua"
+ }
+ },
+ "about": {
+ "about": "About",
+ "license": "Licensed under the GPL-3.0 License.",
+ "source_code": "Source Code",
+ "message": "Made with ❤️ in the United States.",
+ "oss_attributions": "Open Source Attributions",
+ "nominatim_1": "Location Search and Geocoding is provided by",
+ "nominatim_2": "Their data is liscensed under the ODbL license.",
+ "other_attributions": "Additional attributions can be found in the README file.",
+ "close": "Close"
+ },
+ "home": {
+ "hero_1": "Discover the World's Most Thrilling Adventures",
+ "hero_2": "Discover and plan your next adventure with AdventureLog. Explore breathtaking destinations, create custom itineraries, and stay connected on the go.",
+ "go_to": "Go To AdventureLog",
+ "key_features": "Key Features",
+ "desc_1": "Discover, Plan, and Explore with Ease",
+ "desc_2": "AdventureLog is designed to simplify your journey, providing you with the tools and resources to plan, pack, and navigate your next unforgettable adventure.",
+ "feature_1": "Travel Log",
+ "feature_1_desc": "Keep track of your adventures with a personalized travel log and share your experiences with friends and family.",
+ "feature_2": "Trip Planning",
+ "feature_2_desc": "Easily create custom itineraries and get a day-by-day breakdown of your trip.",
+ "feature_3": "Travel Map",
+ "feature_3_desc": "View your travels throughout the world with an interactive map and explore new destinations."
+ },
+ "adventures": {
+ "collection_remove_success": "Adventure removed from collection successfully!",
+ "collection_remove_error": "Error removing adventure from collection",
+ "collection_link_success": "Adventure linked to collection successfully!",
+ "no_image_found": "No image found",
+ "collection_link_error": "Error linking adventure to collection",
+ "adventure_delete_confirm": "Are you sure you want to delete this adventure? This action cannot be undone.",
+ "open_details": "Open Details",
+ "edit_adventure": "Edit Adventure",
+ "remove_from_collection": "Remove from Collection",
+ "add_to_collection": "Add to Collection",
+ "delete": "Delete",
+ "not_found": "Adventure not found",
+ "not_found_desc": "The adventure you were looking for could not be found. Please try a different adventure or check back later.",
+ "homepage": "Homepage",
+ "adventure_details": "Adventure Details",
+ "collection": "Collection",
+ "adventure_type": "Adventure Type",
+ "longitude": "Longitude",
+ "latitude": "Latitude",
+ "visit": "Visit",
+ "visits": "Visits",
+ "create_new": "Create New...",
+ "adventure": "Adventure",
+ "count_txt": "results matching your search",
+ "sort": "Sort",
+ "order_by": "Order By",
+ "order_direction": "Order Direction",
+ "ascending": "Ascending",
+ "descending": "Descending",
+ "updated": "Updated",
+ "name": "Name",
+ "date": "Date",
+ "activity_types": "Activity Types",
+ "tags": "Tags",
+ "add_a_tag": "Add a tag",
+ "date_constrain": "Constrain to collection dates",
+ "rating": "Rating",
+ "my_images": "My Images",
+ "add_an_activity": "Add an activity",
+ "no_images": "No Images",
+ "upload_images_here": "Upload images here",
+ "share_adventure": "Share this Adventure!",
+ "copy_link": "Copy Link",
+ "image": "Image",
+ "upload_image": "Upload Image",
+ "url": "URL",
+ "fetch_image": "Fetch Image",
+ "wikipedia": "Wikipedia",
+ "add_notes": "Add notes",
+ "warning": "Warning",
+ "my_adventures": "My Adventures",
+ "no_linkable_adventures": "No adventures found that can be linked to this collection.",
+ "add": "Add",
+ "save_next": "Save & Next",
+ "end_date": "End Date",
+ "my_visits": "My Visits",
+ "start_date": "Start Date",
+ "remove": "Remove",
+ "location": "Location",
+ "search_for_location": "Search for a location",
+ "clear_map": "Clear map",
+ "search_results": "Searh results",
+ "no_results": "No results found",
+ "wiki_desc": "Pulls excerpt from Wikipedia article matching the name of the adventure.",
+ "generate_desc": "Generate Description",
+ "public_adventure": "Public Adventure",
+ "location_information": "Location Information",
+ "link": "Link",
+ "links": "Links",
+ "description": "Description",
+ "sources": "Sources",
+ "collection_adventures": "Include Collection Adventures",
+ "filter": "Filter",
+ "category_filter": "Category Filter",
+ "category": "Category",
+ "select_adventure_category": "Select Adventure Category",
+ "clear": "Clear",
+ "my_collections": "My Collections",
+ "open_filters": "Open Filters",
+ "close_filters": "Close Filters",
+ "archived_collections": "Archived Collections",
+ "share": "Share",
+ "private": "Private",
+ "public": "Public",
+ "archived": "Archived",
+ "edit_collection": "Edit Collection",
+ "unarchive": "Unarchive",
+ "archive": "Archive",
+ "no_collections_found": "No collections found to add this adventure to.",
+ "not_visited": "Not Visited",
+ "archived_collection_message": "Collection archived successfully!",
+ "unarchived_collection_message": "Collection unarchived successfully!",
+ "delete_collection_success": "Collection deleted successfully!",
+ "delete_collection_warning": "Are you sure you want to delete this collection? This will also delete all of the linked adventures. This action cannot be undone.",
+ "cancel": "Cancel",
+ "delete_collection": "Delete Collection",
+ "delete_adventure": "Delete Adventure",
+ "adventure_delete_success": "Adventure deleted successfully!",
+ "visited": "Visited",
+ "planned": "Planned",
+ "duration": "Duration",
+ "all": "All",
+ "image_removed_success": "Image removed successfully!",
+ "image_removed_error": "Error removing image",
+ "no_image_url": "No image found at that URL.",
+ "image_upload_success": "Image uploaded successfully!",
+ "image_upload_error": "Error uploading image",
+ "dates": "Dates",
+ "wiki_image_error": "Error fetching image from Wikipedia",
+ "start_before_end_error": "Start date must be before end date",
+ "activity": "Activity",
+ "actions": "Actions",
+ "no_end_date": "Please enter an end date",
+ "see_adventures": "See Adventures",
+ "image_fetch_failed": "Failed to fetch image",
+ "no_location": "Please enter a location",
+ "no_start_date": "Please enter a start date",
+ "no_description_found": "No description found",
+ "adventure_created": "Adventure created",
+ "adventure_create_error": "Failed to create adventure",
+ "adventure_updated": "Adventure updated",
+ "adventure_update_error": "Failed to update adventure",
+ "set_to_pin": "Set to Pin",
+ "category_fetch_error": "Error fetching categories",
+ "new_adventure": "New Adventure",
+ "basic_information": "Basic Information",
+ "adventure_not_found": "There are no adventures to display. Add some using the plus button at the bottom right or try changing filters!",
+ "no_adventures_found": "No adventures found",
+ "mark_region_as_visited": "Mark region {region}, {country} as visited?",
+ "mark_visited": "Mark Visited",
+ "error_updating_regions": "Error updating regions",
+ "regions_updated": "regions updated",
+ "visited_region_check": "Visited Region Check",
+ "visited_region_check_desc": "By selecting this, the server will check all of your visited adventures and mark the regions they are located in as visited in world travel.",
+ "update_visited_regions": "Update Visited Regions",
+ "update_visited_regions_disclaimer": "This may take a while depending on the number of adventures you have visited.",
+ "link_new": "Link New...",
+ "add_new": "Add New...",
+ "transportation": "Transportation",
+ "note": "Note",
+ "checklist": "Checklist",
+ "collection_archived": "This collection has been archived.",
+ "visit_link": "Visit Link",
+ "collection_completed": "You've completed this collection!",
+ "collection_stats": "Collection Stats",
+ "keep_exploring": "Keep Exploring!",
+ "linked_adventures": "Linked Adventures",
+ "notes": "Notes",
+ "checklists": "Checklists",
+ "transportations": "Transportations",
+ "day": "Day",
+ "itineary_by_date": "Itinerary by Date",
+ "nothing_planned": "Nothing planned for this day. Enjoy the journey!",
+ "days": "days",
+ "activities": {
+ "general": "General 🌍",
+ "outdoor": "Outdoor 🏞️",
+ "lodging": "Lodging 🛌",
+ "dining": "Dining 🍽️",
+ "activity": "Activity 🏄",
+ "attraction": "Attraction 🎢",
+ "shopping": "Shopping 🛍️",
+ "nightlife": "Nightlife 🌃",
+ "event": "Event 🎉",
+ "transportation": "Transportation 🚗",
+ "culture": "Culture 🎭",
+ "water_sports": "Water Sports 🚤",
+ "hiking": "Hiking 🥾",
+ "wildlife": "Wildlife 🦒",
+ "historical_sites": "Historical Sites 🏛️",
+ "music_concerts": "Music & Concerts 🎶",
+ "fitness": "Fitness 🏋️",
+ "art_museums": "Art & Museums 🎨",
+ "festivals": "Festivals 🎪",
+ "spiritual_journeys": "Spiritual Journeys 🧘♀️",
+ "volunteer_work": "Volunteer Work 🤝",
+ "other": "Other"
+ }
+ },
+ "worldtravel": {
+ "country_list": "Country List",
+ "num_countries": "countries found",
+ "all": "All",
+ "partially_visited": "Partially Visited",
+ "not_visited": "Not Visited",
+ "completely_visited": "Completely Visited",
+ "all_subregions": "All Subregions",
+ "clear_search": "Clear Search",
+ "no_countries_found": "No countries found"
+ },
+ "auth": {
+ "username": "Username",
+ "password": "Password",
+ "forgot_password": "Forgot Password?",
+ "signup": "Signup",
+ "login_error": "Unable to login with the provided credentials.",
+ "login": "Login",
+ "email": "Email",
+ "first_name": "First Name",
+ "last_name": "Last Name",
+ "confirm_password": "Confirm Password",
+ "registration_disabled": "Registration is currently disabled.",
+ "profile_picture": "Profile Picture",
+ "public_profile": "Public Profile",
+ "public_tooltip": "With a public profile, users can share collections with you and view your profile on the users page."
+ },
+ "users": {
+ "no_users_found": "No users found with public profiles."
+ },
+ "settings": {
+ "update_error": "Error updating settings",
+ "update_success": "Settings updated successfully!",
+ "settings_page": "Settings Page",
+ "account_settings": "User Account Settings",
+ "update": "Update",
+ "password_change": "Change Password",
+ "new_password": "New Password",
+ "confirm_new_password": "Confirm New Password",
+ "email_change": "Change Email",
+ "current_email": "Current Email",
+ "no_email_set": "No email set",
+ "new_email": "New Email",
+ "change_password": "Change Password",
+ "login_redir": "You will then be redirected to the login page.",
+ "token_required": "Token and UID are required for password reset.",
+ "reset_password": "Reset Password",
+ "possible_reset": "If the email address you provided is associated with an account, you will receive an email with instructions to reset your password!",
+ "missing_email": "Please enter an email address",
+ "submit": "Submit",
+ "password_does_not_match": "Passwords do not match",
+ "password_is_required": "Password is required",
+ "invalid_token": "Token is invalid or has expired",
+ "about_this_background": "About this background",
+ "photo_by": "Photo by",
+ "join_discord": "Join the Discord",
+ "join_discord_desc": "to share your own photos. Post them in the #travel-share channel."
+ },
+ "collection": {
+ "collection_created": "Collection created successfully!",
+ "error_creating_collection": "Error creating collection",
+ "new_collection": "New Collection",
+ "create": "Create",
+ "collection_edit_success": "Collection edited successfully!",
+ "error_editing_collection": "Error editing collection",
+ "edit_collection": "Edit Collection"
+ },
+ "notes": {
+ "note_deleted": "Note deleted successfully!",
+ "note_delete_error": "Error deleting note",
+ "open": "Open",
+ "failed_to_save": "Failed to save note",
+ "note_editor": "Note Editor",
+ "editing_note": "Editing note",
+ "content": "Content",
+ "save": "Save",
+ "note_public": "This note is public because it is in a public collection.",
+ "add_a_link": "Add a link",
+ "invalid_url": "Invalid URL"
+ },
+ "checklist": {
+ "checklist_deleted": "Checklist deleted successfully!",
+ "checklist_delete_error": "Error deleting checklist",
+ "failed_to_save": "Failed to save checklist",
+ "checklist_editor": "Checklist Editor",
+ "editing_checklist": "Editing checklist",
+ "item": "Item",
+ "items": "Items",
+ "add_item": "Add Item",
+ "new_item": "New Item",
+ "save": "Save",
+ "checklist_public": "This checklist is public because it is in a public collection.",
+ "item_cannot_be_empty": "Item cannot be empty",
+ "item_already_exists": "Item already exists"
+ },
+ "transportation": {
+ "transportation_deleted": "Transportation deleted successfully!",
+ "transportation_delete_error": "Error deleting transportation",
+ "provide_start_date": "Please provide a start date",
+ "transport_type": "Transport Type",
+ "type": "Type",
+ "transportation_added": "Transportation added successfully!",
+ "error_editing_transportation": "Error editing transportation",
+ "new_transportation": "New Transportation",
+ "date_time": "Start Date & Time",
+ "end_date_time": "End Date & Time",
+ "flight_number": "Flight Number",
+ "from_location": "From Location",
+ "to_location": "To Location",
+ "edit": "Edit",
+ "modes": {
+ "car": "Car",
+ "plane": "Plane",
+ "train": "Train",
+ "bus": "Bus",
+ "boat": "Boat",
+ "bike": "Bike",
+ "walking": "Walking",
+ "other": "Other"
+ },
+ "transportation_edit_success": "Transportation edited successfully!",
+ "edit_transportation": "Edit Transportation",
+ "start": "Start",
+ "date_and_time": "Date & Time"
+ },
+ "search": {
+ "adventurelog_results": "AdventureLog Results",
+ "public_adventures": "Public Adventures",
+ "online_results": "Online Results"
+ },
+ "map": {
+ "view_details": "View Details",
+ "adventure_map": "Adventure Map",
+ "map_options": "Map Options",
+ "show_visited_regions": "Show Visited Regions",
+ "add_adventure_at_marker": "Add New Adventure at Marker",
+ "clear_marker": "Clear Marker",
+ "add_adventure": "Add New Adventure"
+ },
+ "share": {
+ "shared": "Shared",
+ "with": "with",
+ "unshared": "Unshared",
+ "share_desc": "Share this collection with other users.",
+ "shared_with": "Shared With",
+ "no_users_shared": "No users shared with",
+ "not_shared_with": "Not Shared With",
+ "no_shared_found": "No collections found that are shared with you.",
+ "set_public": "In order to allow users to share with you, you need your profile set to public.",
+ "go_to_settings": "Go to settings"
+ },
+ "languages": {
+ "en": "English",
+ "de": "German",
+ "es": "Spanish",
+ "fr": "French",
+ "it": "Italian",
+ "nl": "Dutch",
+ "sv": "Swedish",
+ "zh": "Chinese"
+ },
+ "profile": {
+ "member_since": "Member since",
+ "user_stats": "User Stats",
+ "visited_countries": "Visited Countries",
+ "visited_regions": "Visited Regions"
+ },
+ "categories": {
+ "manage_categories": "Manage Categories",
+ "no_categories_found": "No categories found.",
+ "edit_category": "Edit Category",
+ "icon": "Icon",
+ "update_after_refresh": "The adventure cards will be updated once you refresh the page.",
+ "select_category": "Select Category",
+ "category_name": "Category Name"
+ }
}
diff --git a/frontend/src/routes/map/+page.svelte b/frontend/src/routes/map/+page.svelte
index 773860e..705ce1c 100644
--- a/frontend/src/routes/map/+page.svelte
+++ b/frontend/src/routes/map/+page.svelte
@@ -126,7 +126,7 @@
on:click={togglePopup}
>
- {adventure.category?.display_name + ' ' + adventure.category?.icon}
+ {adventure.category?.icon}
{#if isPopupOpen}
(isPopupOpen = false)}>