From b5931c6c23f22a33dad733dd2a3dc95b5d627c7e Mon Sep 17 00:00:00 2001
From: Sean Morley
Date: Sat, 14 Jun 2025 14:05:30 -0400
Subject: [PATCH] refactor(worldtravel): remove insert_id fields from city,
country, and region models; update related migration feat(search): enhance
search results display with total results count and improved layout
fix(profile): update achievement levels based on adventure count; remove
unused quick actions refactor(shared): delete unused shared collections route
and related components feat(worldtravel): improve interactive map
functionality and layout in world travel detail view
---
...rt_id_remove_country_insert_id_and_more.py | 25 ++
backend/server/worldtravel/models.py | 3 -
.../src/lib/components/AdventureCard.svelte | 2 +-
frontend/src/lib/components/Avatar.svelte | 7 -
frontend/src/routes/+page.svelte | 16 +-
.../src/routes/profile/[uuid]/+page.svelte | 38 +--
frontend/src/routes/search/+page.svelte | 225 +++++++++++++-----
frontend/src/routes/shared/+page.server.ts | 27 ---
frontend/src/routes/shared/+page.svelte | 34 ---
.../src/routes/worldtravel/[id]/+page.svelte | 126 +++++-----
10 files changed, 275 insertions(+), 228 deletions(-)
create mode 100644 backend/server/worldtravel/migrations/0016_remove_city_insert_id_remove_country_insert_id_and_more.py
delete mode 100644 frontend/src/routes/shared/+page.server.ts
delete mode 100644 frontend/src/routes/shared/+page.svelte
diff --git a/backend/server/worldtravel/migrations/0016_remove_city_insert_id_remove_country_insert_id_and_more.py b/backend/server/worldtravel/migrations/0016_remove_city_insert_id_remove_country_insert_id_and_more.py
new file mode 100644
index 0000000..fbc07de
--- /dev/null
+++ b/backend/server/worldtravel/migrations/0016_remove_city_insert_id_remove_country_insert_id_and_more.py
@@ -0,0 +1,25 @@
+# Generated by Django 5.2.1 on 2025-06-14 17:32
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('worldtravel', '0015_city_insert_id_country_insert_id_region_insert_id'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='city',
+ name='insert_id',
+ ),
+ migrations.RemoveField(
+ model_name='country',
+ name='insert_id',
+ ),
+ migrations.RemoveField(
+ model_name='region',
+ name='insert_id',
+ ),
+ ]
diff --git a/backend/server/worldtravel/models.py b/backend/server/worldtravel/models.py
index 6c7ebb8..9e83f59 100644
--- a/backend/server/worldtravel/models.py
+++ b/backend/server/worldtravel/models.py
@@ -17,7 +17,6 @@ class Country(models.Model):
capital = models.CharField(max_length=100, blank=True, null=True)
longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True)
latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True)
- insert_id = models.UUIDField(unique=False, blank=True, null=True)
class Meta:
verbose_name = "Country"
@@ -32,7 +31,6 @@ class Region(models.Model):
country = models.ForeignKey(Country, on_delete=models.CASCADE)
longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True)
latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True)
- insert_id = models.UUIDField(unique=False, blank=True, null=True)
def __str__(self):
return self.name
@@ -43,7 +41,6 @@ class City(models.Model):
region = models.ForeignKey(Region, on_delete=models.CASCADE)
longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True)
latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True, blank=True)
- insert_id = models.UUIDField(unique=False, blank=True, null=True)
class Meta:
verbose_name_plural = "Cities"
diff --git a/frontend/src/lib/components/AdventureCard.svelte b/frontend/src/lib/components/AdventureCard.svelte
index c1e3be3..d0f6b98 100644
--- a/frontend/src/lib/components/AdventureCard.svelte
+++ b/frontend/src/lib/components/AdventureCard.svelte
@@ -277,7 +277,7 @@
on:click={() => goto(`/adventures/${adventure.id}`)}
>
- View Details
+ {$t('adventures.open_details')}
{#if adventure.user_id == user?.uuid || (collection && user && collection.shared_with?.includes(user.uuid))}
diff --git a/frontend/src/lib/components/Avatar.svelte b/frontend/src/lib/components/Avatar.svelte
index 5821a9e..28cb952 100644
--- a/frontend/src/lib/components/Avatar.svelte
+++ b/frontend/src/lib/components/Avatar.svelte
@@ -5,7 +5,6 @@
// Icons
import Account from '~icons/mdi/account';
import MapMarker from '~icons/mdi/map-marker';
- import Share from '~icons/mdi/share-variant';
import Shield from '~icons/mdi/shield-account';
import Settings from '~icons/mdi/cog';
import Logout from '~icons/mdi/logout';
@@ -37,12 +36,6 @@
label: 'navbar.my_adventures',
section: 'main'
},
- {
- path: '/shared',
- icon: Share,
- label: 'navbar.shared_with_me',
- section: 'main'
- },
{
path: '/settings',
icon: Settings,
diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte
index 2d987f2..34b18d9 100644
--- a/frontend/src/routes/+page.svelte
+++ b/frontend/src/routes/+page.svelte
@@ -51,11 +51,11 @@
}
];
- const stats = [
- { label: 'Countries Tracked', value: '195+', icon: GlobeIcon },
- { label: 'Adventures Logged', value: '10K+', icon: CalendarIcon },
- { label: 'Active Travelers', value: '5K+', icon: StarIcon }
- ];
+ // const stats = [
+ // { label: 'Countries Tracked', value: '195+', icon: GlobeIcon },
+ // { label: 'Adventures Logged', value: '10K+', icon: CalendarIcon },
+ // { label: 'Active Travelers', value: '5K+', icon: StarIcon }
+ // ];
@@ -167,7 +167,7 @@
-
+
@@ -317,7 +317,7 @@
on:click={() => goto('/signup')}
class="btn btn-lg bg-white text-primary hover:bg-white/90 gap-3 shadow-lg group"
>
- Get Started Free
+ Get Started
-{/if}
-
-
- Shared Collections
-
-
diff --git a/frontend/src/routes/worldtravel/[id]/+page.svelte b/frontend/src/routes/worldtravel/[id]/+page.svelte
index 43b9214..04af5c4 100644
--- a/frontend/src/routes/worldtravel/[id]/+page.svelte
+++ b/frontend/src/routes/worldtravel/[id]/+page.svelte
@@ -208,20 +208,6 @@
{/if}
-
-
- (showGeo = !showGeo)}
- >
- {#if showGeo}
-
- Hide Labels
- {:else}
-
- Show Labels
- {/if}
-
@@ -262,53 +248,55 @@
-
-
-
-
-
-
-
Interactive Map
-
-
-
-
-
Visited
+ {#if regions.some((region) => region.latitude && region.longitude)}
+
+
+
+
+
+
+
Interactive Map
-
+
+ {#each regions as region}
+ {#if region.latitude && region.longitude && showGeo}
+
+
+ {region.name}
+
+
+ {/if}
+ {/each}
+
-
- {#each regions as region}
- {#if region.latitude && region.longitude && showGeo}
-
-
- {region.name}
-
-
- {/if}
- {/each}
-
-
+ {/if}
@@ -329,7 +317,7 @@
{:else}
{#each filteredRegions as region}
-->
-
-
(showGeo = !showGeo)}>
- {#if showGeo}
-
- Hide Map Labels
- {:else}
-
- Show Map Labels
- {/if}
-
+ {#if regions.some((region) => region.latitude && region.longitude)}
+
+ (showGeo = !showGeo)}>
+ {#if showGeo}
+
+ Hide Map Labels
+ {:else}
+
+ Show Map Labels
+ {/if}
+
-
-
+
+ {/if}