diff --git a/backend/server/worldtravel/serializers.py b/backend/server/worldtravel/serializers.py
index ab312df..b6be995 100644
--- a/backend/server/worldtravel/serializers.py
+++ b/backend/server/worldtravel/serializers.py
@@ -2,7 +2,6 @@ import os
from .models import Country, Region, VisitedRegion
from rest_framework import serializers
-
class CountrySerializer(serializers.ModelSerializer):
def get_public_url(self, obj):
return os.environ.get('PUBLIC_URL', 'http://127.0.0.1:8000').rstrip('/').replace("'", "")
@@ -15,17 +14,21 @@ class CountrySerializer(serializers.ModelSerializer):
class Meta:
model = Country
- fields = '__all__' # Serialize all fields of the Adventure model
+ fields = '__all__'
read_only_fields = ['id', 'name', 'country_code', 'subregion', 'flag_url']
class RegionSerializer(serializers.ModelSerializer):
class Meta:
model = Region
- fields = '__all__' # Serialize all fields of the Adventure model
+ fields = '__all__'
read_only_fields = ['id', 'name', 'country', 'longitude', 'latitude']
class VisitedRegionSerializer(serializers.ModelSerializer):
+ longitude = serializers.DecimalField(source='region.longitude', max_digits=9, decimal_places=6, read_only=True)
+ latitude = serializers.DecimalField(source='region.latitude', max_digits=9, decimal_places=6, read_only=True)
+ name = serializers.CharField(source='region.name', read_only=True)
+
class Meta:
model = VisitedRegion
- fields = '__all__' # Serialize all fields of the Adventure model
- read_only_fields = ['user_id', 'id']
\ No newline at end of file
+ fields = ['id', 'user_id', 'region', 'longitude', 'latitude', 'name']
+ read_only_fields = ['user_id', 'id', 'longitude', 'latitude', 'name']
\ No newline at end of file
diff --git a/frontend/src/routes/map/+page.svelte b/frontend/src/routes/map/+page.svelte
index a157198..5c10b8e 100644
--- a/frontend/src/routes/map/+page.svelte
+++ b/frontend/src/routes/map/+page.svelte
@@ -54,7 +54,7 @@
}
let visitedRegions = data.props.visitedRegions;
- let geoJSON = [];
+ let allRegions = [];
let visitArray = [];
@@ -72,12 +72,12 @@
// mapped to the checkbox
let showGEO = false;
$: {
- if (showGEO && geoJSON.length === 0) {
+ if (showGEO && allRegions.length === 0) {
(async () => {
- geoJSON = await fetch('/api/geojson/').then((res) => res.json());
+ allRegions = await fetch('/api/visitedregion/').then((res) => res.json());
})();
} else if (!showGEO) {
- geoJSON = [];
+ allRegions = [];
}
}
@@ -99,7 +99,7 @@
-
+
{/if}
{/each}
- {#if showGEO}
-
-
-
-
-
- {/if}
+
{#each newMarker as marker}
{/each}
+
+ {#each allRegions as { longitude, latitude, name, region }}
+ (clickedName = name)}
+ class="grid h-8 w-8 place-items-center rounded-full border border-gray-200 bg-green-300 text-black shadow-md"
+ >
+
+
+ {name}
+ {region}
+
+
+ {/each}