RMO frontend checkpoint

* Create a nwe AddressAndMapLocator which abstracts out the behavior of
   selecting a location
 * Fix the overlay causing render errors on the MapLocator by getting
   rid of the overlay and just using a lock indicator
 * Fix MapLocator zooming in to the wrong place by not framing the
   markers
 * Remove Latlng from platform and just use Location with optional
   accuracy
 * Use nested types with form-encoded POST
 * Fix styles on water report page
This commit is contained in:
Eli Ribble 2026-04-09 17:21:35 +00:00
parent cb9e5146bf
commit 9dccd21cee
No known key found for this signature in database
25 changed files with 828 additions and 598 deletions

View file

@ -18,7 +18,7 @@ body > .container-fluid {
<template>
<template v-if="district">
<router-view v-slot="{ Component }">
<component :is="Component" :district="district" />
<component :is="Component" :district="district" @doLocator="doLocator" />
</router-view>
</template>
<template v-else>
@ -33,6 +33,8 @@ import { computedAsync } from "@vueuse/core";
import { useStoreDistrict } from "@/rmo/store/district";
import Intro from "@/rmo/content/compliance/Intro.vue";
import type { District } from "@/type/api";
import { Locator } from "@/type/map";
interface Props {
slug: string;
}
@ -44,4 +46,7 @@ const district = computedAsync(async (): Promise<District | undefined> => {
const districts = await districtStore.list();
return districts.find((district: District) => district.slug == props.slug);
});
function doLocator(locator: Locator | null) {
console.log("locator", locator);
}
</script>