From f7c998ab58d094e7a141f13365da97d2aee8aeee Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Thu, 26 Dec 2024 11:07:59 -0500 Subject: [PATCH] UI changes and updates, collection page refresh --- documentation/.vitepress/config.mts | 2 +- .../src/lib/components/CollectionModal.svelte | 182 +++++ .../src/lib/components/EditCollection.svelte | 209 ------ .../src/lib/components/NewCollection.svelte | 180 ----- .../lib/components/TransportationCard.svelte | 16 +- frontend/src/lib/components/UserCard.svelte | 44 +- frontend/src/lib/config.ts | 4 +- frontend/src/lib/index.ts | 31 + frontend/src/lib/types.ts | 6 +- frontend/src/locales/en.json | 5 +- frontend/src/routes/calendar/+page.svelte | 1 + frontend/src/routes/collections/+page.svelte | 33 +- .../src/routes/collections/[id]/+page.svelte | 634 +++++++++++------- frontend/src/routes/profile/+page.svelte | 134 ++-- .../routes/user/reset-password/+page.svelte | 59 +- .../user/reset-password/[key]/+page.svelte | 95 +-- .../user/verify-email/[key]/+page.svelte | 31 +- .../routes/worldtravel/[id]/+page.server.ts | 2 +- .../backgrounds/adventurelog_christmas.webp | Bin 0 -> 183420 bytes .../backgrounds/adventurelog_new_year.webp | Bin 0 -> 348646 bytes 20 files changed, 834 insertions(+), 834 deletions(-) create mode 100644 frontend/src/lib/components/CollectionModal.svelte delete mode 100644 frontend/src/lib/components/EditCollection.svelte delete mode 100644 frontend/src/lib/components/NewCollection.svelte create mode 100644 frontend/static/backgrounds/adventurelog_christmas.webp create mode 100644 frontend/static/backgrounds/adventurelog_new_year.webp diff --git a/documentation/.vitepress/config.mts b/documentation/.vitepress/config.mts index c14b50c..1c47f29 100644 --- a/documentation/.vitepress/config.mts +++ b/documentation/.vitepress/config.mts @@ -41,7 +41,7 @@ export default defineConfig({ footer: { message: "AdventureLog", - copyright: "Copyright © 2023-2024 Sean Morley", + copyright: "Copyright © 2023-2025 Sean Morley", }, logo: "/adventurelog.png", diff --git a/frontend/src/lib/components/CollectionModal.svelte b/frontend/src/lib/components/CollectionModal.svelte new file mode 100644 index 0000000..a6fb823 --- /dev/null +++ b/frontend/src/lib/components/CollectionModal.svelte @@ -0,0 +1,182 @@ + + + + + + + diff --git a/frontend/src/lib/components/EditCollection.svelte b/frontend/src/lib/components/EditCollection.svelte deleted file mode 100644 index 6c96bc8..0000000 --- a/frontend/src/lib/components/EditCollection.svelte +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - diff --git a/frontend/src/lib/components/NewCollection.svelte b/frontend/src/lib/components/NewCollection.svelte deleted file mode 100644 index 5ba50ba..0000000 --- a/frontend/src/lib/components/NewCollection.svelte +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - diff --git a/frontend/src/lib/components/TransportationCard.svelte b/frontend/src/lib/components/TransportationCard.svelte index c28d0ad..529ba1c 100644 --- a/frontend/src/lib/components/TransportationCard.svelte +++ b/frontend/src/lib/components/TransportationCard.svelte @@ -73,22 +73,22 @@

{transportation.from_location}

{/if} - {#if transportation.to_location} - + {#if transportation.date}
- {$t('adventures.to')}: - -

{transportation.to_location}

+ {$t('adventures.start')}: +

{new Date(transportation.date).toLocaleString(undefined, { timeZone: 'UTC' })}

{/if}
- {#if transportation.date} + {#if transportation.to_location} +
- {$t('adventures.start')}: -

{new Date(transportation.date).toLocaleString(undefined, { timeZone: 'UTC' })}

+ {$t('adventures.to')}: + +

{transportation.to_location}

{/if} {#if transportation.end_date} diff --git a/frontend/src/lib/components/UserCard.svelte b/frontend/src/lib/components/UserCard.svelte index 3deb52d..aefa17e 100644 --- a/frontend/src/lib/components/UserCard.svelte +++ b/frontend/src/lib/components/UserCard.svelte @@ -17,34 +17,46 @@ class="card w-full max-w-xs sm:max-w-sm md:max-w-md lg:max-w-md xl:max-w-md bg-neutral text-neutral-content shadow-xl" >
-
+ +
{#if user.profile_pic} -
-
+
+
{user.username}
{/if} -

{user.first_name} {user.last_name}

+ +

+ {user.first_name} + {user.last_name} +

+

{user.username}

+ + + {#if user.is_staff} +
Admin
+ {/if}
-

{user.username}

- {#if user.is_staff} -
Admin
- {/if} - -
- -

+ + +

+ +

{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/types.ts b/frontend/src/lib/types.ts index aadf545..57342f4 100644 --- a/frontend/src/lib/types.ts +++ b/frontend/src/lib/types.ts @@ -86,9 +86,9 @@ 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[]; diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index f948e74..c5dc2e4 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -290,7 +290,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" }, @@ -375,7 +375,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!", diff --git a/frontend/src/routes/calendar/+page.svelte b/frontend/src/routes/calendar/+page.svelte index 476519d..50987c2 100644 --- a/frontend/src/routes/calendar/+page.svelte +++ b/frontend/src/routes/calendar/+page.svelte @@ -23,6 +23,7 @@ view: 'dayGridMonth', events: [...dates] }; + console.log(dates);

{$t('adventures.adventure_calendar')}

diff --git a/frontend/src/routes/collections/+page.svelte b/frontend/src/routes/collections/+page.svelte index e5789c9..40633dc 100644 --- a/frontend/src/routes/collections/+page.svelte +++ b/frontend/src/routes/collections/+page.svelte @@ -2,8 +2,7 @@ import { enhance } from '$app/forms'; import { goto } from '$app/navigation'; import CollectionCard from '$lib/components/CollectionCard.svelte'; - import EditCollection from '$lib/components/EditCollection.svelte'; - import NewCollection from '$lib/components/NewCollection.svelte'; + import CollectionModal from '$lib/components/CollectionModal.svelte'; import NotFound from '$lib/components/NotFound.svelte'; import type { Collection } from '$lib/types'; import { t } from 'svelte-i18n'; @@ -17,10 +16,10 @@ let currentSort = { attribute: 'name', order: 'asc' }; - let isShowingCreateModal: boolean = false; let newType: string = ''; let resultsPerPage: number = 25; + let isShowingCollectionModal: boolean = false; let next: string | null = data.props.next || null; let previous: string | null = data.props.previous || null; @@ -86,8 +85,7 @@ } } - let collectionToEdit: Collection; - let isEditModalOpen: boolean = false; + let collectionToEdit: Collection | null = null; function deleteAdventure(event: CustomEvent) { collections = collections.filter((adventure) => adventure.id !== event.detail); @@ -95,12 +93,12 @@ function createAdventure(event: CustomEvent) { collections = [event.detail, ...collections]; - isShowingCreateModal = false; + isShowingCollectionModal = false; } function editCollection(event: CustomEvent) { collectionToEdit = event.detail; - isEditModalOpen = true; + isShowingCollectionModal = true; } function saveEdit(event: CustomEvent) { @@ -110,7 +108,7 @@ } return adventure; }); - isEditModalOpen = false; + isShowingCollectionModal = false; } let sidebarOpen = false; @@ -120,18 +118,13 @@ } -{#if isShowingCreateModal} - (isShowingCreateModal = false)} /> -{/if} - -{#if isEditModalOpen} - (isEditModalOpen = false)} + on:close={() => (isShowingCollectionModal = false)} on:saveEdit={saveEdit} /> {/if} -
diff --git a/frontend/src/routes/collections/[id]/+page.svelte b/frontend/src/routes/collections/[id]/+page.svelte index 83f6ffb..a3d6596 100644 --- a/frontend/src/routes/collections/[id]/+page.svelte +++ b/frontend/src/routes/collections/[id]/+page.svelte @@ -2,10 +2,17 @@ import type { Adventure, Checklist, Collection, Note, Transportation } from '$lib/types'; import { onMount } from 'svelte'; import type { PageData } from './$types'; - import { goto } from '$app/navigation'; - import Lost from '$lib/assets/undraw_lost.svg'; + import { marked } from 'marked'; // Import the markdown parser + import { t } from 'svelte-i18n'; + // @ts-ignore + import Calendar from '@event-calendar/core'; + // @ts-ignore + import TimeGrid from '@event-calendar/time-grid'; + // @ts-ignore + import DayGrid from '@event-calendar/day-grid'; + import Plus from '~icons/mdi/plus'; import AdventureCard from '$lib/components/AdventureCard.svelte'; import AdventureLink from '$lib/components/AdventureLink.svelte'; @@ -29,8 +36,58 @@ export let data: PageData; console.log(data); + const renderMarkdown = (markdown: string) => { + return marked(markdown); + }; + let collection: Collection; + // add christmas and new years + // dates = Array.from({ length: 25 }, (_, i) => { + // const date = new Date(); + // date.setMonth(11); + // date.setDate(i + 1); + // return { + // id: i.toString(), + // start: date.toISOString(), + // end: date.toISOString(), + // title: '🎄' + // }; + // }); + + let dates: Array<{ + id: string; + start: string; + end: string; + title: string; + backgroundColor?: string; + }> = []; + + // Initialize calendar plugins and options + let plugins = [TimeGrid, DayGrid]; + let options = { + view: 'dayGridMonth', + events: dates // Assign `dates` reactively + }; + + // Compute `dates` array reactively + $: { + if (adventures) { + dates = adventures.flatMap((adventure) => + adventure.visits.map((visit) => ({ + id: adventure.id, + start: visit.start_date, // Convert to ISO format if needed + end: visit.end_date || visit.start_date, + title: adventure.name + (adventure.category?.icon ? ' ' + adventure.category.icon : '') + })) + ); + } + // Update `options.events` when `dates` changes + options = { ...options, events: dates }; + } + + let currentView: string = 'itinerary'; + let adventures: Adventure[] = []; let numVisited: number = 0; @@ -364,9 +421,20 @@
{/if} - {#if collection.description} -

{collection.description}

+ {#if collection && !collection.start_date && adventures.length == 0 && transportations.length == 0 && notes.length == 0 && checklists.length == 0} + {/if} + + {#if collection.description} +
+
+ {@html renderMarkdown(collection.description)} +
+
+ {/if} + {#if adventures.length > 0}
@@ -383,269 +451,323 @@
{/if} - {#if adventures.length > 0} -

{$t('adventures.linked_adventures')}

- -
- {#each adventures as adventure} - - {/each} + - {#if transportations.length > 0} -

{$t('adventures.transportations')}

-
- {#each transportations as transportation} - { - transportations = transportations.filter((t) => t.id != event.detail); - }} - on:edit={editTransportation} - {collection} - /> - {/each} -
- {/if} + {#if currentView == 'all'} + {#if adventures.length > 0} +

{$t('adventures.linked_adventures')}

- {#if notes.length > 0} -

{$t('adventures.notes')}

-
- {#each notes as note} - { - noteToEdit = event.detail; - isNoteModalOpen = true; - }} - on:delete={(event) => { - notes = notes.filter((n) => n.id != event.detail); - }} - {collection} - /> - {/each} -
- {/if} +
+ {#each adventures as adventure} + + {/each} +
+ {/if} - {#if checklists.length > 0} -

{$t('adventures.checklists')}

-
- {#each checklists as checklist} - { - checklists = checklists.filter((n) => n.id != event.detail); - }} - on:edit={(event) => { - checklistToEdit = event.detail; - isShowingChecklistModal = true; - }} - {collection} - /> - {/each} -
+ {#if transportations.length > 0} +

{$t('adventures.transportations')}

+
+ {#each transportations as transportation} + { + transportations = transportations.filter((t) => t.id != event.detail); + }} + on:edit={editTransportation} + {collection} + /> + {/each} +
+ {/if} + + {#if notes.length > 0} +

{$t('adventures.notes')}

+
+ {#each notes as note} + { + noteToEdit = event.detail; + isNoteModalOpen = true; + }} + on:delete={(event) => { + notes = notes.filter((n) => n.id != event.detail); + }} + {collection} + /> + {/each} +
+ {/if} + + {#if checklists.length > 0} +

{$t('adventures.checklists')}

+
+ {#each checklists as checklist} + { + checklists = checklists.filter((n) => n.id != event.detail); + }} + on:edit={(event) => { + checklistToEdit = event.detail; + isShowingChecklistModal = true; + }} + {collection} + /> + {/each} +
+ {/if} {/if} {#if collection.start_date && collection.end_date} -
-
-
-

{$t('adventures.itineary_by_date')}

- {#if numberOfDays} -

- {$t('adventures.duration')}: - {numberOfDays} {$t('adventures.days')} -

- {/if} -

- Dates: {new Date(collection.start_date).toLocaleDateString(undefined, { timeZone: 'UTC' })} - - {new Date(collection.end_date).toLocaleDateString(undefined, { - timeZone: 'UTC' - })} -

-
-
-
- -
- {#each Array(numberOfDays) as _, i} - {@const startDate = new Date(collection.start_date)} - {@const tempDate = new Date(startDate.getTime())} - {@const adjustedDate = new Date(tempDate.setUTCDate(tempDate.getUTCDate() + i))} - {@const dateString = adjustedDate.toISOString().split('T')[0]} - - {@const dayAdventures = - groupAdventuresByDate(adventures, new Date(collection.start_date), numberOfDays)[ - dateString - ] || []} - {@const dayTransportations = - groupTransportationsByDate( - transportations, - new Date(collection.start_date), - numberOfDays - )[dateString] || []} - {@const dayNotes = - groupNotesByDate(notes, new Date(collection.start_date), numberOfDays)[dateString] || []} - {@const dayChecklists = - groupChecklistsByDate(checklists, new Date(collection.start_date), numberOfDays)[ - dateString - ] || []} - -
-
-

- {$t('adventures.day')} - {i + 1} -
- {adjustedDate.toLocaleDateString(undefined, { timeZone: 'UTC' })} -
-

- -
- -
- {#if dayAdventures.length > 0} - {#each dayAdventures as adventure} - - {/each} - {/if} - {#if dayTransportations.length > 0} - {#each dayTransportations as transportation} - { - transportations = transportations.filter((t) => t.id != event.detail); - }} - on:edit={(event) => { - transportationToEdit = event.detail; - isShowingTransportationModal = true; - }} - /> - {/each} - {/if} - {#if dayNotes.length > 0} - {#each dayNotes as note} - { - noteToEdit = event.detail; - isNoteModalOpen = true; - }} - on:delete={(event) => { - notes = notes.filter((n) => n.id != event.detail); - }} - /> - {/each} - {/if} - {#if dayChecklists.length > 0} - {#each dayChecklists as checklist} - { - notes = notes.filter((n) => n.id != event.detail); - }} - on:edit={(event) => { - checklistToEdit = event.detail; - isShowingChecklistModal = true; - }} - /> - {/each} - {/if} -
- - {#if dayAdventures.length == 0 && dayTransportations.length == 0 && dayNotes.length == 0 && dayChecklists.length == 0} -

{$t('adventures.nothing_planned')}

+ {#if currentView == 'itinerary'} +
+
+
+

{$t('adventures.itineary_by_date')}

+ {#if numberOfDays} +

+ {$t('adventures.duration')}: + {numberOfDays} {$t('adventures.days')} +

{/if} +

+ Dates: {new Date(collection.start_date).toLocaleDateString(undefined, { + timeZone: 'UTC' + })} - + {new Date(collection.end_date).toLocaleDateString(undefined, { + timeZone: 'UTC' + })} +

- {/each} -
- -
-
-

Trip Map

- - {#each adventures as adventure} - {#if adventure.longitude && adventure.latitude} - - -
{adventure.name}
-

- {adventure.category?.display_name + ' ' + adventure.category?.icon} -

-
-
- {/if} - {/each} - {#each transportations as transportation} - {#if transportation.destination_latitude && transportation.destination_longitude} - - - {getTransportationEmoji(transportation.type)} - - -
{transportation.name}
-

- {transportation.type} -

-
-
- {/if} - {#if transportation.origin_latitude && transportation.origin_longitude} - - - {getTransportationEmoji(transportation.type)} - - -
{transportation.name}
-

- {transportation.type} -

-
-
- {/if} - {/each} -
-
+ +
+ {#each Array(numberOfDays) as _, i} + {@const startDate = new Date(collection.start_date)} + {@const tempDate = new Date(startDate.getTime())} + {@const adjustedDate = new Date(tempDate.setUTCDate(tempDate.getUTCDate() + i))} + {@const dateString = adjustedDate.toISOString().split('T')[0]} + + {@const dayAdventures = + groupAdventuresByDate(adventures, new Date(collection.start_date), numberOfDays)[ + dateString + ] || []} + {@const dayTransportations = + groupTransportationsByDate( + transportations, + new Date(collection.start_date), + numberOfDays + )[dateString] || []} + {@const dayNotes = + groupNotesByDate(notes, new Date(collection.start_date), numberOfDays)[dateString] || + []} + {@const dayChecklists = + groupChecklistsByDate(checklists, new Date(collection.start_date), numberOfDays)[ + dateString + ] || []} + +
+
+

+ {$t('adventures.day')} + {i + 1} +
+ {adjustedDate.toLocaleDateString(undefined, { timeZone: 'UTC' })} +
+

+ +
+ +
+ {#if dayAdventures.length > 0} + {#each dayAdventures as adventure} + + {/each} + {/if} + {#if dayTransportations.length > 0} + {#each dayTransportations as transportation} + { + transportations = transportations.filter((t) => t.id != event.detail); + }} + on:edit={(event) => { + transportationToEdit = event.detail; + isShowingTransportationModal = true; + }} + /> + {/each} + {/if} + {#if dayNotes.length > 0} + {#each dayNotes as note} + { + noteToEdit = event.detail; + isNoteModalOpen = true; + }} + on:delete={(event) => { + notes = notes.filter((n) => n.id != event.detail); + }} + /> + {/each} + {/if} + {#if dayChecklists.length > 0} + {#each dayChecklists as checklist} + { + notes = notes.filter((n) => n.id != event.detail); + }} + on:edit={(event) => { + checklistToEdit = event.detail; + isShowingChecklistModal = true; + }} + /> + {/each} + {/if} +
+ + {#if dayAdventures.length == 0 && dayTransportations.length == 0 && dayNotes.length == 0 && dayChecklists.length == 0} +

{$t('adventures.nothing_planned')}

+ {/if} +
+
+ {/each} +
+ {/if} + + {#if currentView == 'map'} +
+
+

Trip Map

+ + {#each adventures as adventure} + {#if adventure.longitude && adventure.latitude} + + +
{adventure.name}
+

+ {adventure.category?.display_name + ' ' + adventure.category?.icon} +

+
+
+ {/if} + {/each} + {#each transportations as transportation} + {#if transportation.destination_latitude && transportation.destination_longitude} + + + {getTransportationEmoji(transportation.type)} + + +
{transportation.name}
+

+ {transportation.type} +

+
+
+ {/if} + {#if transportation.origin_latitude && transportation.origin_longitude} + + + {getTransportationEmoji(transportation.type)} + + +
{transportation.name}
+

+ {transportation.type} +

+
+
+ {/if} + {/each} +
+
+
+ {/if} + {#if currentView == 'calendar'} +
+
+

+ {$t('adventures.adventure_calendar')} +

+ +
+
+ {/if} {/if} {/if} diff --git a/frontend/src/routes/profile/+page.svelte b/frontend/src/routes/profile/+page.svelte index d57df6b..8722c26 100644 --- a/frontend/src/routes/profile/+page.svelte +++ b/frontend/src/routes/profile/+page.svelte @@ -11,82 +11,88 @@ total_countries: number; } | null; - if (data.stats) { - stats = data.stats; - } else { - stats = null; - } - console.log(stats); + stats = data.stats || null; -{#if data.user.profile_pic} -
-
- - -
+
+
+ + {#if data.user.profile_pic} +
+
+ Profile +
+
+ {/if} + + + {#if data.user && data.user.first_name && data.user.last_name} +

+ {data.user.first_name} + {data.user.last_name} +

+ {/if} +

{data.user.username}

+ + + {#if data.user && data.user.date_joined} +
+

{$t('profile.member_since')}

+
+ +

+ {new Date(data.user.date_joined).toLocaleDateString(undefined, { timeZone: 'UTC' })} +

+
+
+ {/if}
-{/if} -{#if data.user && data.user.first_name && data.user.last_name} -

- {data.user.first_name} - {data.user.last_name} -

-{/if} -

{data.user.username}

+ + {#if stats} +
-{#if data.user && data.user.date_joined} -

{$t('profile.member_since')}

-
- -

- {new Date(data.user.date_joined).toLocaleDateString(undefined, { timeZone: 'UTC' })} -

-
-{/if} +

+ {$t('profile.user_stats')} +

-{#if stats} - -
- -

{$t('profile.user_stats')}

- -
-
-
-
{$t('navbar.adventures')}
-
{stats.adventure_count}
- -
-
-
{$t('navbar.collections')}
-
{stats.trips_count}
- -
- -
-
{$t('profile.visited_countries')}
-
- {Math.round((stats.country_count / stats.total_countries) * 100)}% +
+
+
+
{$t('navbar.adventures')}
+
{stats.adventure_count}
-
- {stats.country_count}/{stats.total_countries} -
-
-
-
{$t('profile.visited_regions')}
-
- {Math.round((stats.visited_region_count / stats.total_regions) * 100)}% +
+
{$t('navbar.collections')}
+
{stats.trips_count}
-
- {stats.visited_region_count}/{stats.total_regions} + +
+
{$t('profile.visited_countries')}
+
+ {Math.round((stats.country_count / stats.total_countries) * 100)}% +
+
+ {stats.country_count}/{stats.total_countries} +
+
+ +
+
{$t('profile.visited_regions')}
+
+ {Math.round((stats.visited_region_count / stats.total_regions) * 100)}% +
+
+ {stats.visited_region_count}/{stats.total_regions} +
-
-{/if} + {/if} +
Profile | AdventureLog diff --git a/frontend/src/routes/user/reset-password/+page.svelte b/frontend/src/routes/user/reset-password/+page.svelte index 873e778..7cd1803 100644 --- a/frontend/src/routes/user/reset-password/+page.svelte +++ b/frontend/src/routes/user/reset-password/+page.svelte @@ -4,32 +4,47 @@ import { t } from 'svelte-i18n'; -

{$t('settings.reset_password')}

+
+

{$t('settings.reset_password')}

-
-
- -
- - {#if $page.form?.message} -
- {$t(`settings.${$page.form?.message}`)} +
+ +
+ +
- {/if} - {#if $page.form?.success} -
- {$t('settings.possible_reset')} + +
+
- {/if} - -
+ + {#if $page.form?.message} +
+ {$t(`settings.${$page.form?.message}`)} +
+ {/if} + + {#if $page.form?.success} +
+ {$t('settings.possible_reset')} +
+ {/if} + +
+
- Forgot Password + Reset Password diff --git a/frontend/src/routes/user/reset-password/[key]/+page.svelte b/frontend/src/routes/user/reset-password/[key]/+page.svelte index 7e837a4..e710af6 100644 --- a/frontend/src/routes/user/reset-password/[key]/+page.svelte +++ b/frontend/src/routes/user/reset-password/[key]/+page.svelte @@ -1,53 +1,66 @@ -

{$t('settings.change_password')}

+
+

+ {$t('settings.change_password')} +

-
-
- - +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ + {#if $page.form?.message} +
+ {$t($page.form?.message)} +
+ {/if} +
- -
- - -
- - - - {#if $page.form?.message} -
- {$t($page.form?.message)} -
- {/if} - +
- Password Reset Confirm - + Change Password + diff --git a/frontend/src/routes/user/verify-email/[key]/+page.svelte b/frontend/src/routes/user/verify-email/[key]/+page.svelte index f025ad0..cadcc9c 100644 --- a/frontend/src/routes/user/verify-email/[key]/+page.svelte +++ b/frontend/src/routes/user/verify-email/[key]/+page.svelte @@ -5,10 +5,27 @@ export let data: PageData; -{#if data.verified} -

{$t('settings.email_verified')}

-

{$t('settings.email_verified_success')}

-{:else} -

{$t('settings.email_verified_error')}

-

{$t('settings.email_verified_erorr_desc')}

-{/if} +
+
+ {#if data.verified} +

+ {$t('settings.email_verified')} +

+

+ {$t('settings.email_verified_success')} +

+ {:else} +

+ {$t('settings.email_verified_error')} +

+

+ {$t('settings.email_verified_erorr_desc')} +

+ {/if} +
+
+ + + Email Verification + + diff --git a/frontend/src/routes/worldtravel/[id]/+page.server.ts b/frontend/src/routes/worldtravel/[id]/+page.server.ts index 2b00f3c..0191e67 100644 --- a/frontend/src/routes/worldtravel/[id]/+page.server.ts +++ b/frontend/src/routes/worldtravel/[id]/+page.server.ts @@ -6,7 +6,7 @@ import type { PageServerLoad } from './$types'; const endpoint = PUBLIC_SERVER_URL || 'http://localhost:8000'; export const load = (async (event) => { - const id = event.params.id; + const id = event.params.id.toUpperCase(); let regions: Region[] = []; let visitedRegions: VisitedRegion[] = []; diff --git a/frontend/static/backgrounds/adventurelog_christmas.webp b/frontend/static/backgrounds/adventurelog_christmas.webp new file mode 100644 index 0000000000000000000000000000000000000000..a2a9039c23444d9e01d3be2c8ad1e8d3ccb288be GIT binary patch literal 183420 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
    YSX!?JETBmJ&SIxF)oJ1%S@g2$` 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 z

    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

    lCM>xvfGAt|D%O#%$lC7n*@%Q>%RX?X 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