diff --git a/src/app/map/[id]/components/BoundaryHoverInfo/AreasList.tsx b/src/app/map/[id]/components/BoundaryHoverInfo/AreasList.tsx index cffcd25a..7a2cedc3 100644 --- a/src/app/map/[id]/components/BoundaryHoverInfo/AreasList.tsx +++ b/src/app/map/[id]/components/BoundaryHoverInfo/AreasList.tsx @@ -39,7 +39,7 @@ export function AreasList({ className="border-none" style={{ tableLayout: "auto", width: "auto" }} > - {multipleAreas && ( + {multipleAreas && primaryLabel && ( @@ -91,23 +91,25 @@ export function AreasList({ {area.name} - {area.primaryDisplayValue && !multipleAreas && ( + {primaryLabel && !multipleAreas && (
)} - - {multipleAreas ? ( - area.primaryDisplayValue || "-" - ) : ( -
- - {primaryLabel}: - - {area.primaryDisplayValue} -
- )} -
+ {primaryLabel && ( + + {multipleAreas ? ( + area.primaryDisplayValue || "-" + ) : ( +
+ + {primaryLabel}: + + {area.primaryDisplayValue} +
+ )} +
+ )} {secondaryLabel && ( {multipleAreas ? ( diff --git a/src/app/map/[id]/components/controls/VisualisationPanel/VisualisationPanel.tsx b/src/app/map/[id]/components/controls/VisualisationPanel/VisualisationPanel.tsx index 4faf51c2..1810c940 100644 --- a/src/app/map/[id]/components/controls/VisualisationPanel/VisualisationPanel.tsx +++ b/src/app/map/[id]/components/controls/VisualisationPanel/VisualisationPanel.tsx @@ -48,6 +48,9 @@ import SteppedColorEditor from "./SteppedColorEditor"; import type { AreaSetGroupCode } from "@/server/models/AreaSet"; import type { DataSource } from "@/server/models/DataSource"; +const SELECT_TO_BUTTON_CLASSES = + "bg-background hover:bg-accent hover:text-accent-foreground hover:border-border font-medium cursor-pointer"; + function IncludeColumnsModal({ dataSource, selectedColumns, @@ -258,7 +261,7 @@ export default function VisualisationPanel({ } > @@ -298,7 +301,7 @@ export default function VisualisationPanel({ } > @@ -425,7 +428,7 @@ export default function VisualisationPanel({ } > diff --git a/src/app/map/[id]/hooks/useChoropleth.ts b/src/app/map/[id]/hooks/useChoropleth.ts index 51da49dc..e2eefd97 100644 --- a/src/app/map/[id]/hooks/useChoropleth.ts +++ b/src/app/map/[id]/hooks/useChoropleth.ts @@ -1,7 +1,8 @@ "use client"; import { useAtom } from "jotai"; -import { useMemo } from "react"; +import { useCallback, useMemo } from "react"; +import { AreaSetGroupCode } from "@/server/models/AreaSet"; import { GeocodingType } from "@/server/models/DataSource"; import { boundariesPanelOpenAtom, @@ -15,10 +16,10 @@ import { useMapViews } from "./useMapViews"; export function useChoropleth() { const zoom = useZoom(); - const { viewConfig } = useMapViews(); + const { viewConfig, updateViewConfig } = useMapViews(); const choroplethDataSource = useChoroplethDataSource(); - const [boundariesPanelOpen, setBoundariesPanelOpen] = useAtom( + const [boundariesPanelOpen, _setBoundariesPanelOpen] = useAtom( boundariesPanelOpenAtom, ); const [selectedBivariateBucket, setSelectedBivariateBucket] = useAtom( @@ -47,6 +48,16 @@ export function useChoropleth() { zoom, ]); + const setBoundariesPanelOpen = useCallback( + (open: boolean) => { + if (open && viewConfig.areaSetGroupCode === undefined) { + updateViewConfig({ areaSetGroupCode: AreaSetGroupCode.WMC24 }); + } + _setBoundariesPanelOpen(open); + }, + [_setBoundariesPanelOpen, updateViewConfig, viewConfig.areaSetGroupCode], + ); + return { boundariesPanelOpen, setBoundariesPanelOpen, diff --git a/src/app/map/[id]/utils/mapView.ts b/src/app/map/[id]/utils/mapView.ts index 3b15201e..7edede49 100644 --- a/src/app/map/[id]/utils/mapView.ts +++ b/src/app/map/[id]/utils/mapView.ts @@ -10,7 +10,7 @@ export const createNewViewConfig = (): MapViewConfig => { areaDataSourceId: "", areaDataColumn: "", areaDataNullIsZero: true, - areaSetGroupCode: null, + areaSetGroupCode: undefined, mapStyleName: MapStyleName.Light, showLabels: true, showBoundaryOutline: false,