- var control = L.control(options);
-
- control.onAdd = function (map) {
- var layers = options.layers;
-
- var $container = $("<div>")
- .attr("class", "control-layers");
-
- var button = $("<a>")
- .attr("class", "control-button")
- .attr("href", "#")
- .attr("title", I18n.t("javascripts.map.layers.title"))
- .html("<span class=\"icon layers\"></span>")
- .on("click", toggle)
- .appendTo($container);
-
- var $ui = $("<div>")
- .attr("class", "layers-ui");
-
- $("<div>")
- .attr("class", "sidebar_heading")
- .appendTo($ui)
- .append(
- $("<span>")
- .text(I18n.t("javascripts.close"))
- .attr("class", "icon close")
- .bind("click", toggle))
- .append(
- $("<h4>")
- .text(I18n.t("javascripts.map.layers.header")));
-
- var baseSection = $("<div>")
- .attr("class", "section base-layers")
+ const control = L.OSM.sidebarPane(options, "layers", "javascripts.map.layers.title", "javascripts.map.layers.header");
+
+ control.onAddPane = function (map, button, $ui, toggle) {
+ const layers = options.layers;
+
+ const baseSection = $("<div>")
+ .attr("class", "base-layers d-grid gap-3 p-3 border-bottom border-secondary-subtle")