{"version":3,"file":"js/64810-aefc65004ce5e45a833d.js","mappings":"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","sources":["webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/StartAndEndSlider/Handle/styles.scss?d861","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/StartAndEndSlider/Handle/Handle.js","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/StartAndEndSlider/Track/styles.scss?a41f","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/StartAndEndSlider/Track/Track.js","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/StartAndEndSlider/styles.scss?56e1","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/StartAndEndSlider/StartAndEndSlider.js","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/SelectHiddenMap/styles.scss?fca0","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/components/SelectHiddenMap/SelectHiddenMap.js","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/styles.scss?8b86","webpack://StravaModern/./app/javascript/apps/activities/EditMapVisibilityApp/EditMapVisibilityApp.js","webpack://StravaModern/./app/javascript/components/map/FitBounds.js","webpack://StravaModern/./app/javascript/components/map/StyleNav.scss?1157","webpack://StravaModern/./app/javascript/components/map/StyleNav.js","webpack://StravaModern/./app/javascript/utils/analytics.js","webpack://StravaModern/./app/javascript/utils/networking-client.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"handle\":\"Handle--handle--uh2wk\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ActionsVisibleDisabledNormalXsmall from '@strava/icons/ActionsVisibleDisabledNormalXsmall';\nimport styles from './styles.scss';\n\nconst Handle = ({ domain: [min, max], handle, getHandleProps }) => {\n return (\n \n
\n \n
\n \n );\n};\n\nHandle.propTypes = {\n domain: PropTypes.arrayOf(PropTypes.number).isRequired,\n handle: PropTypes.shape({\n id: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired,\n percent: PropTypes.number.isRequired\n }).isRequired,\n getHandleProps: PropTypes.func.isRequired\n};\n\nexport default Handle;\n","// extracted by mini-css-extract-plugin\nexport default {\"track\":\"Track--track--NP2+F\",\"disabled\":\"Track--disabled--xPXYJ\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.scss';\n\nconst Track = ({ source, target, disabled }) => (\n \n);\n\nTrack.propTypes = {\n source: PropTypes.shape({\n value: PropTypes.number.isRequired,\n percent: PropTypes.number.isRequired\n }).isRequired,\n target: PropTypes.shape({\n value: PropTypes.number.isRequired,\n percent: PropTypes.number.isRequired\n }).isRequired,\n disabled: PropTypes.bool.isRequired\n};\n\nexport default Track;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"StartAndEndSlider--container--sGgDb\",\"controls\":\"StartAndEndSlider--controls--c4rAv\",\"hide-start-end-label\":\"StartAndEndSlider--hide-start-end-label--WembK\",\"hideStartEndLabel\":\"StartAndEndSlider--hide-start-end-label--WembK\",\"disabled\":\"StartAndEndSlider--disabled--9NzPe\",\"selection-controls\":\"StartAndEndSlider--selection-controls--LRM9G\",\"selectionControls\":\"StartAndEndSlider--selection-controls--LRM9G\",\"selection-label\":\"StartAndEndSlider--selection-label--1sgb3\",\"selectionLabel\":\"StartAndEndSlider--selection-label--1sgb3\",\"slider\":\"StartAndEndSlider--slider--VkmZ1\",\"graphic-wrap\":\"StartAndEndSlider--graphic-wrap--vwfbW\",\"graphicWrap\":\"StartAndEndSlider--graphic-wrap--vwfbW\",\"rail\":\"StartAndEndSlider--rail--xJaao\",\"rail-hitarea\":\"StartAndEndSlider--rail-hitarea--GXU+P\",\"railHitarea\":\"StartAndEndSlider--rail-hitarea--GXU+P\",\"scale\":\"StartAndEndSlider--scale--R1vgP\"};","import React, { useState, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Slider, Rail, Handles, Tracks } from 'react-compound-slider';\nimport Button from '@strava/ui/Button';\nimport ActionsArrowLeftNormalXsmall from '@strava/icons/ActionsArrowLeftNormalXsmall';\nimport ActionsArrowRightNormalXsmall from '@strava/icons/ActionsArrowRightNormalXsmall';\nimport I18n from 'utils/I18n';\nimport { trackV2 } from 'utils/analytics';\n\nimport Handle from './Handle';\nimport Track from './Track';\nimport styles from './styles.scss';\n\nconst StartAndEndSlider = ({\n activityId,\n type,\n domain,\n sliderValue,\n distanceStream,\n disabled,\n onUpdate\n}) => {\n const i18nPrefix = 'strava.activities.edit_map_visibility.';\n const isStart = type === 'start';\n const isMetric = I18n.measurementUnits() === 'metric';\n\n const trackEvent = (action, element = null, properties = null) => {\n trackV2({\n category: 'privacy_settings',\n page: 'activity_detail_edit_map_visibility',\n action,\n ...(element && { element }),\n ...(properties && { properties })\n });\n };\n\n // Selected distance stream index\n const getDistanceStreamIdx = (sliderIdx) => {\n if (isStart) {\n return sliderIdx;\n }\n return distanceStream.length - 1 - sliderIdx;\n };\n\n const getDistanceHidden = (sliderIdx) => {\n const lastIdx = distanceStream.length - 1;\n const metersHidden = isStart\n ? distanceStream[getDistanceStreamIdx(sliderIdx)]\n : distanceStream[lastIdx] -\n distanceStream[getDistanceStreamIdx(sliderIdx)];\n if (isMetric) {\n return Math.round(metersHidden);\n }\n return I18n.distanceFormatter()\n .convert(metersHidden)\n .toFixed(2);\n };\n\n const [distanceHidden, setDistanceHidden] = useState(\n getDistanceHidden(sliderValue)\n );\n\n const maxLabel = useMemo(() => {\n const distance = getDistanceHidden(domain[1]);\n\n if (isMetric) {\n return { label: `${i18nPrefix}scale_meters`, value: { distance } };\n }\n return {\n label: `${i18nPrefix}scale_mile`,\n value: { count: distance }\n };\n }, []);\n\n const selectionLabel = () => {\n let selected;\n if (disabled) {\n selected = { label: `${i18nPrefix}selection_not_available` };\n } else if (sliderValue === domain[0]) {\n selected = { label: `${i18nPrefix}selection_not_hidden` };\n } else if (isMetric) {\n selected = {\n label: `${i18nPrefix}selection_meters_hidden`,\n value: { distance: distanceHidden }\n };\n } else {\n selected = {\n label: `${i18nPrefix}selection_mile_hidden`,\n value: { count: distanceHidden }\n };\n }\n return selected;\n };\n\n useEffect(() => {\n setDistanceHidden(getDistanceHidden(sliderValue));\n }, [sliderValue]);\n\n return (\n
\n
\n \n {isStart\n ? I18n.t(`${i18nPrefix}hide_start`)\n : I18n.t(`${i18nPrefix}hide_end`)}\n
\n
\n {\n trackEvent(\n 'click',\n isStart ? 'start_slider_left_arrow' : 'end_slider_left_arrow',\n { activity_id: activityId }\n );\n if (!disabled) onUpdate(sliderValue - 1);\n }}\n data-testid=\"control-button\"\n >\n \n \n \n {I18n.t(selectionLabel().label, selectionLabel().value)}\n
\n {\n trackEvent(\n 'click',\n isStart ? 'start_slider_right_arrow' : 'end_slider_right_arrow',\n { activity_id: activityId }\n );\n if (!disabled) onUpdate(sliderValue + 1);\n }}\n data-testid=\"control-button\"\n >\n \n \n
\n \n\n
\n onUpdate(newVal[0])}\n onSlideEnd={() =>\n trackEvent('interact', isStart ? 'start_slider' : 'end_slider', {\n activity_id: activityId\n })\n }\n values={[sliderValue]}\n className={styles.slider}\n disabled={disabled}\n >\n
\n \n
\n\n \n {({ tracks, getTrackProps }) => (\n
\n {tracks.map(({ id, source, target }) => (\n \n ))}\n
\n )}\n
\n\n {/*\n whe need to use Rail component here so that we can add getRailProps\n which will add mouse interactions\n */}\n \n {({ getRailProps }) => (\n
\n
\n
\n )}\n \n\n \n {({ handles, getHandleProps }) => (\n
\n \n
\n )}\n
\n \n
\n\n
\n {I18n.t(`${i18nPrefix}scale_off`)}\n \n {I18n.t(maxLabel.label, maxLabel.value)}\n \n
\n
\n );\n};\n\nStartAndEndSlider.defaultProps = {\n onUpdate: () => {}\n};\n\nStartAndEndSlider.propTypes = {\n activityId: PropTypes.number.isRequired,\n type: PropTypes.string.isRequired,\n domain: PropTypes.arrayOf(PropTypes.number).isRequired,\n sliderValue: PropTypes.number.isRequired,\n distanceStream: PropTypes.arrayOf(PropTypes.number).isRequired,\n disabled: PropTypes.bool.isRequired,\n onUpdate: PropTypes.func\n};\n\nexport default StartAndEndSlider;\n","// extracted by mini-css-extract-plugin\nexport default {\"map\":\"SelectHiddenMap--map--V0JE1\",\"primary-marker\":\"SelectHiddenMap--primary-marker--kJhOQ\",\"primaryMarker\":\"SelectHiddenMap--primary-marker--kJhOQ\"};","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Colors from '@strava/ui/colors';\nimport Map, { useMap } from '@strava/ui/Map';\nimport Polyline from '@strava/ui/Map/Polyline';\nimport Marker from '@strava/ui/Map/Marker';\n\nimport primaryStartMarker from '@strava/ui/Map/images/map-marker-start.png';\nimport primaryEndMarker from '@strava/ui/Map/images/map-marker-end.png';\n\nimport FitBounds from 'components/map/FitBounds';\nimport StyleNav from 'components/map/StyleNav';\n\nimport { trackV2 } from 'utils/analytics';\nimport I18n from 'utils/I18n';\nimport styles from './styles.scss';\n\nfunction MapAnalytics({ activityId }) {\n const map = useMap();\n\n useEffect(() => {\n map.on('zoomstart', (e) => {\n if (e.source !== 'fitBounds') {\n trackV2({\n category: 'activity_detail',\n page: 'activity_detail_edit_map_visibility',\n action: 'click',\n element: 'map_zoom',\n properties: { activity_id: activityId }\n });\n }\n });\n map.on('dragstart', () => {\n trackV2({\n category: 'activity_detail',\n page: 'activity_detail_edit_map_visibility',\n action: 'pan',\n element: 'map',\n properties: { activity_id: activityId }\n });\n });\n }, []);\n\n return null;\n}\n\nfunction SelectHiddenMap({\n activityId,\n activityLatLng,\n hideEntireMap,\n startIdx,\n endIdx\n}) {\n const i18nPrefix = 'strava.activities.edit_map_visibility.';\n\n return (\n \n \n\n \n\n \n\n \n \n \n \n \n \n\n {!hideEntireMap && (\n <>\n \n \n \n \n )}\n \n );\n}\n\nSelectHiddenMap.propTypes = {\n activityId: PropTypes.number.isRequired,\n activityLatLng: PropTypes.arrayOf(PropTypes.array).isRequired,\n hideEntireMap: PropTypes.bool.isRequired,\n startIdx: PropTypes.number.isRequired,\n endIdx: PropTypes.number.isRequired\n};\n\nexport default SelectHiddenMap;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"EditMapVisibilityApp--container--amTLM\",\"left-side\":\"EditMapVisibilityApp--left-side--K0U-S\",\"leftSide\":\"EditMapVisibilityApp--left-side--K0U-S\",\"header\":\"EditMapVisibilityApp--header--MHT-z\",\"activity-title\":\"EditMapVisibilityApp--activity-title--I5klE\",\"activityTitle\":\"EditMapVisibilityApp--activity-title--I5klE\",\"details\":\"EditMapVisibilityApp--details--hv3xb\",\"form\":\"EditMapVisibilityApp--form--E2onY\",\"save-button\":\"EditMapVisibilityApp--save-button--js6CY\",\"saveButton\":\"EditMapVisibilityApp--save-button--js6CY\",\"cancel-button\":\"EditMapVisibilityApp--cancel-button--x1w0z\",\"cancelButton\":\"EditMapVisibilityApp--cancel-button--x1w0z\",\"links\":\"EditMapVisibilityApp--links--7q44A\",\"right-side\":\"EditMapVisibilityApp--right-side--nP3NF\",\"rightSide\":\"EditMapVisibilityApp--right-side--nP3NF\",\"spinner-container\":\"EditMapVisibilityApp--spinner-container--4Mnt1\",\"spinnerContainer\":\"EditMapVisibilityApp--spinner-container--4Mnt1\",\"switch-container\":\"EditMapVisibilityApp--switch-container--xqOdo\",\"switchContainer\":\"EditMapVisibilityApp--switch-container--xqOdo\",\"hide-entire-map-label\":\"EditMapVisibilityApp--hide-entire-map-label--YEDTt\",\"hideEntireMapLabel\":\"EditMapVisibilityApp--hide-entire-map-label--YEDTt\",\"switch\":\"EditMapVisibilityApp--switch--vW0m5\",\"error\":\"EditMapVisibilityApp--error--A-h8X\"};","import React, { useState, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '@strava/ui/Button';\nimport Spinner from '@strava/ui/Spinner';\nimport Switch from '@strava/ui/Switch';\nimport createNetworkingClient from 'utils/networking-client';\nimport I18n from 'utils/I18n';\nimport { trackV2 } from 'utils/analytics';\n\nimport StartAndEndSlider from './components/StartAndEndSlider';\nimport SelectHiddenMap from './components/SelectHiddenMap';\nimport styles from './styles.scss';\n\nfunction EditMapVisibilityApp({ activity, paths }) {\n const i18nPrefix = 'strava.activities.edit_map_visibility.';\n const [error, setError] = useState(false);\n\n // Selected slider values\n const [startValue, setStartValue] = useState(null);\n const [endValue, setEndValue] = useState(null);\n const [mapHidden, setMapHidden] = useState(null);\n\n const [streams, setStreams] = useState({\n distance: [],\n privacy: [],\n latlng: []\n });\n\n const trackEvent = (action, element = null, properties = null) => {\n trackV2({\n category: 'privacy_settings',\n page: 'activity_detail_edit_map_visibility',\n action,\n ...(element && { element }),\n ...(properties && { properties })\n });\n };\n\n useEffect(() => {\n trackEvent('screen_enter', null, { activity_id: activity.id });\n async function loadStreams() {\n const response = await createNetworkingClient().get(paths.streamsPath, {\n params: {\n stream_types: ['distance', 'privacy', 'latlng']\n }\n });\n setStreams(response.data);\n }\n loadStreams();\n }, []);\n\n // Range of indices for each slider\n const sliderDomains = useMemo(() => {\n let start;\n let end;\n const activityDistance = streams.distance[streams.distance.length - 1];\n // If the activity is under 1600m then the slider domain should be the length of the entire activity\n if (activityDistance <= 1600) {\n start = [0, streams.distance.length - 1];\n end = [0, streams.distance.length - 1];\n } else {\n // If the activity's hidden area (start or end) is larger than one mile due to an existing privacy zone,\n // domain should be that length. Otherwise, the domain should end where the activity > 1600m.\n const startOneMileIdx = streams.distance.findIndex((ele) => ele > 1600);\n const endOneMileIdx = streams.distance\n .slice()\n .reverse()\n .findIndex((ele) => activityDistance - ele > 1600);\n const startHiddenIdx = streams.privacy.findIndex((ele) => ele === 0);\n const endHiddenIdx = streams.privacy\n .slice()\n .reverse()\n .findIndex((ele) => ele === 0);\n start =\n startHiddenIdx > startOneMileIdx\n ? [0, startHiddenIdx]\n : [0, startOneMileIdx];\n end =\n endHiddenIdx > endOneMileIdx ? [0, endHiddenIdx] : [0, endOneMileIdx];\n }\n return { start, end };\n }, [streams]);\n\n // Initial slider indices that are selected\n useEffect(() => {\n if (!streams.privacy.length) return;\n if (streams.privacy.findIndex((ele) => ele === 0) !== -1) {\n setStartValue(streams.privacy.findIndex((ele) => ele === 0));\n setEndValue(\n streams.privacy\n .slice()\n .reverse()\n .findIndex((ele) => ele === 0)\n );\n setMapHidden(false);\n } else {\n setStartValue(sliderDomains.start[0]);\n setEndValue(sliderDomains.end[0]);\n setMapHidden(true);\n }\n }, [streams, sliderDomains]);\n\n const getEndDistanceIdx = (sliderEndValue) =>\n streams.distance.length - 1 - sliderEndValue;\n\n const updateStreamStart = (value) => {\n setStartValue(value);\n const overlap = value - getEndDistanceIdx(endValue);\n if (overlap >= 0) {\n const newEndValue = endValue - overlap;\n setEndValue(newEndValue);\n }\n };\n\n const updateStreamEnd = (value) => {\n setEndValue(value);\n const overlap = startValue - getEndDistanceIdx(value);\n if (overlap >= 0) {\n const newStartValue = startValue - overlap;\n setStartValue(newStartValue);\n }\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n let subStreams;\n const streamStart = [0, startValue];\n const streamEnd = [\n getEndDistanceIdx(endValue),\n streams.distance.length - 1\n ];\n\n trackEvent('click', 'save', {\n activity_id: activity.id,\n ...(!mapHidden && {\n start_point: streams.distance[startValue],\n end_point:\n streams.distance[streams.distance.length - 1] -\n streams.distance[getEndDistanceIdx(endValue)]\n }),\n ...(mapHidden && { map_visibility: 'only_you' })\n });\n\n // Currently, the way this is set up means that users can't hide a single start/end point on Web.\n // The smallest possible section to hide at the start or end is two points, sending back [0, 1] or\n // [endIdx-1, endIdx] as the subStream.\n if (streamStart[1] === streamEnd[0] || mapHidden) {\n subStreams = [[streamStart[0], streamEnd[1]]];\n } else if (\n streamStart[1] === 0 &&\n streamEnd[0] === streams.distance.length - 1\n ) {\n subStreams = [];\n } else if (streamStart[1] === 0) {\n subStreams = [streamEnd];\n } else if (streamEnd[0] === streams.distance.length - 1) {\n subStreams = [streamStart];\n } else {\n subStreams = [streamStart, streamEnd];\n }\n\n createNetworkingClient()\n .put(paths.streamPrivacyPath, {\n sub_streams: subStreams,\n length: streams.distance.length\n })\n .then(() => {\n window.location.href = paths.activityPath;\n })\n .catch(() => setError(true));\n };\n\n return (\n
\n
\n
{I18n.t(`${i18nPrefix}header`)}
\n
{activity.name}
\n
\n {I18n.t(`${i18nPrefix}use_slider`)}\n
\n
\n {I18n.t(`${i18nPrefix}hidden_gray`)}\n
\n
\n \n {I18n.t(`${i18nPrefix}save`)}\n \n {\n trackEvent('click', 'cancel', { activity_id: activity.id });\n window.location.href = paths.activityPath;\n }}\n >\n {I18n.t(`${i18nPrefix}cancel`)}\n \n \n {error ? (\n
{I18n.t(`${i18nPrefix}error`)}
\n ) : null}\n \n trackEvent('click', 'learn_more', {\n activity_id: activity.id,\n article_id: 115000173384\n })\n }\n >\n {I18n.t(`${i18nPrefix}learn_more`)}\n \n
\n \n trackEvent('click', 'privacy_settings', {\n activity_id: activity.id\n })\n }\n >\n {I18n.t(`${i18nPrefix}update_settings`)}\n \n
\n {startValue === null || endValue === null ? (\n
\n \n
\n ) : (\n
\n \n \n
\n
\n {I18n.t(`${i18nPrefix}hide_entire_map`)}\n
\n {\n trackEvent('click', 'hide_entire_map', {\n activity_id: activity.id,\n map_visibility: !mapHidden ? 'only_you' : 'everyone'\n });\n setMapHidden(!mapHidden);\n }}\n />\n
\n \n
\n )}\n
\n );\n}\n\nEditMapVisibilityApp.propTypes = {\n activity: PropTypes.shape({\n id: PropTypes.number,\n name: PropTypes.string\n }).isRequired,\n paths: PropTypes.shape({\n activityPath: PropTypes.string,\n privacySettingsPath: PropTypes.string,\n streamsPath: PropTypes.string,\n streamPrivacyPath: PropTypes.string\n }).isRequired\n};\n\nexport default EditMapVisibilityApp;\n","import { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport mapboxgl from 'mapbox-gl';\n\nimport { withMap, latLngToLngLat, inBounds } from '@strava/ui/Map';\n\nconst getBoundsFromLatLng = (latLng) => {\n const lngLat = latLngToLngLat(latLng);\n const bounds = lngLat.reduce((b, coord) => {\n return b.extend(coord);\n }, new mapboxgl.LngLatBounds());\n\n return [bounds.getSouthWest(), bounds.getNorthEast()];\n};\n\nfunction FitBounds({ map, latlng, start, end, updateOnLatlngChange }) {\n useEffect(() => {\n map.fitBounds(\n getBoundsFromLatLng(latlng),\n { padding: 48 },\n { source: 'fitBounds' }\n );\n }, []);\n\n useEffect(() => {\n if (!inBounds({ lng: start[1], lat: start[0] }, map.getBounds())) {\n map.flyTo({ center: latLngToLngLat(start), speed: 2 });\n }\n }, [start]);\n\n useEffect(() => {\n if (!inBounds({ lng: end[1], lat: end[0] }, map.getBounds())) {\n map.flyTo({ center: latLngToLngLat(end), speed: 2 });\n }\n }, [end]);\n\n useEffect(() => {\n if (updateOnLatlngChange) {\n map.fitBounds(\n getBoundsFromLatLng(latlng),\n { padding: 48 },\n { source: 'fitBounds' }\n );\n }\n }, [latlng]);\n\n return null;\n}\n\nFitBounds.defaultProps = {\n updateOnLatlngChange: false\n};\n\nFitBounds.propTypes = {\n updateOnLatlngChange: PropTypes.bool,\n latlng: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,\n map: PropTypes.shape().isRequired,\n start: PropTypes.arrayOf(PropTypes.number).isRequired,\n end: PropTypes.arrayOf(PropTypes.number).isRequired\n};\n\nexport default withMap(FitBounds);\n","// extracted by mini-css-extract-plugin\nexport default {\"nav\":\"map--nav--ppnIf\",\"btn\":\"map--btn--kjUNg\"};","/* eslint-disable no-underscore-dangle */\nimport React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { withMap, mapStyles } from '@strava/ui/Map';\nimport Button from '@strava/ui/Button';\nimport I18n from 'utils/I18n';\n\nimport styles from './StyleNav.scss';\n\nclass MenuControl {\n constructor({ node }) {\n this._node = node;\n }\n\n onAdd(map) {\n this._map = map;\n this._container = document.createElement('div');\n this._container.className = 'mapboxgl-ctrl mapboxgl-ctrl-group';\n this._container.appendChild(this._node);\n\n return this._container;\n }\n\n onRemove() {\n this._container.parentNode.removeChild(this._container);\n delete this._map;\n }\n}\n\nconst StyleNav = ({ map }) => {\n const menuNode = useRef();\n const [mapStyle, setMapStyle] = useState(mapStyles.standard);\n\n useEffect(() => {\n const ctrlPolygon = new MenuControl({ node: menuNode.current });\n map.addControl(ctrlPolygon, 'top-right');\n }, []);\n\n function handleClick(style) {\n setMapStyle(style);\n map.setStyle(style);\n }\n\n return (\n
\n handleClick(mapStyles.standard)}\n disabled={mapStyle === mapStyles.standard}\n >\n {I18n.t('strava.maps.custom_control.standard')}\n \n handleClick(mapStyles.satellite)}\n disabled={mapStyle === mapStyles.satellite}\n >\n {I18n.t('strava.maps.custom_control.satellite')}\n \n
\n );\n};\n\nStyleNav.propTypes = {\n map: PropTypes.shape().isRequired\n};\n\nexport default withMap(StyleNav);\n","import { logMessage } from './sentry';\n\nexport function trackV2({ category, page, action, element, properties = {} }) {\n try {\n window.Strava.ExternalAnalytics.trackV2({\n category,\n page,\n action,\n element,\n properties\n });\n } catch (e) {\n logMessage(\n `Could not execute Strava.ExternalAnalytics.trackV2 event with the category:action ${category}:${action}`\n );\n }\n}\n\nexport default {\n trackV2\n};\n","import axios from 'axios';\n\nfunction baseUrl() {\n const port = window.location.port === '' ? '' : `:${window.location.port}`;\n\n return `${window.location.protocol}//${window.location.hostname}${port}`;\n}\n\nexport function csrfToken() {\n return document\n .querySelector('meta[name=\"csrf-token\"]')\n .getAttribute('content');\n}\n\nexport default function createNetworkingClient(options = {}) {\n return axios.create({\n baseUrl: baseUrl(),\n /**\n * The Axios timeout was set to 5s, causing requests taking longer than 5s to error out, and therefore causing Sentry errors.\n * Several factors can cause a slow request, such as slow network speeds or server.\n * Bumping the timeout to 30s should help account for these slow requests but also ensure that\n * we are not waiting for request resources for an indefinite time.\n * */\n timeout: 30000, // 30 seconds\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-TOKEN': csrfToken()\n },\n ...options\n });\n}\n"],"names":["domain","min","max","handle","getHandleProps","role","type","value","className","styles","style","left","percent","id","ActionsVisibleDisabledNormalXsmall","source","target","disabled","width","StartAndEndSlider","activityId","sliderValue","distanceStream","onUpdate","i18nPrefix","isStart","isMetric","I18n","trackEvent","action","element","properties","trackV2","category","page","getDistanceStreamIdx","sliderIdx","length","getDistanceHidden","lastIdx","metersHidden","Math","round","convert","toFixed","useState","distanceHidden","setDistanceHidden","maxLabel","useMemo","distance","label","count","selectionLabel","selected","useEffect","Button","variant","onClick","activity_id","ActionsArrowLeftNormalXsmall","ActionsArrowRightNormalXsmall","mode","step","newVal","onSlideEnd","values","right","tracks","getTrackProps","map","key","getRailProps","handles","defaultProps","MapAnalytics","useMap","on","e","activityLatLng","hideEntireMap","startIdx","endIdx","Map","latLng","options","minZoom","maxZoom","StyleNav","FitBounds","latlng","start","end","slice","Polyline","lineColor","Colors","Marker","src","primaryStartMarker","alt","primaryEndMarker","outlineWidth","activity","paths","error","setError","startValue","setStartValue","endValue","setEndValue","mapHidden","setMapHidden","privacy","streams","setStreams","createNetworkingClient","get","streamsPath","params","stream_types","response","data","loadStreams","sliderDomains","activityDistance","startOneMileIdx","findIndex","ele","endOneMileIdx","reverse","startHiddenIdx","endHiddenIdx","getEndDistanceIdx","sliderEndValue","s","name","onSubmit","subStreams","preventDefault","streamStart","streamEnd","start_point","end_point","map_visibility","put","streamPrivacyPath","sub_streams","then","window","location","href","activityPath","catch","article_id","privacySettingsPath","Spinner","size","overlap","newEndValue","newStartValue","Switch","checked","getBoundsFromLatLng","lngLat","latLngToLngLat","bounds","reduce","b","coord","extend","mapboxgl","getSouthWest","getNorthEast","updateOnLatlngChange","fitBounds","padding","inBounds","lng","lat","getBounds","flyTo","center","speed","propTypes","PropTypes","isRequired","withMap","MenuControl","node","this","_node","onAdd","_map","_container","document","createElement","appendChild","onRemove","parentNode","removeChild","menuNode","useRef","mapStyles","mapStyle","setMapStyle","handleClick","setStyle","ctrlPolygon","current","addControl","ref","Strava","ExternalAnalytics","logMessage","baseUrl","port","protocol","hostname","csrfToken","querySelector","getAttribute","axios","timeout","headers"],"sourceRoot":""}