diff --git a/src/api/client.js b/src/api/client.js index 5817c22..a235be2 100644 --- a/src/api/client.js +++ b/src/api/client.js @@ -96,6 +96,9 @@ export async function fetchPosts(filters = {}) { if (typeof filters.radiusKm === "number") { params.set("radius_km", String(filters.radiusKm)); } + if (typeof filters.limit === "number" && filters.limit > 0) { + params.set("limit", String(filters.limit)); + } const qs = params.toString(); const url = qs ? `${API_BASE}/posts?${qs}` : `${API_BASE}/posts`; diff --git a/src/components/Map/MapView.jsx b/src/components/Map/MapView.jsx index 45f34da..d9c028a 100644 --- a/src/components/Map/MapView.jsx +++ b/src/components/Map/MapView.jsx @@ -366,8 +366,8 @@ export default function MapView({ url_hash: raw.url_hash || "", }); } - } else if (kind === 'city') { - // City pick should move the map without forcing a text filter. + } else if (kind === 'city' || kind === 'region' || kind === 'place' || kind === 'poi') { + // Place picks should move the map without forcing a text filter. skipAutoZoomRef.current = false; setSearchQuery(""); } else { diff --git a/src/components/Map/usePostsEngine.js b/src/components/Map/usePostsEngine.js index 1027863..701a2c2 100644 --- a/src/components/Map/usePostsEngine.js +++ b/src/components/Map/usePostsEngine.js @@ -669,6 +669,7 @@ export function usePostsEngine({ lat, lon: lng, radiusKm, + limit: 120, }); if ((!Array.isArray(newPosts) || newPosts.length === 0) && timeFilter !== "PAST") { newPosts = await fetchPosts({ @@ -678,6 +679,7 @@ export function usePostsEngine({ lat, lon: lng, radiusKm, + limit: 120, }); } }