diff --git a/ts/components/ReviewSiteColumnList.vue b/ts/components/ReviewSiteColumnList.vue
index db3a3878..3efd4c12 100644
--- a/ts/components/ReviewSiteColumnList.vue
+++ b/ts/components/ReviewSiteColumnList.vue
@@ -1,12 +1,56 @@
-
+
- list
+
+
Sites
+
+
+
+
+
+ Pool {{ site.id }}
+
+
{{ site.created }}
+
+
+ {{ formatAddress(site.address) }}
+
+
diff --git a/ts/router.ts b/ts/router.ts
index bb009ef1..eb3c54c8 100644
--- a/ts/router.ts
+++ b/ts/router.ts
@@ -24,6 +24,7 @@ import Operations from "./view/Operations.vue";
import Planning from "./view/Planning.vue";
import ReviewPool from "./view/review/Pool.vue";
import ReviewRoot from "./view/review/Root.vue";
+import ReviewSite from "./view/review/Site.vue";
import Signin from "./view/Signin.vue";
import Sudo from "./view/Sudo.vue";
import apiClient from "@/client";
diff --git a/ts/view/review/Site.vue b/ts/view/review/Site.vue
index 616919d6..172b0227 100644
--- a/ts/view/review/Site.vue
+++ b/ts/view/review/Site.vue
@@ -1,4 +1,4 @@
-
-
+
@@ -83,7 +55,7 @@ import ReviewSiteColumnDetail from "@/components/ReviewSiteColumnDetail.vue";
import ReviewSiteColumnList from "@/components/ReviewSiteColumnList.vue";
import { formatAddress } from "@/format";
import type { Changes } from "@/types";
-import { Bounds, Contact, Location, ReviewTask } from "@/type/api";
+import { Bounds, Contact, Location, Site } from "@/type/api";
import { Camera } from "@/type/map";
import { MapClickEvent, Marker } from "@/types";
@@ -93,6 +65,29 @@ interface Props {}
const props = withDefaults(defineProps(), {});
const storeSite = useStoreSite();
+const selectedSiteID = ref(0);
+const selectedSite = computed((): Site | undefined => {
+ if (!selectedSiteID.value) {
+ return undefined;
+ }
+ return storeSite.byID(selectedSiteID.value);
+});
+function siteDeselect(id: number): void {
+ if (selectedSiteID.value == id) {
+ selectedSiteID.value = 0;
+ }
+}
+function siteSelect(id: number): void {
+ selectedSiteID.value = id;
+
+ const site = storeSite.byID(id);
+ if (!site) {
+ console.log("no site", id);
+ return;
+ }
+ console.log("selecting site", id, site);
+}
+
// Lifecycle
onMounted(async () => {
storeSite.fetchAll();