diff --git a/app/Http/Livewire/BookCase/WorldMap.php b/app/Http/Livewire/BookCase/WorldMap.php
new file mode 100644
index 00000000..aa9bf7f9
--- /dev/null
+++ b/app/Http/Livewire/BookCase/WorldMap.php
@@ -0,0 +1,37 @@
+ BookCase::query()
+ ->select(['id', 'latitude', 'longitude'])
+ ->withCount('orangePills')
+ ->get()
+ ->map(fn($bookCase) => [
+ 'lat' => $bookCase->latitude,
+ 'lng' => $bookCase->longitude,
+ 'url' => url()->route('bookCases.table.bookcases',
+ [
+ 'country' => $this->country,
+ 'bookcases' => [
+ 'filters' => [
+ 'byids' => $bookCase->id,
+ ]
+ ]
+ ]),
+ 'op' => $bookCase->count_orange_pills,
+ ])
+ ->toArray(),
+ ]);
+ }
+}
diff --git a/resources/views/livewire/book-case/world-map.blade.php b/resources/views/livewire/book-case/world-map.blade.php
new file mode 100644
index 00000000..d8cf8292
--- /dev/null
+++ b/resources/views/livewire/book-case/world-map.blade.php
@@ -0,0 +1,54 @@
+
+ {{-- HEADER --}}
+
+ {{-- MAIN --}}
+
+
+
+
+ {{ __('World Map') }}
+
+
+
+
+
+
+ {{-- FOOTER --}}
+
+
diff --git a/resources/views/livewire/frontend/header.blade.php b/resources/views/livewire/frontend/header.blade.php
index ec28f7d6..bbe01244 100644
--- a/resources/views/livewire/frontend/header.blade.php
+++ b/resources/views/livewire/frontend/header.blade.php
@@ -82,6 +82,10 @@
class="{{ request()->routeIs('bookCases.table.bookcases') ? 'text-amber-500 underline' : 'text-gray-400' }} mr-5 font-medium leading-6 hover:text-gray-300">
{{ __('Bookcases') }}
+
+ {{ __('World Map') }}
+
{{ __('Heatmap') }}
diff --git a/routes/web.php b/routes/web.php
index f932c7ae..3cc214cb 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -125,6 +125,9 @@ Route::middleware([])
Route::get('/heatmap', \App\Http\Livewire\BookCase\Heatmap::class)
->name('heatmap');
+ Route::get('/world-map', \App\Http\Livewire\BookCase\WorldMap::class)
+ ->name('world');
+
Route::get('/overview', \App\Http\Livewire\BookCase\BookCaseTable::class)
->name('table.bookcases');