-
-
+
+
+
+
+
{user.date_joined ? 'Joined ' + new Date(user.date_joined).toLocaleDateString() : ''}
-
+
+
+
{#if !sharing}
-
+
{:else if shared_with && !shared_with.includes(user.uuid)}
-
+
{:else}
-
+
{/if}
diff --git a/frontend/src/lib/config.ts b/frontend/src/lib/config.ts
index 15ee7ef..3b9fde7 100644
--- a/frontend/src/lib/config.ts
+++ b/frontend/src/lib/config.ts
@@ -1,4 +1,4 @@
-export let appVersion = 'Web v0.7.1';
+export let appVersion = 'v0.7.1';
export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.7.1';
export let appTitle = 'AdventureLog';
-export let copyrightYear = '2024';
+export let copyrightYear = '2023-2025';
diff --git a/frontend/src/lib/index.ts b/frontend/src/lib/index.ts
index 1d1a3bd..b2201ca 100644
--- a/frontend/src/lib/index.ts
+++ b/frontend/src/lib/index.ts
@@ -289,6 +289,37 @@ export function getAdventureTypeLabel(type: string) {
}
export function getRandomBackground() {
+ const today = new Date();
+
+ // Special dates for specific backgrounds
+ // New Years week
+
+ const newYearsStart = new Date(today.getFullYear() - 1, 11, 31);
+ newYearsStart.setHours(0, 0, 0, 0);
+ const newYearsEnd = new Date(today.getFullYear(), 0, 7);
+ newYearsEnd.setHours(23, 59, 59, 999);
+ if (today >= newYearsStart && today <= newYearsEnd) {
+ return {
+ url: 'backgrounds/adventurelog_new_year.webp',
+ author: 'Roven Images',
+ location: "Happy New Year's from the AdventureLog team!"
+ } as Background;
+ }
+
+ // Christmas 12/24 - 12/25
+ const christmasStart = new Date(today.getFullYear(), 11, 24);
+ christmasStart.setHours(0, 0, 0, 0);
+ const christmasEnd = new Date(today.getFullYear(), 11, 25);
+ christmasEnd.setHours(23, 59, 59, 999);
+
+ if (today >= christmasStart && today <= christmasEnd) {
+ return {
+ url: 'backgrounds/adventurelog_christmas.webp',
+ author: 'Annie Spratt',
+ location: 'Merry Christmas from the AdventureLog team!'
+ } as Background;
+ }
+
const randomIndex = Math.floor(Math.random() * randomBackgrounds.backgrounds.length);
return randomBackgrounds.backgrounds[randomIndex] as Background;
}
diff --git a/frontend/src/lib/json/backgrounds.json b/frontend/src/lib/json/backgrounds.json
index d1b60c5..be43594 100644
--- a/frontend/src/lib/json/backgrounds.json
+++ b/frontend/src/lib/json/backgrounds.json
@@ -19,6 +19,11 @@
"url": "backgrounds/adventurelog_showcase_4.webp",
"author": "Sean Morley",
"location": "Great Sand Dunes National Park, Colorado, USA"
+ },
+ {
+ "url": "backgrounds/adventurelog_showcase_5.webp",
+ "author": "Sean Morley",
+ "location": "Hoboken, New Jersey, USA"
}
]
}
diff --git a/frontend/src/lib/types.ts b/frontend/src/lib/types.ts
index 181017b..9dac462 100644
--- a/frontend/src/lib/types.ts
+++ b/frontend/src/lib/types.ts
@@ -86,14 +86,14 @@ export type Collection = {
description: string;
is_public: boolean;
adventures: Adventure[];
- created_at?: string;
- start_date?: string;
- end_date?: string;
+ created_at?: string | null;
+ start_date: string | null;
+ end_date: string | null;
transportations?: Transportation[];
notes?: Note[];
checklists?: Checklist[];
is_archived?: boolean;
- shared_with: string[];
+ shared_with: string[] | undefined;
link?: string | null;
};
@@ -127,8 +127,12 @@ export type Transportation = {
flight_number: string | null;
from_location: string | null;
to_location: string | null;
+ origin_latitude: number | null;
+ origin_longitude: number | null;
+ destination_latitude: number | null;
+ destination_longitude: number | null;
is_public: boolean;
- collection: Collection | null;
+ collection: Collection | null | string;
created_at: string; // ISO 8601 date string
updated_at: string; // ISO 8601 date string
};
diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json
index 25e2b41..c2485ca 100644
--- a/frontend/src/locales/de.json
+++ b/frontend/src/locales/de.json
@@ -195,7 +195,27 @@
"emoji_picker": "Emoji-Picker",
"hide": "Verstecken",
"show": "Zeigen",
- "download_calendar": "Kalender herunterladen"
+ "download_calendar": "Kalender herunterladen",
+ "md_instructions": "Schreiben Sie hier Ihren Abschlag...",
+ "preview": "Vorschau",
+ "checklist_delete_confirm": "Sind Sie sicher, dass Sie diese Checkliste löschen möchten? \nDiese Aktion kann nicht rückgängig gemacht werden.",
+ "clear_location": "Standort löschen",
+ "date_information": "Datumsinformationen",
+ "delete_checklist": "Checkliste löschen",
+ "delete_note": "Notiz löschen",
+ "delete_transportation": "Transport löschen",
+ "end": "Ende",
+ "ending_airport": "Endflughafen",
+ "flight_information": "Fluginformationen",
+ "from": "Aus",
+ "no_location_found": "Kein Standort gefunden",
+ "note_delete_confirm": "Sind Sie sicher, dass Sie diese Notiz löschen möchten? \nDiese Aktion kann nicht rückgängig gemacht werden.",
+ "out_of_range": "Nicht im Datumsbereich der Reiseroute",
+ "show_region_labels": "Regionsbeschriftungen anzeigen",
+ "start": "Start",
+ "starting_airport": "Startflughafen",
+ "to": "Zu",
+ "transportation_delete_confirm": "Sind Sie sicher, dass Sie diesen Transport löschen möchten? \nDiese Aktion kann nicht rückgängig gemacht werden."
},
"home": {
"desc_1": "Entdecken, planen und erkunden Sie mit Leichtigkeit",
@@ -362,7 +382,9 @@
"item_cannot_be_empty": "Das Element darf nicht leer sein",
"items": "Artikel",
"new_item": "Neuer Artikel",
- "save": "Speichern"
+ "save": "Speichern",
+ "checklist_viewer": "Checklisten-Viewer",
+ "new_checklist": "Neue Checkliste"
},
"collection": {
"collection_created": "Sammlung erfolgreich erstellt!",
@@ -371,7 +393,8 @@
"edit_collection": "Sammlung bearbeiten",
"error_creating_collection": "Fehler beim Erstellen der Sammlung",
"error_editing_collection": "Fehler beim Bearbeiten der Sammlung",
- "new_collection": "Neue Kollektion"
+ "new_collection": "Neue Kollektion",
+ "public_collection": "Öffentliche Sammlung"
},
"notes": {
"add_a_link": "Fügen Sie einen Link hinzu",
@@ -384,7 +407,8 @@
"note_public": "Diese Notiz ist öffentlich, da sie sich in einer öffentlichen Sammlung befindet.",
"open": "Offen",
"save": "Speichern",
- "invalid_url": "Ungültige URL"
+ "invalid_url": "Ungültige URL",
+ "note_viewer": "Notizenbetrachter"
},
"transportation": {
"date_and_time": "Datum",
diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json
index cd9b824..d847826 100644
--- a/frontend/src/locales/en.json
+++ b/frontend/src/locales/en.json
@@ -64,6 +64,12 @@
"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.",
+ "checklist_delete_confirm": "Are you sure you want to delete this checklist? This action cannot be undone.",
+ "note_delete_confirm": "Are you sure you want to delete this note? This action cannot be undone.",
+ "transportation_delete_confirm": "Are you sure you want to delete this transportation? This action cannot be undone.",
+ "delete_checklist": "Delete Checklist",
+ "delete_note": "Delete Note",
+ "delete_transportation": "Delete Transportation",
"open_details": "Open Details",
"edit_adventure": "Edit Adventure",
"remove_from_collection": "Remove from Collection",
@@ -97,6 +103,7 @@
"rating": "Rating",
"my_images": "My Images",
"add_an_activity": "Add an activity",
+ "show_region_labels": "Show Region Labels",
"no_images": "No Images",
"upload_images_here": "Upload images here",
"share_adventure": "Share this Adventure!",
@@ -216,8 +223,21 @@
"copy_failed": "Copy failed",
"show": "Show",
"hide": "Hide",
+ "clear_location": "Clear Location",
+ "starting_airport": "Starting Airport",
+ "ending_airport": "Ending Airport",
+ "no_location_found": "No location found",
+ "from": "From",
+ "to": "To",
+ "start": "Start",
+ "end": "End",
"emoji_picker": "Emoji Picker",
"download_calendar": "Download Calendar",
+ "date_information": "Date Information",
+ "flight_information": "Flight Information",
+ "out_of_range": "Not in itinerary date range",
+ "preview": "Preview",
+ "md_instructions": "Write your markdown here...",
"days": "days",
"activities": {
"general": "General 🌍",
@@ -271,7 +291,7 @@
"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",
+ "new_password": "New Password (6+ characters)",
"both_passwords_required": "Both passwords are required",
"reset_failed": "Failed to reset password"
},
@@ -356,7 +376,8 @@
"create": "Create",
"collection_edit_success": "Collection edited successfully!",
"error_editing_collection": "Error editing collection",
- "edit_collection": "Edit Collection"
+ "edit_collection": "Edit Collection",
+ "public_collection": "Public Collection"
},
"notes": {
"note_deleted": "Note deleted successfully!",
@@ -364,6 +385,7 @@
"open": "Open",
"failed_to_save": "Failed to save note",
"note_editor": "Note Editor",
+ "note_viewer": "Note Viewer",
"editing_note": "Editing note",
"content": "Content",
"save": "Save",
@@ -376,7 +398,9 @@
"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",
diff --git a/frontend/src/locales/es.json b/frontend/src/locales/es.json
index 42da49e..1164d25 100644
--- a/frontend/src/locales/es.json
+++ b/frontend/src/locales/es.json
@@ -242,7 +242,27 @@
"emoji_picker": "Selector de emojis",
"hide": "Esconder",
"show": "Espectáculo",
- "download_calendar": "Descargar Calendario"
+ "download_calendar": "Descargar Calendario",
+ "md_instructions": "Escriba su descuento aquí...",
+ "preview": "Avance",
+ "checklist_delete_confirm": "¿Está seguro de que desea eliminar esta lista de verificación? \nEsta acción no se puede deshacer.",
+ "clear_location": "Borrar ubicación",
+ "date_information": "Información de fecha",
+ "delete_checklist": "Eliminar lista de verificación",
+ "delete_note": "Eliminar nota",
+ "delete_transportation": "Eliminar transporte",
+ "end": "Fin",
+ "ending_airport": "Aeropuerto final",
+ "flight_information": "Información de vuelo",
+ "from": "De",
+ "no_location_found": "No se encontró ninguna ubicación",
+ "note_delete_confirm": "¿Estás seguro de que deseas eliminar esta nota? \nEsta acción no se puede deshacer.",
+ "out_of_range": "No en el rango de fechas del itinerario",
+ "show_region_labels": "Mostrar etiquetas de región",
+ "start": "Comenzar",
+ "starting_airport": "Aeropuerto de inicio",
+ "to": "A",
+ "transportation_delete_confirm": "¿Está seguro de que desea eliminar este transporte? \nEsta acción no se puede deshacer."
},
"worldtravel": {
"all": "Todo",
@@ -362,7 +382,9 @@
"item_cannot_be_empty": "El artículo no puede estar vacío",
"items": "Elementos",
"new_item": "Nuevo artículo",
- "save": "Ahorrar"
+ "save": "Ahorrar",
+ "checklist_viewer": "Visor de lista de verificación",
+ "new_checklist": "Nueva lista de verificación"
},
"collection": {
"collection_created": "¡Colección creada con éxito!",
@@ -371,7 +393,8 @@
"edit_collection": "Editar colección",
"error_creating_collection": "Error al crear la colección",
"error_editing_collection": "Error al editar la colección",
- "new_collection": "Nueva colección"
+ "new_collection": "Nueva colección",
+ "public_collection": "Colección pública"
},
"notes": {
"add_a_link": "Agregar un enlace",
@@ -384,7 +407,8 @@
"note_public": "Esta nota es pública porque está en una colección pública.",
"open": "Abierto",
"save": "Ahorrar",
- "invalid_url": "URL no válida"
+ "invalid_url": "URL no válida",
+ "note_viewer": "Visor de notas"
},
"transportation": {
"date_and_time": "Fecha",
diff --git a/frontend/src/locales/fr.json b/frontend/src/locales/fr.json
index 9a532de..c66bf03 100644
--- a/frontend/src/locales/fr.json
+++ b/frontend/src/locales/fr.json
@@ -195,7 +195,27 @@
"emoji_picker": "Sélecteur d'émoticônes",
"hide": "Cacher",
"show": "Montrer",
- "download_calendar": "Télécharger le calendrier"
+ "download_calendar": "Télécharger le calendrier",
+ "md_instructions": "Écrivez votre démarque ici...",
+ "preview": "Aperçu",
+ "checklist_delete_confirm": "Êtes-vous sûr de vouloir supprimer cette liste de contrôle ? \nCette action ne peut pas être annulée.",
+ "clear_location": "Effacer l'emplacement",
+ "date_information": "Informations sur les dates",
+ "delete_checklist": "Supprimer la liste de contrôle",
+ "delete_note": "Supprimer la note",
+ "delete_transportation": "Supprimer le transport",
+ "end": "Fin",
+ "ending_airport": "Aéroport de fin",
+ "flight_information": "Informations sur le vol",
+ "from": "Depuis",
+ "no_location_found": "Aucun emplacement trouvé",
+ "note_delete_confirm": "Êtes-vous sûr de vouloir supprimer cette note ? \nCette action ne peut pas être annulée.",
+ "out_of_range": "Pas dans la plage de dates de l'itinéraire",
+ "show_region_labels": "Afficher les étiquettes de région",
+ "start": "Commencer",
+ "starting_airport": "Aéroport de départ",
+ "to": "À",
+ "transportation_delete_confirm": "Etes-vous sûr de vouloir supprimer ce transport ? \nCette action ne peut pas être annulée."
},
"home": {
"desc_1": "Découvrez, planifiez et explorez en toute simplicité",
@@ -362,7 +382,9 @@
"item_cannot_be_empty": "L'élément ne peut pas être vide",
"items": "Articles",
"new_item": "Nouvel article",
- "save": "Sauvegarder"
+ "save": "Sauvegarder",
+ "checklist_viewer": "Visionneuse de liste de contrôle",
+ "new_checklist": "Nouvelle liste de contrôle"
},
"collection": {
"collection_created": "Collection créée avec succès !",
@@ -371,7 +393,8 @@
"edit_collection": "Modifier la collection",
"error_creating_collection": "Erreur lors de la création de la collection",
"error_editing_collection": "Erreur lors de la modification de la collection",
- "new_collection": "Nouvelle collection"
+ "new_collection": "Nouvelle collection",
+ "public_collection": "Collection publique"
},
"notes": {
"add_a_link": "Ajouter un lien",
@@ -384,7 +407,8 @@
"note_public": "Cette note est publique car elle fait partie d'une collection publique.",
"open": "Ouvrir",
"save": "Sauvegarder",
- "invalid_url": "URL invalide"
+ "invalid_url": "URL invalide",
+ "note_viewer": "Visionneuse de notes"
},
"transportation": {
"date_time": "Date de début",
diff --git a/frontend/src/locales/it.json b/frontend/src/locales/it.json
index fa0b1fb..21bee77 100644
--- a/frontend/src/locales/it.json
+++ b/frontend/src/locales/it.json
@@ -195,7 +195,27 @@
"emoji_picker": "Selettore di emoji",
"hide": "Nascondere",
"show": "Spettacolo",
- "download_calendar": "Scarica Calendario"
+ "download_calendar": "Scarica Calendario",
+ "md_instructions": "Scrivi qui il tuo ribasso...",
+ "preview": "Anteprima",
+ "checklist_delete_confirm": "Sei sicuro di voler eliminare questa lista di controllo? \nQuesta azione non può essere annullata.",
+ "clear_location": "Cancella posizione",
+ "date_information": "Informazioni sulla data",
+ "delete_checklist": "Elimina lista di controllo",
+ "delete_note": "Elimina nota",
+ "delete_transportation": "Elimina trasporto",
+ "end": "FINE",
+ "ending_airport": "Fine dell'aeroporto",
+ "flight_information": "Informazioni sul volo",
+ "from": "Da",
+ "no_location_found": "Nessuna posizione trovata",
+ "note_delete_confirm": "Sei sicuro di voler eliminare questa nota? \nQuesta azione non può essere annullata.",
+ "out_of_range": "Non nell'intervallo di date dell'itinerario",
+ "show_region_labels": "Mostra etichette regione",
+ "start": "Inizio",
+ "starting_airport": "Inizio aeroporto",
+ "to": "A",
+ "transportation_delete_confirm": "Sei sicuro di voler eliminare questo trasporto? \nQuesta azione non può essere annullata."
},
"home": {
"desc_1": "Scopri, pianifica ed esplora con facilità",
@@ -362,7 +382,9 @@
"item_cannot_be_empty": "L'articolo non può essere vuoto",
"items": "Elementi",
"save": "Salva",
- "new_item": "Nuovo articolo"
+ "new_item": "Nuovo articolo",
+ "checklist_viewer": "Visualizzatore della lista di controllo",
+ "new_checklist": "Nuova lista di controllo"
},
"collection": {
"edit_collection": "Modifica raccolta",
@@ -371,7 +393,8 @@
"new_collection": "Nuova collezione",
"collection_created": "Collezione creata con successo!",
"collection_edit_success": "Raccolta modificata con successo!",
- "create": "Creare"
+ "create": "Creare",
+ "public_collection": "Collezione pubblica"
},
"notes": {
"add_a_link": "Aggiungi un collegamento",
@@ -384,7 +407,8 @@
"note_public": "Questa nota è pubblica perché è in una collezione pubblica.",
"open": "Aprire",
"save": "Salva",
- "invalid_url": "URL non valido"
+ "invalid_url": "URL non valido",
+ "note_viewer": "Visualizzatore di note"
},
"transportation": {
"date_and_time": "Data",
diff --git a/frontend/src/locales/nl.json b/frontend/src/locales/nl.json
index 90ac331..c2a59a5 100644
--- a/frontend/src/locales/nl.json
+++ b/frontend/src/locales/nl.json
@@ -195,7 +195,27 @@
"emoji_picker": "Emoji-kiezer",
"hide": "Verbergen",
"show": "Show",
- "download_calendar": "Agenda downloaden"
+ "download_calendar": "Agenda downloaden",
+ "md_instructions": "Schrijf hier uw korting...",
+ "preview": "Voorbeeld",
+ "checklist_delete_confirm": "Weet u zeker dat u deze checklist wilt verwijderen? \nDeze actie kan niet ongedaan worden gemaakt.",
+ "clear_location": "Locatie wissen",
+ "date_information": "Datuminformatie",
+ "delete_checklist": "Controlelijst verwijderen",
+ "delete_note": "Notitie verwijderen",
+ "delete_transportation": "Transport verwijderen",
+ "end": "Einde",
+ "flight_information": "Vluchtinformatie",
+ "from": "Van",
+ "no_location_found": "Geen locatie gevonden",
+ "note_delete_confirm": "Weet u zeker dat u deze notitie wilt verwijderen? \nDeze actie kan niet ongedaan worden gemaakt.",
+ "out_of_range": "Niet binnen het datumbereik van het reisplan",
+ "show_region_labels": "Toon regiolabels",
+ "start": "Begin",
+ "starting_airport": "Startende luchthaven",
+ "to": "Naar",
+ "transportation_delete_confirm": "Weet u zeker dat u dit transport wilt verwijderen? \nDeze actie kan niet ongedaan worden gemaakt.",
+ "ending_airport": "Einde luchthaven"
},
"home": {
"desc_1": "Ontdek, plan en verken met gemak",
@@ -362,7 +382,9 @@
"item_cannot_be_empty": "Artikel mag niet leeg zijn",
"items": "Artikelen",
"new_item": "Nieuw artikel",
- "save": "Opslaan"
+ "save": "Opslaan",
+ "checklist_viewer": "Controlelijstviewer",
+ "new_checklist": "Nieuwe checklist"
},
"collection": {
"collection_created": "Collectie succesvol aangemaakt!",
@@ -371,7 +393,8 @@
"edit_collection": "Collectie bewerken",
"error_creating_collection": "Fout bij aanmaken collectie",
"error_editing_collection": "Fout bij bewerken collectie",
- "new_collection": "Nieuwe collectie"
+ "new_collection": "Nieuwe collectie",
+ "public_collection": "Openbare collectie"
},
"notes": {
"add_a_link": "Voeg een link toe",
@@ -384,7 +407,8 @@
"note_public": "Deze opmerking is openbaar omdat deze zich in een openbare collectie bevindt.",
"open": "Open",
"save": "Opslaan",
- "invalid_url": "Ongeldige URL"
+ "invalid_url": "Ongeldige URL",
+ "note_viewer": "Notitieviewer"
},
"transportation": {
"date_and_time": "Datum",
diff --git a/frontend/src/locales/pl.json b/frontend/src/locales/pl.json
index db3e758..eac9634 100644
--- a/frontend/src/locales/pl.json
+++ b/frontend/src/locales/pl.json
@@ -242,7 +242,27 @@
"emoji_picker": "Wybór emoji",
"hide": "Ukrywać",
"show": "Pokazywać",
- "download_calendar": "Pobierz Kalendarz"
+ "download_calendar": "Pobierz Kalendarz",
+ "md_instructions": "Napisz tutaj swoją przecenę...",
+ "preview": "Zapowiedź",
+ "checklist_delete_confirm": "Czy na pewno chcesz usunąć tę listę kontrolną? \nTej akcji nie można cofnąć.",
+ "clear_location": "Wyczyść lokalizację",
+ "date_information": "Informacje o dacie",
+ "delete_checklist": "Usuń listę kontrolną",
+ "delete_note": "Usuń notatkę",
+ "delete_transportation": "Usuń transport",
+ "end": "Koniec",
+ "ending_airport": "Kończy się lotnisko",
+ "flight_information": "Informacje o locie",
+ "from": "Z",
+ "no_location_found": "Nie znaleziono lokalizacji",
+ "note_delete_confirm": "Czy na pewno chcesz usunąć tę notatkę? \nTej akcji nie można cofnąć.",
+ "out_of_range": "Nie mieści się w zakresie dat planu podróży",
+ "show_region_labels": "Pokaż etykiety regionów",
+ "start": "Start",
+ "starting_airport": "Początkowe lotnisko",
+ "to": "Do",
+ "transportation_delete_confirm": "Czy na pewno chcesz usunąć ten transport? \nTej akcji nie można cofnąć."
},
"worldtravel": {
"country_list": "Lista krajów",
@@ -356,7 +376,8 @@
"create": "Utwórz",
"collection_edit_success": "Kolekcja została pomyślnie edytowana!",
"error_editing_collection": "Błąd podczas edytowania kolekcji",
- "edit_collection": "Edytuj kolekcję"
+ "edit_collection": "Edytuj kolekcję",
+ "public_collection": "Kolekcja publiczna"
},
"notes": {
"note_deleted": "Notatka została pomyślnie usunięta!",
@@ -369,7 +390,8 @@
"save": "Zapisz",
"note_public": "Ta notatka jest publiczna, ponieważ znajduje się w publicznej kolekcji.",
"add_a_link": "Dodaj link",
- "invalid_url": "Nieprawidłowy URL"
+ "invalid_url": "Nieprawidłowy URL",
+ "note_viewer": "Przeglądarka notatek"
},
"checklist": {
"checklist_deleted": "Lista kontrolna została pomyślnie usunięta!",
@@ -384,7 +406,9 @@
"save": "Zapisz",
"checklist_public": "Ta lista kontrolna jest publiczna, ponieważ znajduje się w publicznej kolekcji.",
"item_cannot_be_empty": "Element nie może być pusty",
- "item_already_exists": "Element już istnieje"
+ "item_already_exists": "Element już istnieje",
+ "checklist_viewer": "Przeglądarka listy kontrolnej",
+ "new_checklist": "Nowa lista kontrolna"
},
"transportation": {
"transportation_deleted": "Transport został pomyślnie usunięty!",
diff --git a/frontend/src/locales/sv.json b/frontend/src/locales/sv.json
index aae55d5..495b0ba 100644
--- a/frontend/src/locales/sv.json
+++ b/frontend/src/locales/sv.json
@@ -195,7 +195,27 @@
"emoji_picker": "Emoji-väljare",
"hide": "Dölja",
"show": "Visa",
- "download_calendar": "Ladda ner kalender"
+ "download_calendar": "Ladda ner kalender",
+ "md_instructions": "Skriv din avskrivning här...",
+ "preview": "Förhandsvisning",
+ "checklist_delete_confirm": "Är du säker på att du vill ta bort den här checklistan? \nDenna åtgärd kan inte ångras.",
+ "clear_location": "Rensa plats",
+ "date_information": "Datuminformation",
+ "delete_checklist": "Ta bort checklista",
+ "delete_note": "Ta bort anteckning",
+ "delete_transportation": "Ta bort Transport",
+ "end": "Avsluta",
+ "ending_airport": "Slutar flygplats",
+ "flight_information": "Flyginformation",
+ "from": "Från",
+ "no_location_found": "Ingen plats hittades",
+ "note_delete_confirm": "Är du säker på att du vill ta bort den här anteckningen? \nDenna åtgärd kan inte ångras.",
+ "out_of_range": "Inte inom resplanens datumintervall",
+ "show_region_labels": "Visa regionetiketter",
+ "start": "Start",
+ "starting_airport": "Startar flygplats",
+ "to": "Till",
+ "transportation_delete_confirm": "Är du säker på att du vill ta bort denna transport? \nDenna åtgärd kan inte ångras."
},
"home": {
"desc_1": "Upptäck, planera och utforska med lätthet",
@@ -362,7 +382,9 @@
"item_cannot_be_empty": "Objektet får inte vara tomt",
"items": "Föremål",
"new_item": "Nytt föremål",
- "save": "Spara"
+ "save": "Spara",
+ "checklist_viewer": "Checklista Viewer",
+ "new_checklist": "Ny checklista"
},
"collection": {
"collection_created": "Samlingen har skapats!",
@@ -371,7 +393,8 @@
"edit_collection": "Redigera samling",
"error_creating_collection": "Det gick inte att skapa samlingen",
"error_editing_collection": "Fel vid redigering av samling",
- "new_collection": "Ny samling"
+ "new_collection": "Ny samling",
+ "public_collection": "Offentlig samling"
},
"notes": {
"add_a_link": "Lägg till en länk",
@@ -384,7 +407,8 @@
"note_public": "Den här anteckningen är offentlig eftersom den finns i en offentlig samling.",
"open": "Öppna",
"save": "Spara",
- "invalid_url": "Ogiltig URL"
+ "invalid_url": "Ogiltig URL",
+ "note_viewer": "Note Viewer"
},
"transportation": {
"date_and_time": "Datum",
diff --git a/frontend/src/locales/zh.json b/frontend/src/locales/zh.json
index 56cf01f..0a686a2 100644
--- a/frontend/src/locales/zh.json
+++ b/frontend/src/locales/zh.json
@@ -195,7 +195,27 @@
"emoji_picker": "表情符号选择器",
"hide": "隐藏",
"show": "展示",
- "download_calendar": "下载日历"
+ "download_calendar": "下载日历",
+ "md_instructions": "在这里写下你的标记...",
+ "preview": "预览",
+ "checklist_delete_confirm": "您确定要删除此清单吗?\n此操作无法撤消。",
+ "clear_location": "明确的位置",
+ "date_information": "日期信息",
+ "delete_checklist": "删除清单",
+ "delete_note": "删除注释",
+ "delete_transportation": "删除交通",
+ "end": "结尾",
+ "ending_airport": "结束机场",
+ "flight_information": "航班信息",
+ "from": "从",
+ "no_location_found": "没有找到位置",
+ "note_delete_confirm": "您确定要删除此注释吗?\n此操作无法撤消。",
+ "out_of_range": "不在行程日期范围内",
+ "show_region_labels": "显示区域标签",
+ "start": "开始",
+ "starting_airport": "出发机场",
+ "to": "到",
+ "transportation_delete_confirm": "您确定要删除此交通工具吗?\n此操作无法撤消。"
},
"home": {
"desc_1": "轻松发现、规划和探索",
@@ -362,7 +382,9 @@
"item_cannot_be_empty": "项目不能为空",
"items": "项目",
"new_item": "新商品",
- "save": "节省"
+ "save": "节省",
+ "checklist_viewer": "清单查看器",
+ "new_checklist": "新清单"
},
"collection": {
"collection_created": "收藏创建成功!",
@@ -371,7 +393,8 @@
"edit_collection": "编辑收藏",
"error_creating_collection": "创建集合时出错",
"error_editing_collection": "编辑集合时出错",
- "new_collection": "新系列"
+ "new_collection": "新系列",
+ "public_collection": "公共收藏"
},
"notes": {
"add_a_link": "添加链接",
@@ -384,7 +407,8 @@
"note_public": "该笔记是公开的,因为它属于公共收藏。",
"open": "打开",
"save": "节省",
- "invalid_url": "无效网址"
+ "invalid_url": "无效网址",
+ "note_viewer": "笔记查看器"
},
"transportation": {
"date_and_time": "日期",
diff --git a/frontend/src/routes/adventures/[id]/+page.svelte b/frontend/src/routes/adventures/[id]/+page.svelte
index 9e357ea..f151bb4 100644
--- a/frontend/src/routes/adventures/[id]/+page.svelte
+++ b/frontend/src/routes/adventures/[id]/+page.svelte
@@ -6,6 +6,11 @@
import Lost from '$lib/assets/undraw_lost.svg';
import { DefaultMarker, MapLibre, Popup } from 'svelte-maplibre';
import { t } from 'svelte-i18n';
+ import { marked } from 'marked'; // Import the markdown parser
+
+ const renderMarkdown = (markdown: string) => {
+ return marked(markdown);
+ };
export let data: PageData;
console.log(data);
@@ -244,11 +249,12 @@
{/if}