{adventure.is_public ? $t('adventures.public') : $t('adventures.private')}
diff --git a/frontend/src/lib/components/AdventureModal.svelte b/frontend/src/lib/components/AdventureModal.svelte
index c197990..f797e5b 100644
--- a/frontend/src/lib/components/AdventureModal.svelte
+++ b/frontend/src/lib/components/AdventureModal.svelte
@@ -28,6 +28,7 @@
import ActivityComplete from './ActivityComplete.svelte';
import { appVersion } from '$lib/config';
import { ADVENTURE_TYPES } from '$lib';
+ import RegionCard from './RegionCard.svelte';
let wikiError: string = '';
@@ -629,7 +630,11 @@ it would also work to just use on:click on the MapLibre component itself. -->
{#if reverseGeocodePlace}
@@ -647,10 +652,15 @@ it would also work to just use on:click on the MapLibre component itself. -->
>
Mark region {reverseGeocodePlace.region}, {reverseGeocodePlace.country} as visited?{$t('adventures.mark_region_as_visited', {
+ values: {
+ region: reverseGeocodePlace.region,
+ country: reverseGeocodePlace.country
+ }
+ })}
{/if}
diff --git a/frontend/src/lib/index.ts b/frontend/src/lib/index.ts
index 5170910..cab49d4 100644
--- a/frontend/src/lib/index.ts
+++ b/frontend/src/lib/index.ts
@@ -253,28 +253,6 @@ export let ADVENTURE_TYPES = [
{ type: 'other', label: 'Other' }
];
-/**
- * Checks if an adventure has been visited.
- *
- * This function determines if the `adventure.visits` array contains at least one visit
- * with a `start_date` that is before the current date.
- *
- * @param adventure - The adventure object to check.
- * @returns `true` if the adventure has been visited, otherwise `false`.
- */
-export function isAdventureVisited(adventure: Adventure) {
- const currentTime = Date.now();
-
- // Check if any visit's start_date is before the current time.
- return (
- adventure.visits &&
- adventure.visits.some((visit) => {
- const visitStartTime = new Date(visit.start_date).getTime();
- return visit.start_date && visitStartTime <= currentTime;
- })
- );
-}
-
export function getRandomBackground() {
const randomIndex = Math.floor(Math.random() * randomBackgrounds.backgrounds.length);
return randomBackgrounds.backgrounds[randomIndex] as Background;
diff --git a/frontend/src/lib/types.ts b/frontend/src/lib/types.ts
index 4470ac3..5c77745 100644
--- a/frontend/src/lib/types.ts
+++ b/frontend/src/lib/types.ts
@@ -37,6 +37,7 @@ export type Adventure = {
is_public: boolean;
created_at?: string | null;
updated_at?: string | null;
+ is_visited?: boolean;
};
export type Country = {
diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json
index f757517..657f8d6 100644
--- a/frontend/src/locales/en.json
+++ b/frontend/src/locales/en.json
@@ -139,6 +139,7 @@
"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!",
@@ -173,6 +174,8 @@
"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",
"activities": {
"general": "General 🌍",
"outdoor": "Outdoor 🏞️",
diff --git a/frontend/src/locales/es.json b/frontend/src/locales/es.json
index fef587c..e01d0fb 100644
--- a/frontend/src/locales/es.json
+++ b/frontend/src/locales/es.json
@@ -1,245 +1,248 @@
{
- "navbar": {
- "adventures": "Aventuras",
- "collections": "Colecciones",
- "worldtravel": "Viajar por el Mundo",
- "map": "Mapa",
- "users": "Usuarios",
- "search": "Buscar",
- "profile": "Perfil",
- "greeting": "Hola",
- "my_adventures": "Mis Aventuras",
- "my_activities": "Mis Actividades",
- "shared_with_me": "Compartido Conmigo",
- "settings": "Configuraciones",
- "logout": "Cerrar Sesión",
- "about": "Acerca de AdventureLog",
- "documentation": "Documentación",
- "discord": "Discord",
- "theme_selection": "Selección de Tema",
- "themes": {
- "light": "Claro",
- "dark": "Oscuro",
- "night": "Noche",
- "forest": "Bosque",
- "aestetic-dark": "Estético Oscuro",
- "aestetic-light": "Estético Claro",
- "aqua": "Aqua"
- }
- },
- "about": {
- "about": "Acerca de",
- "license": "Licenciado bajo la Licencia GPL-3.0.",
- "source_code": "Código Fuente",
- "message": "Hecho con ❤️ en los Estados Unidos.",
- "oss_attributions": "Atribuciones de Código Abierto",
- "nominatim_1": "La búsqueda de ubicaciones y geocodificación es proporcionada por",
- "nominatim_2": "Sus datos están licenciados bajo la licencia ODbL.",
- "other_attributions": "Atribuciones adicionales se pueden encontrar en el archivo README.",
- "close": "Cerrar"
- },
- "home": {
- "hero_1": "Descubre las Aventuras Más Emocionantes del Mundo",
- "hero_2": "Descubre y planifica tu próxima aventura con AdventureLog. Explora destinos impresionantes, crea itinerarios personalizados y mantente conectado en todo momento.",
- "go_to": "Ir a AdventureLog",
- "key_features": "Características Clave",
- "desc_1": "Descubre, Planifica y Explora Fácilmente",
- "desc_2": "AdventureLog está diseñado para simplificar tu viaje, brindándote las herramientas y recursos para planificar, empacar y navegar tu próxima aventura inolvidable.",
- "feature_1": "Registro de Viajes",
- "feature_1_desc": "Mantén un registro de tus aventuras con un diario de viaje personalizado y comparte tus experiencias con amigos y familiares.",
- "feature_2": "Planificación de Viajes",
- "feature_2_desc": "Crea fácilmente itinerarios personalizados y obtén un desglose diario de tu viaje.",
- "feature_3": "Mapa de Viaje",
- "feature_3_desc": "Visualiza tus viajes por el mundo con un mapa interactivo y explora nuevos destinos."
- },
- "adventures": {
- "collection_remove_success": "¡Aventura eliminada de la colección con éxito!",
- "collection_remove_error": "Error al eliminar la aventura de la colección",
- "collection_link_success": "¡Aventura vinculada a la colección con éxito!",
- "collection_link_error": "Error al vincular la aventura a la colección",
- "adventure_delete_confirm": "¿Estás seguro de que quieres eliminar esta aventura? Esta acción no se puede deshacer.",
- "open_details": "Abrir Detalles",
- "edit_adventure": "Editar Aventura",
- "remove_from_collection": "Eliminar de la Colección",
- "add_to_collection": "Añadir a la Colección",
- "delete": "Eliminar",
- "activities": {
- "activity": "Actividad 🏄",
- "art_museums": "Arte",
- "attraction": "Atracción 🎢",
- "culture": "Cultura 🎭",
- "dining": "Cenar 🍽️",
- "event": "Evento 🎉",
- "festivals": "Festivales 🎪",
- "fitness": "Fitness 🏋️",
- "general": "Generales 🌍",
- "hiking": "Senderismo 🥾",
- "historical_sites": "Sitios Históricos 🏛️",
- "lodging": "Alojamiento 🛌",
- "music_concerts": "Música",
- "nightlife": "Vida nocturna 🌃",
- "other": "Otro",
- "outdoor": "Al aire libre 🏞️",
- "shopping": "Compras 🛍️",
- "spiritual_journeys": "Viajes espirituales 🧘♀️",
- "transportation": "Transporte 🚗",
- "volunteer_work": "Trabajo voluntario 🤝",
- "water_sports": "Deportes acuáticos 🚤",
- "wildlife": "Vida silvestre 🦒"
- },
- "no_image_found": "No se encontró ninguna imagen",
- "adventure_details": "Detalles de la aventura",
- "adventure_type": "Tipo de aventura",
- "collection": "Recopilación",
- "homepage": "Página principal",
- "latitude": "Latitud",
- "longitude": "Longitud",
- "not_found": "Aventura no encontrada",
- "not_found_desc": "La aventura que buscabas no se pudo encontrar. \nPruebe una aventura diferente o vuelva a consultar más tarde.",
- "visit": "Visita",
- "visits": "Visitas",
- "adventure": "Aventura",
- "count_txt": "resultados que coinciden con su búsqueda",
- "create_new": "Crear nuevo...",
- "ascending": "Ascendente",
- "collection_adventures": "Incluir aventuras de colección",
- "date": "Fecha",
- "descending": "Descendente",
- "filter": "Filtrar",
- "name": "Nombre",
- "order_by": "Ordenar por",
- "order_direction": "Dirección del pedido",
- "rating": "Clasificación",
- "sort": "Clasificar",
- "sources": "Fuentes",
- "updated": "Actualizado",
- "category_filter": "Filtro de categoría",
- "clear": "Claro",
- "archived_collections": "Colecciones archivadas",
- "close_filters": "Cerrar filtros",
- "my_collections": "Mis colecciones",
- "open_filters": "Abrir filtros",
- "private": "Privado",
- "public": "Público",
- "archived_collection_message": "¡Colección archivada exitosamente!",
- "delete_collection": "Eliminar colección",
- "delete_collection_success": "¡Colección eliminada exitosamente!",
- "delete_collection_warning": "¿Estás seguro de que deseas eliminar esta colección? \nEsto también eliminará todas las aventuras vinculadas. \nEsta acción no se puede deshacer.",
- "unarchived_collection_message": "¡Colección desarchivada exitosamente!",
- "archive": "Archivo",
- "archived": "Archivado",
- "edit_collection": "Editar colección",
- "share": "Compartir",
- "unarchive": "Desarchivar",
- "cancel": "Cancelar",
- "adventure_delete_success": "¡Aventura eliminada con éxito!",
- "delete_adventure": "Eliminar aventura",
- "planned": "Planificado",
- "visited": "Visitado",
- "dates": "Fechas",
- "duration": "Duración",
- "image_removed_error": "Error al eliminar la imagen",
- "image_removed_success": "¡Imagen eliminada exitosamente!",
- "image_upload_error": "Error al subir la imagen",
- "image_upload_success": "¡Imagen cargada exitosamente!",
- "no_image_url": "No se encontró ninguna imagen en esa URL.",
- "start_before_end_error": "La fecha de inicio debe ser anterior a la fecha de finalización.",
- "wiki_image_error": "Error al obtener la imagen de Wikipedia",
- "actions": "Comportamiento",
- "activity": "Actividad",
- "see_adventures": "Ver Aventuras",
- "activity_types": "Tipos de actividad",
- "add": "Agregar",
- "add_notes": "Agregar notas",
- "adventure_create_error": "No se pudo crear la aventura",
- "adventure_created": "Aventura creada",
- "adventure_update_error": "No se pudo actualizar la aventura",
- "adventure_updated": "Aventura actualizada",
- "basic_information": "Información básica",
- "category": "Categoría",
- "clear_map": "Borrar mapa",
- "copy_link": "Copiar enlace",
- "date_constrain": "Restringir a las fechas de recolección",
- "description": "Descripción",
- "end_date": "Fecha de finalización",
- "fetch_image": "Obtener imagen",
- "generate_desc": "Generar descripción",
- "image": "Imagen",
- "image_fetch_failed": "No se pudo recuperar la imagen",
- "link": "Enlace",
- "location": "Ubicación",
- "location_information": "Información de ubicación",
- "my_images": "Mis imágenes",
- "my_visits": "Mis visitas",
- "new_adventure": "Nueva aventura",
- "no_description_found": "No se encontró ninguna descripción",
- "no_images": "Sin imágenes",
- "no_location": "Por favor ingresa una ubicación",
- "no_results": "No se encontraron resultados",
- "no_start_date": "Por favor ingrese una fecha de inicio",
- "public_adventure": "Aventura pública",
- "remove": "Eliminar",
- "save_next": "Ahorrar",
- "search_for_location": "Buscar una ubicación",
- "search_results": "Resultados de búsqueda",
- "select_adventure_category": "Seleccionar categoría de aventura",
- "share_adventure": "¡Comparte esta aventura!",
- "start_date": "Fecha de inicio",
- "upload_image": "Subir imagen",
- "upload_images_here": "Sube imágenes aquí",
- "url": "URL",
- "warning": "Advertencia",
- "wiki_desc": "Extrae un extracto de un artículo de Wikipedia que coincide con el nombre de la aventura.",
- "wikipedia": "Wikipedia",
- "add_an_activity": "Agregar una actividad",
- "adventure_not_found": "No hay aventuras que mostrar. \n¡Agregue algunos usando el botón más en la parte inferior derecha o intente cambiar los filtros!",
- "no_adventures_found": "No se encontraron aventuras",
- "no_collections_found": "No se encontraron colecciones para agregar esta aventura.",
- "my_adventures": "mis aventuras",
- "no_linkable_adventures": "No se encontraron aventuras que puedan vincularse a esta colección."
- },
- "worldtravel": {
- "all": "Todo",
- "all_subregions": "Todas las subregiones",
- "clear_search": "Borrar búsqueda",
- "completely_visited": "Completamente visitado",
- "no_countries_found": "No se encontraron países",
- "not_visited": "No visitado",
- "num_countries": "países encontrados",
- "partially_visited": "Parcialmente visitado",
- "country_list": "Lista de países"
- },
- "auth": {
- "forgot_password": "¿Has olvidado tu contraseña?",
- "login": "Acceso",
- "login_error": "No se puede iniciar sesión con las credenciales proporcionadas.",
- "password": "Contraseña",
- "signup": "Inscribirse",
- "username": "Nombre de usuario",
- "confirm_password": "confirmar Contraseña",
- "email": "Correo electrónico",
- "first_name": "Nombre de pila",
- "last_name": "Apellido",
- "registration_disabled": "El registro está actualmente deshabilitado.",
- "profile_picture": "Foto de perfil",
- "public_profile": "Perfil público",
- "public_tooltip": "Con un perfil público, los usuarios pueden compartir colecciones con usted y ver su perfil en la página de usuarios."
- },
- "users": {
- "no_users_found": "No se encontraron usuarios con perfiles públicos."
- },
- "settings": {
- "account_settings": "Configuración de cuenta de usuario",
- "confirm_new_password": "Confirmar nueva contraseña",
- "current_email": "Correo electrónico actual",
- "email_change": "Cambiar correo electrónico",
- "new_email": "Nuevo correo electrónico",
- "new_password": "Nueva contraseña",
- "no_email_set": "No hay correo electrónico configurado",
- "password_change": "Cambiar la contraseña",
- "settings_page": "Página de configuración",
- "update": "Actualizar",
- "update_error": "Error al actualizar la configuración",
- "update_success": "¡La configuración se actualizó correctamente!"
- }
+ "navbar": {
+ "adventures": "Aventuras",
+ "collections": "Colecciones",
+ "worldtravel": "Viajar por el Mundo",
+ "map": "Mapa",
+ "users": "Usuarios",
+ "search": "Buscar",
+ "profile": "Perfil",
+ "greeting": "Hola",
+ "my_adventures": "Mis Aventuras",
+ "my_activities": "Mis Actividades",
+ "shared_with_me": "Compartido Conmigo",
+ "settings": "Configuraciones",
+ "logout": "Cerrar Sesión",
+ "about": "Acerca de AdventureLog",
+ "documentation": "Documentación",
+ "discord": "Discord",
+ "theme_selection": "Selección de Tema",
+ "themes": {
+ "light": "Claro",
+ "dark": "Oscuro",
+ "night": "Noche",
+ "forest": "Bosque",
+ "aestetic-dark": "Estético Oscuro",
+ "aestetic-light": "Estético Claro",
+ "aqua": "Aqua"
+ }
+ },
+ "about": {
+ "about": "Acerca de",
+ "license": "Licenciado bajo la Licencia GPL-3.0.",
+ "source_code": "Código Fuente",
+ "message": "Hecho con ❤️ en los Estados Unidos.",
+ "oss_attributions": "Atribuciones de Código Abierto",
+ "nominatim_1": "La búsqueda de ubicaciones y geocodificación es proporcionada por",
+ "nominatim_2": "Sus datos están licenciados bajo la licencia ODbL.",
+ "other_attributions": "Atribuciones adicionales se pueden encontrar en el archivo README.",
+ "close": "Cerrar"
+ },
+ "home": {
+ "hero_1": "Descubre las Aventuras Más Emocionantes del Mundo",
+ "hero_2": "Descubre y planifica tu próxima aventura con AdventureLog. Explora destinos impresionantes, crea itinerarios personalizados y mantente conectado en todo momento.",
+ "go_to": "Ir a AdventureLog",
+ "key_features": "Características Clave",
+ "desc_1": "Descubre, Planifica y Explora Fácilmente",
+ "desc_2": "AdventureLog está diseñado para simplificar tu viaje, brindándote las herramientas y recursos para planificar, empacar y navegar tu próxima aventura inolvidable.",
+ "feature_1": "Registro de Viajes",
+ "feature_1_desc": "Mantén un registro de tus aventuras con un diario de viaje personalizado y comparte tus experiencias con amigos y familiares.",
+ "feature_2": "Planificación de Viajes",
+ "feature_2_desc": "Crea fácilmente itinerarios personalizados y obtén un desglose diario de tu viaje.",
+ "feature_3": "Mapa de Viaje",
+ "feature_3_desc": "Visualiza tus viajes por el mundo con un mapa interactivo y explora nuevos destinos."
+ },
+ "adventures": {
+ "collection_remove_success": "¡Aventura eliminada de la colección con éxito!",
+ "collection_remove_error": "Error al eliminar la aventura de la colección",
+ "collection_link_success": "¡Aventura vinculada a la colección con éxito!",
+ "collection_link_error": "Error al vincular la aventura a la colección",
+ "adventure_delete_confirm": "¿Estás seguro de que quieres eliminar esta aventura? Esta acción no se puede deshacer.",
+ "open_details": "Abrir Detalles",
+ "edit_adventure": "Editar Aventura",
+ "remove_from_collection": "Eliminar de la Colección",
+ "add_to_collection": "Añadir a la Colección",
+ "delete": "Eliminar",
+ "activities": {
+ "activity": "Actividad 🏄",
+ "art_museums": "Arte",
+ "attraction": "Atracción 🎢",
+ "culture": "Cultura 🎭",
+ "dining": "Cenar 🍽️",
+ "event": "Evento 🎉",
+ "festivals": "Festivales 🎪",
+ "fitness": "Fitness 🏋️",
+ "general": "Generales 🌍",
+ "hiking": "Senderismo 🥾",
+ "historical_sites": "Sitios Históricos 🏛️",
+ "lodging": "Alojamiento 🛌",
+ "music_concerts": "Música",
+ "nightlife": "Vida nocturna 🌃",
+ "other": "Otro",
+ "outdoor": "Al aire libre 🏞️",
+ "shopping": "Compras 🛍️",
+ "spiritual_journeys": "Viajes espirituales 🧘♀️",
+ "transportation": "Transporte 🚗",
+ "volunteer_work": "Trabajo voluntario 🤝",
+ "water_sports": "Deportes acuáticos 🚤",
+ "wildlife": "Vida silvestre 🦒"
+ },
+ "no_image_found": "No se encontró ninguna imagen",
+ "adventure_details": "Detalles de la aventura",
+ "adventure_type": "Tipo de aventura",
+ "collection": "Recopilación",
+ "homepage": "Página principal",
+ "latitude": "Latitud",
+ "longitude": "Longitud",
+ "not_found": "Aventura no encontrada",
+ "not_found_desc": "La aventura que buscabas no se pudo encontrar. \nPruebe una aventura diferente o vuelva a consultar más tarde.",
+ "visit": "Visita",
+ "visits": "Visitas",
+ "adventure": "Aventura",
+ "count_txt": "resultados que coinciden con su búsqueda",
+ "create_new": "Crear nuevo...",
+ "ascending": "Ascendente",
+ "collection_adventures": "Incluir aventuras de colección",
+ "date": "Fecha",
+ "descending": "Descendente",
+ "filter": "Filtrar",
+ "name": "Nombre",
+ "order_by": "Ordenar por",
+ "order_direction": "Dirección del pedido",
+ "rating": "Clasificación",
+ "sort": "Clasificar",
+ "sources": "Fuentes",
+ "updated": "Actualizado",
+ "category_filter": "Filtro de categoría",
+ "clear": "Claro",
+ "archived_collections": "Colecciones archivadas",
+ "close_filters": "Cerrar filtros",
+ "my_collections": "Mis colecciones",
+ "open_filters": "Abrir filtros",
+ "private": "Privado",
+ "public": "Público",
+ "archived_collection_message": "¡Colección archivada exitosamente!",
+ "delete_collection": "Eliminar colección",
+ "delete_collection_success": "¡Colección eliminada exitosamente!",
+ "delete_collection_warning": "¿Estás seguro de que deseas eliminar esta colección? \nEsto también eliminará todas las aventuras vinculadas. \nEsta acción no se puede deshacer.",
+ "unarchived_collection_message": "¡Colección desarchivada exitosamente!",
+ "archive": "Archivo",
+ "archived": "Archivado",
+ "edit_collection": "Editar colección",
+ "share": "Compartir",
+ "unarchive": "Desarchivar",
+ "cancel": "Cancelar",
+ "adventure_delete_success": "¡Aventura eliminada con éxito!",
+ "delete_adventure": "Eliminar aventura",
+ "planned": "Planificado",
+ "visited": "Visitado",
+ "dates": "Fechas",
+ "duration": "Duración",
+ "image_removed_error": "Error al eliminar la imagen",
+ "image_removed_success": "¡Imagen eliminada exitosamente!",
+ "image_upload_error": "Error al subir la imagen",
+ "image_upload_success": "¡Imagen cargada exitosamente!",
+ "no_image_url": "No se encontró ninguna imagen en esa URL.",
+ "start_before_end_error": "La fecha de inicio debe ser anterior a la fecha de finalización.",
+ "wiki_image_error": "Error al obtener la imagen de Wikipedia",
+ "actions": "Comportamiento",
+ "activity": "Actividad",
+ "see_adventures": "Ver Aventuras",
+ "activity_types": "Tipos de actividad",
+ "add": "Agregar",
+ "add_notes": "Agregar notas",
+ "adventure_create_error": "No se pudo crear la aventura",
+ "adventure_created": "Aventura creada",
+ "adventure_update_error": "No se pudo actualizar la aventura",
+ "adventure_updated": "Aventura actualizada",
+ "basic_information": "Información básica",
+ "category": "Categoría",
+ "clear_map": "Borrar mapa",
+ "copy_link": "Copiar enlace",
+ "date_constrain": "Restringir a las fechas de recolección",
+ "description": "Descripción",
+ "end_date": "Fecha de finalización",
+ "fetch_image": "Obtener imagen",
+ "generate_desc": "Generar descripción",
+ "image": "Imagen",
+ "image_fetch_failed": "No se pudo recuperar la imagen",
+ "link": "Enlace",
+ "location": "Ubicación",
+ "location_information": "Información de ubicación",
+ "my_images": "Mis imágenes",
+ "my_visits": "Mis visitas",
+ "new_adventure": "Nueva aventura",
+ "no_description_found": "No se encontró ninguna descripción",
+ "no_images": "Sin imágenes",
+ "no_location": "Por favor ingresa una ubicación",
+ "no_results": "No se encontraron resultados",
+ "no_start_date": "Por favor ingrese una fecha de inicio",
+ "public_adventure": "Aventura pública",
+ "remove": "Eliminar",
+ "save_next": "Ahorrar",
+ "search_for_location": "Buscar una ubicación",
+ "search_results": "Resultados de búsqueda",
+ "select_adventure_category": "Seleccionar categoría de aventura",
+ "share_adventure": "¡Comparte esta aventura!",
+ "start_date": "Fecha de inicio",
+ "upload_image": "Subir imagen",
+ "upload_images_here": "Sube imágenes aquí",
+ "url": "URL",
+ "warning": "Advertencia",
+ "wiki_desc": "Extrae un extracto de un artículo de Wikipedia que coincide con el nombre de la aventura.",
+ "wikipedia": "Wikipedia",
+ "add_an_activity": "Agregar una actividad",
+ "adventure_not_found": "No hay aventuras que mostrar. \n¡Agregue algunos usando el botón más en la parte inferior derecha o intente cambiar los filtros!",
+ "no_adventures_found": "No se encontraron aventuras",
+ "no_collections_found": "No se encontraron colecciones para agregar esta aventura.",
+ "my_adventures": "mis aventuras",
+ "no_linkable_adventures": "No se encontraron aventuras que puedan vincularse a esta colección.",
+ "mark_region_as_visited": "¿Marcar región {region}, {country} como visitada?",
+ "mark_visited": "Marcos visitó",
+ "not_visited": "No visitado"
+ },
+ "worldtravel": {
+ "all": "Todo",
+ "all_subregions": "Todas las subregiones",
+ "clear_search": "Borrar búsqueda",
+ "completely_visited": "Completamente visitado",
+ "no_countries_found": "No se encontraron países",
+ "not_visited": "No visitado",
+ "num_countries": "países encontrados",
+ "partially_visited": "Parcialmente visitado",
+ "country_list": "Lista de países"
+ },
+ "auth": {
+ "forgot_password": "¿Has olvidado tu contraseña?",
+ "login": "Acceso",
+ "login_error": "No se puede iniciar sesión con las credenciales proporcionadas.",
+ "password": "Contraseña",
+ "signup": "Inscribirse",
+ "username": "Nombre de usuario",
+ "confirm_password": "confirmar Contraseña",
+ "email": "Correo electrónico",
+ "first_name": "Nombre de pila",
+ "last_name": "Apellido",
+ "registration_disabled": "El registro está actualmente deshabilitado.",
+ "profile_picture": "Foto de perfil",
+ "public_profile": "Perfil público",
+ "public_tooltip": "Con un perfil público, los usuarios pueden compartir colecciones con usted y ver su perfil en la página de usuarios."
+ },
+ "users": {
+ "no_users_found": "No se encontraron usuarios con perfiles públicos."
+ },
+ "settings": {
+ "account_settings": "Configuración de cuenta de usuario",
+ "confirm_new_password": "Confirmar nueva contraseña",
+ "current_email": "Correo electrónico actual",
+ "email_change": "Cambiar correo electrónico",
+ "new_email": "Nuevo correo electrónico",
+ "new_password": "Nueva contraseña",
+ "no_email_set": "No hay correo electrónico configurado",
+ "password_change": "Cambiar la contraseña",
+ "settings_page": "Página de configuración",
+ "update": "Actualizar",
+ "update_error": "Error al actualizar la configuración",
+ "update_success": "¡La configuración se actualizó correctamente!"
+ }
}
diff --git a/frontend/src/routes/collections/[id]/+page.svelte b/frontend/src/routes/collections/[id]/+page.svelte
index 47b401f..e4316ea 100644
--- a/frontend/src/routes/collections/[id]/+page.svelte
+++ b/frontend/src/routes/collections/[id]/+page.svelte
@@ -20,8 +20,7 @@
groupAdventuresByDate,
groupNotesByDate,
groupTransportationsByDate,
- groupChecklistsByDate,
- isAdventureVisited
+ groupChecklistsByDate
} from '$lib';
import ChecklistCard from '$lib/components/ChecklistCard.svelte';
import ChecklistModal from '$lib/components/ChecklistModal.svelte';
@@ -45,7 +44,7 @@
$: {
numAdventures = adventures.length;
- numVisited = adventures.filter(isAdventureVisited).length;
+ numVisited = adventures.filter((adventure) => adventure.is_visited).length;
}
let notFound: boolean = false;
diff --git a/frontend/src/routes/map/+page.server.ts b/frontend/src/routes/map/+page.server.ts
index 7675a5d..919b101 100644
--- a/frontend/src/routes/map/+page.server.ts
+++ b/frontend/src/routes/map/+page.server.ts
@@ -46,6 +46,7 @@ export const load = (async (event) => {
name: adventure.name,
visits: adventure.visits,
type: adventure.type,
+ is_visited: adventure.is_visited
};
});
diff --git a/frontend/src/routes/map/+page.svelte b/frontend/src/routes/map/+page.svelte
index 6e91d76..0b8d925 100644
--- a/frontend/src/routes/map/+page.svelte
+++ b/frontend/src/routes/map/+page.svelte
@@ -1,7 +1,6 @@