- {status === 'loading' && Laster steder …
}
- {status === 'error' && (
-
- Kunne ikke hente steder. Prøv å laste siden på nytt.
-
- )}
+
+ {status === 'loading' && Laster steder …
}
+ {status === 'error' && (
+ Kunne ikke hente steder. Prøv å laste siden på nytt.
+ )}
- {featured && (
- <>
- step(-1)}
- onNext={() => step(1)}
- />
-
- >
- )}
-
- >
+ {featured && (
+ <>
+ step(-1)}
+ onNext={() => step(1)}
+ />
+
+ >
+ )}
+
)
}
diff --git a/client/src/pages/MapPage.css b/client/src/pages/MapPage.css
index 7ea3756..e02540a 100644
--- a/client/src/pages/MapPage.css
+++ b/client/src/pages/MapPage.css
@@ -5,21 +5,11 @@
--sheet-height: 42dvh;
position: relative;
- height: 100dvh;
+ height: max(32rem, 100dvh);
overflow: hidden;
background: var(--blue-100);
}
-/* Knappene i hjørnene er mørke, siden bakgrunnen her er et lyst kart. */
-.map-page .icon-button {
- z-index: 3;
- background: var(--navy-900);
-}
-
-.map-page .icon-button:hover {
- background: var(--blue-300);
-}
-
/* ---------- Kartflaten ---------- */
.map-viewport {
@@ -215,7 +205,7 @@
.map-compass {
position: absolute;
- top: 3.75rem;
+ top: 0.75rem;
right: 0.75rem;
width: 3.5rem;
pointer-events: none;
@@ -350,7 +340,7 @@
.map-error {
position: absolute;
- top: 4rem;
+ top: 0.75rem;
left: 50%;
z-index: 3;
margin: 0;
@@ -426,7 +416,7 @@
}
.map-panel {
- top: 3.75rem;
+ top: 0.75rem;
right: auto;
width: 23rem;
height: auto;
diff --git a/client/src/pages/MapPage.tsx b/client/src/pages/MapPage.tsx
index 404e791..6366a14 100644
--- a/client/src/pages/MapPage.tsx
+++ b/client/src/pages/MapPage.tsx
@@ -1,23 +1,13 @@
import { useEffect, useMemo, useRef, useState } from 'react'
-import { fetchPlaces } from '../api/places'
-import { HelpButton } from '../components/HelpButton'
-import { HomeLink } from '../components/HomeLink'
+import { fetchAllPlaces } from '../api/places'
import { MapPanel } from '../components/map/MapPanel'
import { MapViewport } from '../components/map/MapViewport'
import type { Inset } from '../components/map/MapViewport'
-import { MenuButton } from '../components/MenuButton'
+import { useFetch } from '../hooks/useFetch'
import { useNow } from '../hooks/useNow'
import type { Place } from '../types/place'
import './MapPage.css'
-/**
- * Kartet viser alle steder. Når backenden er klar, byttes dette ut med en
- * egen kartspørring (for eksempel steder innenfor utsnittet).
- */
-const MAP_LIMIT = 500
-
-type Status = 'loading' | 'ready' | 'error'
-
const matches = (place: Place, query: string) =>
[place.name, place.type, place.area, ...place.tags].some((text) =>
text.toLocaleLowerCase('nb-NO').includes(query),
@@ -25,8 +15,10 @@ const matches = (place: Place, query: string) =>
export function MapPage() {
const now = useNow()
- const [places, setPlaces] = useState