diff --git a/js/index.js b/js/index.js index 1c4e8cd..9f69c4d 100644 --- a/js/index.js +++ b/js/index.js @@ -244,25 +244,7 @@ nogos.preventRoutePointOnCreate(routing); if (BR.keys.strava) { - const stravaControl = L.control.stravaSegments({ - runningTitle: i18next.t('map.strava-running'), - bikingTitle: i18next.t('map.strava-biking'), - loadingTitle: i18next.t('map.loading'), - stravaToken: BR.keys.strava - }) - .addTo(map); - layersControl.addOverlay(stravaControl.stravaLayer, i18next.t('map.layer.strava-segments')); - stravaControl.onError = function(err) { - BR.message.showError(i18next.t('warning.strava-error', {error: err && err.message ? err.message : err})); - } - - // hide strava buttons when layer is inactive - var toggleStravaControl = function () { - var stravaBar = stravaControl.runningButton.button.parentElement; - stravaBar.hidden = !stravaBar.hidden; - }; - toggleStravaControl(); - stravaControl.stravaLayer.on('add remove', toggleStravaControl); + BR.stravaSegments(map, layersControl); } map.addControl(new BR.OpacitySlider({ diff --git a/js/plugin/stravaSegments.js b/js/plugin/stravaSegments.js new file mode 100644 index 0000000..226affe --- /dev/null +++ b/js/plugin/stravaSegments.js @@ -0,0 +1,23 @@ +BR.stravaSegments = function (map, layersControl) { + const stravaControl = L.control.stravaSegments({ + runningTitle: i18next.t('map.strava-running'), + bikingTitle: i18next.t('map.strava-biking'), + loadingTitle: i18next.t('map.loading'), + stravaToken: BR.keys.strava + }) + .addTo(map); + layersControl.addOverlay(stravaControl.stravaLayer, i18next.t('map.layer.strava-segments')); + stravaControl.onError = function(err) { + BR.message.showError(i18next.t('warning.strava-error', {error: err && err.message ? err.message : err})); + } + + // hide strava buttons when layer is inactive + var toggleStravaControl = function () { + var stravaBar = stravaControl.runningButton.button.parentElement; + stravaBar.hidden = !stravaBar.hidden; + }; + toggleStravaControl(); + stravaControl.stravaLayer.on('add remove', toggleStravaControl); + + return stravaControl; +};