1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-08-02 19:55:18 +02:00

User profile settings API and remove old Dj-Rest-Auth code

This commit is contained in:
Sean Morley 2024-11-30 10:24:27 -05:00
parent c65fcc2558
commit 84566b8ec1
22 changed files with 514 additions and 791 deletions

View file

@ -1,38 +0,0 @@
# create-svelte
Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
## Creating a project
If you're seeing this, you've probably already done this step. Congrats!
```bash
# create a new project in the current directory
npm create svelte@latest
# create a new project in my-app
npm create svelte@latest my-app
```
## Developing
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
```bash
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
```
## Building
To create a production version of your app:
```bash
npm run build
```
You can preview the production build with `npm run preview`.
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.

View file

@ -1,415 +1,417 @@
{
"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",
"pl": "Polish"
},
"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.",
"current_password": "Current Password",
"change_password_error": "Unable to change password. Invalid current password or invalid new password."
},
"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",
"pl": "Polish"
},
"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"
}
}

View file

@ -13,7 +13,7 @@ export const load: PageServerLoad = async (event) => {
if (!sessionId) {
return redirect(302, '/');
}
let res = await fetch(`${endpoint}/auth/user/`, {
let res = await fetch(`${endpoint}/auth/user-metadata/`, {
headers: {
Cookie: `sessionid=${sessionId}`
}
@ -50,7 +50,7 @@ export const actions: Actions = {
let profile_pic = formData.get('profile_pic') as File | null | undefined;
let public_profile = formData.get('public_profile') as string | null | undefined | boolean;
const resCurrent = await fetch(`${endpoint}/auth/user/`, {
const resCurrent = await fetch(`${endpoint}/auth/user-metadata/`, {
headers: {
Cookie: `sessionid=${sessionId}`
}
@ -60,12 +60,12 @@ export const actions: Actions = {
return fail(resCurrent.status, await resCurrent.json());
}
// Gets the boolean value of the public_profile input
if (public_profile === 'on') {
public_profile = true;
} else {
public_profile = false;
}
console.log(public_profile);
let currentUser = (await resCurrent.json()) as User;
@ -83,6 +83,7 @@ export const actions: Actions = {
}
let formDataToSend = new FormData();
if (username) {
formDataToSend.append('username', username);
}
@ -99,7 +100,7 @@ export const actions: Actions = {
let csrfToken = await fetchCSRFToken();
let res = await fetch(`${endpoint}/auth/user/`, {
let res = await fetch(`${endpoint}/auth/update-user/`, {
method: 'PATCH',
headers: {
Cookie: `sessionid=${sessionId}; csrftoken=${csrfToken}`,
@ -111,8 +112,6 @@ export const actions: Actions = {
let response = await res.json();
if (!res.ok) {
// change the first key in the response to 'message' for the fail function
response = { message: Object.values(response)[0] };
return fail(res.status, response);
}
@ -130,19 +129,23 @@ export const actions: Actions = {
if (!sessionId) {
return redirect(302, '/');
}
console.log('changePassword');
const formData = await event.request.formData();
const password1 = formData.get('password1') as string | null | undefined;
const password2 = formData.get('password2') as string | null | undefined;
const current_password = formData.get('current_password') as string | null | undefined;
if (password1 !== password2) {
return fail(400, { message: 'Passwords do not match' });
}
if (!current_password) {
return fail(400, { message: 'Current password is required' });
}
let csrfToken = await fetchCSRFToken();
let res = await fetch(`${endpoint}/auth/password/change/`, {
let res = await fetch(`${endpoint}/_allauth/browser/v1/account/password/change`, {
method: 'POST',
headers: {
Cookie: `sessionid=${sessionId}; csrftoken=${csrfToken}`,
@ -150,12 +153,18 @@ export const actions: Actions = {
'Content-Type': 'application/json'
},
body: JSON.stringify({
new_password1: password1,
new_password2: password2
current_password,
new_password: password1
})
});
if (!res.ok) {
return fail(res.status, await res.json());
let error_message = await res.text();
if (res.status === 400) {
// get the message key of the object
// {"status": 400, "errors": [{"message": "Please type your current password.", "code": "enter_current_password", "param": "current_password"}]}
error_message = JSON.parse(error_message).errors[0].message;
}
return fail(res.status, { message: error_message });
}
return { success: true };
},

View file

@ -34,16 +34,6 @@
}
}
// async function exportAdventures() {
// const url = await exportData();
// const a = document.createElement('a');
// a.href = url;
// a.download = 'adventure-log-export.json';
// a.click();
// URL.revokeObjectURL(url);
// }
async function checkVisitedRegions() {
let res = await fetch('/api/reverse-geocode/mark_visited_region/', {
method: 'POST',
@ -137,7 +127,15 @@
<h1 class="text-center font-extrabold text-xl mt-4 mb-2">{$t('settings.password_change')}</h1>
<div class="flex justify-center">
<form action="?/changePassword" method="post" class="w-full max-w-xs">
<form action="?/changePassword" method="post" class="w-full max-w-xs" use:enhance>
<input
type="password"
name="current_password"
placeholder={$t('settings.current_password')}
id="current_password"
class="block mb-2 input input-bordered w-full max-w-xs"
/>
<br />
<input
type="password"
name="password1"
@ -202,9 +200,7 @@
</div> -->
<small class="text-center"
><b>For Debug Use:</b> Server PK={user.pk} | Date Joined: {user.date_joined
? new Date(user.date_joined).toDateString()
: ''} | Staff user: {user.is_staff}</small
><b>For Debug Use:</b> UUID={user.uuid} | Staff user: {user.is_staff}</small
>
<svelte:head>