Enhance user profile and world travel pages with improved UI and functionality
- Updated user profile page to include achievement calculations and enhanced styling for user information and statistics. - Added icons for better visual representation of user stats and achievements. - Improved layout for displaying adventures and collections with conditional rendering for empty states. - Refactored world travel page to include search and filter functionality for cities, with a sidebar for progress and stats. - Implemented completion percentage and progress bars for visited cities. - Enhanced map integration with markers for visited and not visited cities, including toggle options for map labels.
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
"logout": "Logout",
|
||||
"about": "About AdventureLog",
|
||||
"documentation": "Documentation",
|
||||
"discord": "Discord",
|
||||
"language_selection": "Language",
|
||||
"support": "Support",
|
||||
"calendar": "Calendar",
|
||||
@@ -89,9 +88,7 @@
|
||||
"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",
|
||||
@@ -101,8 +98,6 @@
|
||||
"visits": "Visits",
|
||||
"create_new": "Create New...",
|
||||
"adventure": "Adventure",
|
||||
"additional_info": "Additional Information",
|
||||
"sunrise_sunset": "Sunrise & Sunset",
|
||||
"count_txt": "results matching your search",
|
||||
"sort": "Sort",
|
||||
"order_by": "Order By",
|
||||
@@ -118,11 +113,9 @@
|
||||
"date_constrain": "Constrain to collection dates",
|
||||
"rating": "Rating",
|
||||
"my_images": "My Images",
|
||||
"add_an_activity": "Add an activity",
|
||||
"show_region_labels": "Show Region Labels",
|
||||
"no_images": "No Images",
|
||||
"distance": "Distance",
|
||||
"upload_images_here": "Upload images here",
|
||||
"share_adventure": "Share this Adventure!",
|
||||
"share_collection": "Share this Collection!",
|
||||
"copy_link": "Copy Link",
|
||||
@@ -142,7 +135,6 @@
|
||||
"add": "Add",
|
||||
"save_next": "Save & Next",
|
||||
"end_date": "End Date",
|
||||
"my_visits": "My Visits",
|
||||
"start_date": "Start Date",
|
||||
"remove": "Remove",
|
||||
"location": "Location",
|
||||
@@ -155,8 +147,6 @@
|
||||
"attachments": "Attachments",
|
||||
"attachment": "Attachment",
|
||||
"images": "Images",
|
||||
"primary": "Primary",
|
||||
"view_attachment": "View Attachment",
|
||||
"generate_desc": "Generate Description",
|
||||
"public_adventure": "Public Adventure",
|
||||
"location_information": "Location Information",
|
||||
@@ -168,11 +158,9 @@
|
||||
"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",
|
||||
@@ -188,7 +176,6 @@
|
||||
"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",
|
||||
"of": "of",
|
||||
"delete_collection": "Delete Collection",
|
||||
"delete_adventure": "Delete Adventure",
|
||||
"adventure_delete_success": "Adventure deleted successfully!",
|
||||
@@ -204,13 +191,10 @@
|
||||
"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",
|
||||
@@ -226,7 +210,6 @@
|
||||
"display_name": "Display Name",
|
||||
"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",
|
||||
@@ -268,7 +251,6 @@
|
||||
"will_be_marked": "will be marked as visited once the adventure is saved.",
|
||||
"start": "Start",
|
||||
"end": "End",
|
||||
"show_map": "Show Map",
|
||||
"emoji_picker": "Emoji Picker",
|
||||
"download_calendar": "Download Calendar",
|
||||
"all_day": "All Day",
|
||||
@@ -294,32 +276,8 @@
|
||||
"attachment_update_success": "Attachment updated successfully!",
|
||||
"attachment_name": "Attachment Name",
|
||||
"gpx_tip": "Upload GPX files to attachments to view them on the map!",
|
||||
"welcome_map_info": "Public adventures on this server",
|
||||
"attachment_update_error": "Error updating attachment",
|
||||
"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"
|
||||
},
|
||||
"activities": {},
|
||||
"lodging_information": "Lodging Information",
|
||||
"price": "Price",
|
||||
"reservation_number": "Reservation Number"
|
||||
@@ -344,8 +302,6 @@
|
||||
"failed_to_remove_visit": "Failed to remove visit to",
|
||||
"marked_visited": "marked as visited",
|
||||
"regions_in": "Regions in",
|
||||
"region_stats": "Region Stats",
|
||||
"all_visited": "You've visited all regions in",
|
||||
"cities": "cities"
|
||||
},
|
||||
"auth": {
|
||||
@@ -363,10 +319,7 @@
|
||||
"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.",
|
||||
"email_required": "Email is required",
|
||||
"new_password": "New Password (6+ characters)",
|
||||
"both_passwords_required": "Both passwords are required",
|
||||
"reset_failed": "Failed to reset password",
|
||||
"or_3rd_party": "Or login with a third-party service",
|
||||
"no_public_adventures": "No public adventures found",
|
||||
"no_public_collections": "No public collections found",
|
||||
@@ -392,7 +345,6 @@
|
||||
"new_password": "New Password",
|
||||
"confirm_new_password": "Confirm New Password",
|
||||
"email_change": "Change Email",
|
||||
"current_email": "Current Email",
|
||||
"no_email_set": "No email set",
|
||||
"email_management": "Email Management",
|
||||
"email_management_desc": "Manage your email addresses and verification status",
|
||||
@@ -401,22 +353,13 @@
|
||||
"enter_new_email": "Enter new email address",
|
||||
"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!",
|
||||
"email_verified_error_desc": "Your email could not be verified. Please try again.",
|
||||
"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.",
|
||||
"current_password": "Current Password",
|
||||
"change_password_error": "Unable to change password. Invalid current password or invalid new password.",
|
||||
"password_change_lopout_warning": "You will be logged out after changing your password.",
|
||||
"generic_error": "An error occurred while processing your request.",
|
||||
"email_removed": "Email removed successfully!",
|
||||
@@ -424,7 +367,6 @@
|
||||
"verify_email_success": "Email verification sent successfully!",
|
||||
"verify_email_error": "Error verifying email. Try again in a few minutes.",
|
||||
"email_added": "Email added successfully!",
|
||||
"email_added_error": "Error adding email",
|
||||
"email_set_primary": "Email set as primary successfully!",
|
||||
"email_set_primary_error": "Error setting email as primary",
|
||||
"verified": "Verified",
|
||||
@@ -433,7 +375,6 @@
|
||||
"make_primary": "Make Primary",
|
||||
"verify": "Verify",
|
||||
"no_emai_set": "No email set",
|
||||
"error_change_password": "Error changing password. Please check your current password and try again.",
|
||||
"mfa_disabled": "Multi-factor authentication disabled successfully!",
|
||||
"mfa_page_title": "Multi-Factor Authentication",
|
||||
"mfa_desc": "Add an extra layer of security to your account",
|
||||
@@ -453,16 +394,6 @@
|
||||
"email_verified_success": "Your email has been verified. You can now log in.",
|
||||
"email_verified_error": "Error verifying email",
|
||||
"email_verified_erorr_desc": "Your email could not be verified. Please try again.",
|
||||
"invalid_code": "Invalid MFA code",
|
||||
"invalid_credentials": "Invalid username or password",
|
||||
"mfa_required": "Multi-factor authentication is required",
|
||||
"required": "This field is required",
|
||||
"add_email_blocked": "You cannot add an email address to an account protected by two-factor authentication.",
|
||||
"duplicate_email": "This email address is already in use.",
|
||||
"csrf_failed": "Failed to fetch CSRF token",
|
||||
"email_taken": "This email address is already in use.",
|
||||
"username_taken": "This username is already in use.",
|
||||
"administration_settings": "Administration Settings",
|
||||
"launch_administration_panel": "Launch Administration Panel",
|
||||
"administration": "Administration",
|
||||
"admin_panel_desc": "Access the full administration interface",
|
||||
@@ -482,16 +413,11 @@
|
||||
"advanced_settings_desc": "Advanced configuration and development tools",
|
||||
"social_auth_setup": "Social Authentication Setup",
|
||||
"administration_desc": "Administrative tools and settings",
|
||||
"social_oidc_auth": "Social and OIDC Authentication",
|
||||
"social_auth_desc": "Enable or disable social and OIDC authentication providers for your account. These connections allow you to sign in with self hosted authentication identity providers like Authentik or 3rd party providers like GitHub.",
|
||||
"social_auth_desc_2": "These settings are managed in the AdventureLog server and must be manually enabled by the administrator.",
|
||||
"documentation_link": "Documentation Link",
|
||||
"launch_account_connections": "Launch Account Connections",
|
||||
"password_too_short": "Password must be at least 6 characters",
|
||||
"add_email": "Add Email",
|
||||
"password_disable": "Disable Password Authentication",
|
||||
"password_disable_desc": "Disabling password authentication will prevent you from logging in with a password. You will need to use a social or OIDC provider to log in. Should your social provider be unlinked, password authentication will be automatically re-enabled even if this setting is disabled.",
|
||||
"disable_password": "Disable Password",
|
||||
"password_enabled": "Password authentication enabled",
|
||||
"password_disabled": "Password authentication disabled",
|
||||
"password_disable_warning": "Currently, password authentication is disabled. Login via a social or OIDC provider is required.",
|
||||
@@ -514,8 +440,7 @@
|
||||
"enter_current_password": "Enter current password",
|
||||
"enter_new_password": "Enter new password",
|
||||
"connected": "Connected",
|
||||
"disconnected": "Disconnected",
|
||||
"confirm_new_password_desc": "Confirm new password"
|
||||
"disconnected": "Disconnected"
|
||||
},
|
||||
"collection": {
|
||||
"collection_created": "Collection created successfully!",
|
||||
@@ -524,7 +449,6 @@
|
||||
"create": "Create",
|
||||
"collection_edit_success": "Collection edited successfully!",
|
||||
"error_editing_collection": "Error editing collection",
|
||||
"edit_collection": "Edit Collection",
|
||||
"public_collection": "Public Collection",
|
||||
"manage_collections": "Manage Collections"
|
||||
},
|
||||
@@ -545,16 +469,11 @@
|
||||
"checklist": {
|
||||
"checklist_deleted": "Checklist deleted successfully!",
|
||||
"checklist_delete_error": "Error deleting checklist",
|
||||
"failed_to_save": "Failed to save checklist",
|
||||
"checklist_editor": "Checklist Editor",
|
||||
"checklist_viewer": "Checklist Viewer",
|
||||
"editing_checklist": "Editing checklist",
|
||||
"new_checklist": "New 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"
|
||||
@@ -562,14 +481,8 @@
|
||||
"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",
|
||||
@@ -587,27 +500,12 @@
|
||||
"walking": "Walking",
|
||||
"other": "Other"
|
||||
},
|
||||
"transportation_edit_success": "Transportation edited successfully!",
|
||||
"edit_transportation": "Edit Transportation",
|
||||
"start": "Start",
|
||||
"date_and_time": "Date & Time"
|
||||
"edit_transportation": "Edit Transportation"
|
||||
},
|
||||
"lodging": {
|
||||
"lodging_deleted": "Lodging deleted successfully!",
|
||||
"lodging_delete_error": "Error deleting lodging",
|
||||
"provide_start_date": "Please provide a start date",
|
||||
"lodging_type": "Lodging Type",
|
||||
"type": "Type",
|
||||
"lodging_added": "Lodging added successfully!",
|
||||
"error_editing_lodging": "Error editing lodging",
|
||||
"new_lodging": "New Lodging",
|
||||
"check_in": "Check In",
|
||||
"check_out": "Check Out",
|
||||
"edit": "Edit",
|
||||
"lodging_edit_success": "Lodging edited successfully!",
|
||||
"edit_lodging": "Edit Lodging",
|
||||
"start": "Start",
|
||||
"date_and_time": "Date & Time",
|
||||
"hotel": "Hotel",
|
||||
"hostel": "Hostel",
|
||||
"resort": "Resort",
|
||||
@@ -619,8 +517,7 @@
|
||||
"villa": "Villa",
|
||||
"motel": "Motel",
|
||||
"other": "Other",
|
||||
"reservation_number": "Reservation Number",
|
||||
"current_timezone": "Current Timezone"
|
||||
"reservation_number": "Reservation Number"
|
||||
},
|
||||
"search": {
|
||||
"adventurelog_results": "AdventureLog Results",
|
||||
@@ -664,7 +561,6 @@
|
||||
"update_after_refresh": "The adventure cards will be updated once you refresh the page.",
|
||||
"select_category": "Select Category",
|
||||
"category_name": "Category Name",
|
||||
"add_category": "Add Category",
|
||||
"add_new_category": "Add New Category"
|
||||
},
|
||||
"dashboard": {
|
||||
@@ -680,29 +576,18 @@
|
||||
"immich": {
|
||||
"immich": "Immich",
|
||||
"integration_fetch_error": "Error fetching data from the Immich integration",
|
||||
"integration_missing": "The Immich integration is missing from the backend",
|
||||
"query_required": "Query is required",
|
||||
"server_down": "The Immich server is currently down or unreachable",
|
||||
"no_items_found": "No items found",
|
||||
"imageid_required": "Image ID is required",
|
||||
"load_more": "Load More",
|
||||
"immich_updated": "Immich settings updated successfully!",
|
||||
"immich_enabled": "Immich integration enabled successfully!",
|
||||
"immich_error": "Error updating Immich integration",
|
||||
"immich_disabled": "Immich integration disabled successfully!",
|
||||
"immich_desc": "Integrate your Immich account with AdventureLog to allow you to search your photos library and import photos for your adventures.",
|
||||
"integration_enabled": "Integration Enabled",
|
||||
"disable": "Disable",
|
||||
"server_url": "Immich Server URL",
|
||||
"api_note": "Note: this must be the URL to the Immich API server so it likely ends with /api unless you have a custom config.",
|
||||
"api_key": "Immich API Key",
|
||||
"enable_immich": "Enable Immich",
|
||||
"enable_integration": "Enable Integration",
|
||||
"update_integration": "Update Integration",
|
||||
"immich_integration": "Immich Integration",
|
||||
"immich_integration_desc": "Connect your Immich photo management server",
|
||||
"localhost_note": "Note: localhost will most likely not work unless you have setup docker networks accordingly. It is recommended to use the IP address of the server or the domain name.",
|
||||
"documentation": "Immich Integration Documentation",
|
||||
"api_key_placeholder": "Enter your Immich API key",
|
||||
"need_help": "Need help setting this up? Check out the",
|
||||
"copy_locally": "Copy Images Locally",
|
||||
@@ -718,14 +603,9 @@
|
||||
"google_maps_integration_desc": "Connect your Google Maps account to get high-quality location search results and recommendations."
|
||||
},
|
||||
"recomendations": {
|
||||
"address": "Address",
|
||||
"phone": "Phone",
|
||||
"contact": "Contact",
|
||||
"website": "Website",
|
||||
"recommendation": "Recommendation",
|
||||
"recommendations": "Recommendations",
|
||||
"adventure_recommendations": "Adventure Recommendations",
|
||||
"miles": "Miles",
|
||||
"food": "Food",
|
||||
"tourism": "Tourism"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user