diff --git a/src/lib/browse/LayerControls.svelte b/src/lib/browse/LayerControls.svelte
new file mode 100644
index 000000000..d26ee7005
--- /dev/null
+++ b/src/lib/browse/LayerControls.svelte
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/lib/browse/BusRoutesLayerControl.svelte b/src/lib/browse/layers/BusRoutesLayerControl.svelte
similarity index 91%
rename from src/lib/browse/BusRoutesLayerControl.svelte
rename to src/lib/browse/layers/BusRoutesLayerControl.svelte
index fb07ef551..aae2d6eba 100644
--- a/src/lib/browse/BusRoutesLayerControl.svelte
+++ b/src/lib/browse/layers/BusRoutesLayerControl.svelte
@@ -4,16 +4,16 @@
hoveredToggle,
overwriteLineLayer,
overwritePmtilesSource,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "bus_routes";
diff --git a/src/lib/browse/CensusOutputAreaLayerControl.svelte b/src/lib/browse/layers/CensusOutputAreaLayerControl.svelte
similarity index 97%
rename from src/lib/browse/CensusOutputAreaLayerControl.svelte
rename to src/lib/browse/layers/CensusOutputAreaLayerControl.svelte
index f4a59a515..98a19d64c 100644
--- a/src/lib/browse/CensusOutputAreaLayerControl.svelte
+++ b/src/lib/browse/layers/CensusOutputAreaLayerControl.svelte
@@ -6,11 +6,11 @@
overwriteLineLayer,
overwritePmtilesSource,
overwritePolygonLayer,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
- import { ExternalLink, HelpButton, InteractiveLayer } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
+ import { ExternalLink, HelpButton, InteractiveLayer } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
import SequentialLegend from "./SequentialLegend.svelte";
let name = "census_output_areas";
diff --git a/src/lib/browse/CombinedAuthoritiesLayerControl.svelte b/src/lib/browse/layers/CombinedAuthoritiesLayerControl.svelte
similarity index 91%
rename from src/lib/browse/CombinedAuthoritiesLayerControl.svelte
rename to src/lib/browse/layers/CombinedAuthoritiesLayerControl.svelte
index b827531c8..023dd91bc 100644
--- a/src/lib/browse/CombinedAuthoritiesLayerControl.svelte
+++ b/src/lib/browse/layers/CombinedAuthoritiesLayerControl.svelte
@@ -5,16 +5,16 @@
overwriteLineLayer,
overwritePolygonLayer,
overwriteSource,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "combined_authorities";
let color = colors.combined_authorities;
diff --git a/src/lib/browse/CycleParkingLayerControl.svelte b/src/lib/browse/layers/CycleParkingLayerControl.svelte
similarity index 88%
rename from src/lib/browse/CycleParkingLayerControl.svelte
rename to src/lib/browse/layers/CycleParkingLayerControl.svelte
index ddfc89017..5e8edf451 100644
--- a/src/lib/browse/CycleParkingLayerControl.svelte
+++ b/src/lib/browse/layers/CycleParkingLayerControl.svelte
@@ -3,16 +3,16 @@
import {
overwriteCircleLayer,
overwritePmtilesSource,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "cycle_parking";
let color = colors.cycle_parking;
diff --git a/src/lib/browse/HospitalsLayerControl.svelte b/src/lib/browse/layers/HospitalsLayerControl.svelte
similarity index 93%
rename from src/lib/browse/HospitalsLayerControl.svelte
rename to src/lib/browse/layers/HospitalsLayerControl.svelte
index b8b1dc044..567c8d0e8 100644
--- a/src/lib/browse/HospitalsLayerControl.svelte
+++ b/src/lib/browse/layers/HospitalsLayerControl.svelte
@@ -1,5 +1,5 @@
diff --git a/src/lib/browse/ImdLayerControl.svelte b/src/lib/browse/layers/ImdLayerControl.svelte
similarity index 94%
rename from src/lib/browse/ImdLayerControl.svelte
rename to src/lib/browse/layers/ImdLayerControl.svelte
index 0938929f1..b3591b6b9 100644
--- a/src/lib/browse/ImdLayerControl.svelte
+++ b/src/lib/browse/layers/ImdLayerControl.svelte
@@ -6,11 +6,11 @@
overwriteLineLayer,
overwritePmtilesSource,
overwritePolygonLayer,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
- import { ExternalLink, HelpButton, InteractiveLayer } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
+ import { ExternalLink, HelpButton, InteractiveLayer } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
import SequentialLegend from "./SequentialLegend.svelte";
let name = "imd";
diff --git a/src/lib/browse/LocalAuthorityDistrictsLayerControl.svelte b/src/lib/browse/layers/LocalAuthorityDistrictsLayerControl.svelte
similarity index 91%
rename from src/lib/browse/LocalAuthorityDistrictsLayerControl.svelte
rename to src/lib/browse/layers/LocalAuthorityDistrictsLayerControl.svelte
index 8722edabf..04b0a8d32 100644
--- a/src/lib/browse/LocalAuthorityDistrictsLayerControl.svelte
+++ b/src/lib/browse/layers/LocalAuthorityDistrictsLayerControl.svelte
@@ -5,16 +5,16 @@
overwriteLineLayer,
overwritePolygonLayer,
overwriteSource,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "local_authority_districts";
let color = colors.local_authority_districts;
diff --git a/src/lib/browse/LocalPlanningAuthoritiesLayerControl.svelte b/src/lib/browse/layers/LocalPlanningAuthoritiesLayerControl.svelte
similarity index 94%
rename from src/lib/browse/LocalPlanningAuthoritiesLayerControl.svelte
rename to src/lib/browse/layers/LocalPlanningAuthoritiesLayerControl.svelte
index 0a9d29705..6e68fefed 100644
--- a/src/lib/browse/LocalPlanningAuthoritiesLayerControl.svelte
+++ b/src/lib/browse/layers/LocalPlanningAuthoritiesLayerControl.svelte
@@ -5,16 +5,16 @@
overwriteLineLayer,
overwritePmtilesSource,
overwritePolygonLayer,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "local_planning_authorities";
let color = colors.local_planning_authorities;
diff --git a/src/lib/browse/MrnLayerControl.svelte b/src/lib/browse/layers/MrnLayerControl.svelte
similarity index 88%
rename from src/lib/browse/MrnLayerControl.svelte
rename to src/lib/browse/layers/MrnLayerControl.svelte
index 1bbbbee1a..d1d575aad 100644
--- a/src/lib/browse/MrnLayerControl.svelte
+++ b/src/lib/browse/layers/MrnLayerControl.svelte
@@ -4,16 +4,16 @@
hoveredToggle,
overwriteLineLayer,
overwritePmtilesSource,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "mrn";
let color = colors.mrn;
diff --git a/src/lib/browse/ParliamentaryConstituenciesLayerControl.svelte b/src/lib/browse/layers/ParliamentaryConstituenciesLayerControl.svelte
similarity index 92%
rename from src/lib/browse/ParliamentaryConstituenciesLayerControl.svelte
rename to src/lib/browse/layers/ParliamentaryConstituenciesLayerControl.svelte
index 3d17c03e8..34039625b 100644
--- a/src/lib/browse/ParliamentaryConstituenciesLayerControl.svelte
+++ b/src/lib/browse/layers/ParliamentaryConstituenciesLayerControl.svelte
@@ -5,16 +5,16 @@
overwriteLineLayer,
overwritePmtilesSource,
overwritePolygonLayer,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "parliamentary_constituencies";
let color = colors.parliamentary_constituencies;
diff --git a/src/lib/browse/PointAmenityLayerControl.svelte b/src/lib/browse/layers/PointAmenityLayerControl.svelte
similarity index 88%
rename from src/lib/browse/PointAmenityLayerControl.svelte
rename to src/lib/browse/layers/PointAmenityLayerControl.svelte
index 174e099a3..b7cfed82c 100644
--- a/src/lib/browse/PointAmenityLayerControl.svelte
+++ b/src/lib/browse/layers/PointAmenityLayerControl.svelte
@@ -3,11 +3,11 @@
import {
overwriteCircleLayer,
overwriteSource,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
- import { ColorLegend, HelpButton, InteractiveLayer } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
+ import { ColorLegend, HelpButton, InteractiveLayer } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
// This name is used for multiple things:
// - The name of a .geojson file
diff --git a/src/lib/browse/PolygonAmenityLayerControl.svelte b/src/lib/browse/layers/PolygonAmenityLayerControl.svelte
similarity index 89%
rename from src/lib/browse/PolygonAmenityLayerControl.svelte
rename to src/lib/browse/layers/PolygonAmenityLayerControl.svelte
index 3339ca60f..7e0e39a2d 100644
--- a/src/lib/browse/PolygonAmenityLayerControl.svelte
+++ b/src/lib/browse/layers/PolygonAmenityLayerControl.svelte
@@ -4,11 +4,11 @@
hoveredToggle,
overwritePmtilesSource,
overwritePolygonLayer,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
- import { ColorLegend, HelpButton, InteractiveLayer } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
+ import { ColorLegend, HelpButton, InteractiveLayer } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
// This name is used for multiple things:
// - The name of a .pmtiles file
diff --git a/src/lib/browse/RailwayStationsLayerControl.svelte b/src/lib/browse/layers/RailwayStationsLayerControl.svelte
similarity index 87%
rename from src/lib/browse/RailwayStationsLayerControl.svelte
rename to src/lib/browse/layers/RailwayStationsLayerControl.svelte
index 83ac40506..7bbd15d9c 100644
--- a/src/lib/browse/RailwayStationsLayerControl.svelte
+++ b/src/lib/browse/layers/RailwayStationsLayerControl.svelte
@@ -1,6 +1,6 @@
diff --git a/src/lib/browse/SequentialLegend.svelte b/src/lib/browse/layers/SequentialLegend.svelte
similarity index 100%
rename from src/lib/browse/SequentialLegend.svelte
rename to src/lib/browse/layers/SequentialLegend.svelte
diff --git a/src/lib/browse/SportsSpacesLayerControl.svelte b/src/lib/browse/layers/SportsSpacesLayerControl.svelte
similarity index 94%
rename from src/lib/browse/SportsSpacesLayerControl.svelte
rename to src/lib/browse/layers/SportsSpacesLayerControl.svelte
index b963257e7..34d58a12b 100644
--- a/src/lib/browse/SportsSpacesLayerControl.svelte
+++ b/src/lib/browse/layers/SportsSpacesLayerControl.svelte
@@ -1,5 +1,5 @@
diff --git a/src/lib/browse/WardsLayerControl.svelte b/src/lib/browse/layers/WardsLayerControl.svelte
similarity index 92%
rename from src/lib/browse/WardsLayerControl.svelte
rename to src/lib/browse/layers/WardsLayerControl.svelte
index 107a59948..e0569d1e7 100644
--- a/src/lib/browse/WardsLayerControl.svelte
+++ b/src/lib/browse/layers/WardsLayerControl.svelte
@@ -5,16 +5,16 @@
overwriteLineLayer,
overwritePmtilesSource,
overwritePolygonLayer,
- } from "../../maplibre_helpers";
- import { map } from "../../stores";
+ } from "../../../maplibre_helpers";
+ import { map } from "../../../stores";
import {
ColorLegend,
ExternalLink,
HelpButton,
InteractiveLayer,
- } from "../common";
- import { Checkbox } from "../govuk";
- import { colors } from "./colors";
+ } from "../../common";
+ import { Checkbox } from "../../govuk";
+ import { colors } from "../colors";
let name = "wards";
let color = colors.wards;
diff --git a/src/pages/BrowseSchemes.svelte b/src/pages/BrowseSchemes.svelte
index e640fcf25..de1571c63 100644
--- a/src/pages/BrowseSchemes.svelte
+++ b/src/pages/BrowseSchemes.svelte
@@ -2,29 +2,15 @@
// @ts-ignore no declarations
import { initAll } from "govuk-frontend";
import "../style/main.css";
- import type { MapGeoJSONFeature } from "maplibre-gl";
- import { onDestroy, onMount } from "svelte";
import authorityNamesList from "../../assets/authority_names.json";
- import BusRoutesLayerControl from "../lib/browse/BusRoutesLayerControl.svelte";
- import CensusOutputAreaLayerControl from "../lib/browse/CensusOutputAreaLayerControl.svelte";
- import CombinedAuthoritiesLayerControl from "../lib/browse/CombinedAuthoritiesLayerControl.svelte";
- import CycleParkingLayerControl from "../lib/browse/CycleParkingLayerControl.svelte";
import { processInput, type Scheme } from "../lib/browse/data";
import Filters from "../lib/browse/Filters.svelte";
- import HospitalsLayerControl from "../lib/browse/HospitalsLayerControl.svelte";
- import ImdLayerControl from "../lib/browse/ImdLayerControl.svelte";
- import LocalAuthorityDistrictsLayerControl from "../lib/browse/LocalAuthorityDistrictsLayerControl.svelte";
- import LocalPlanningAuthoritiesLayerControl from "../lib/browse/LocalPlanningAuthoritiesLayerControl.svelte";
- import MrnLayerControl from "../lib/browse/MrnLayerControl.svelte";
- import ParliamentaryConstituenciesLayerControl from "../lib/browse/ParliamentaryConstituenciesLayerControl.svelte";
- import RailwayStationsLayerControl from "../lib/browse/RailwayStationsLayerControl.svelte";
+ import LayerControls from "../lib/browse/LayerControls.svelte";
import SchemeCard from "../lib/browse/SchemeCard.svelte";
- import SchoolsLayerControl from "../lib/browse/SchoolsLayerControl.svelte";
- import SportsSpacesLayerControl from "../lib/browse/SportsSpacesLayerControl.svelte";
- import WardsLayerControl from "../lib/browse/WardsLayerControl.svelte";
+ import "../style/main.css";
+ import type { MapGeoJSONFeature } from "maplibre-gl";
+ import { onDestroy, onMount } from "svelte";
import {
- BaselayerSwitcher,
- CollapsibleCard,
FileInput,
InteractiveLayer,
Layout,
@@ -33,7 +19,7 @@
} from "../lib/common";
import PmTiles from "../lib/common/PmTiles.svelte";
import InterventionLayer from "../lib/draw/InterventionLayer.svelte";
- import { CheckboxGroup, ErrorMessage, SecondaryButton } from "../lib/govuk";
+ import { ErrorMessage, SecondaryButton } from "../lib/govuk";
import { bbox, emptyGeojson, prettyPrintMeters } from "../maplibre_helpers";
import { colorInterventionsBySchema } from "../schemas";
import { gjScheme, map } from "../stores";
@@ -150,37 +136,7 @@
clickable={false}
/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+