{"version":3,"file":"js/72166-d7f462e3e6e803d29455.js","mappings":"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","sources":["webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/ActivityPublicContext.js","webpack://StravaModern/./app/javascript/apps/activities/MapElevationChartWrapper/styles.scss?a6e5","webpack://StravaModern/./app/javascript/apps/activities/MapElevationChartWrapper/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/CTA/CTA.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/CTA/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/AthleteBanner/styles.scss?345b","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/AthleteBanner/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Comments/styles.scss?144d","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Comments/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Summary/styles.scss?e04d","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Summary/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/MoreActivities/styles.scss?c4d3","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/MoreActivities/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Photos/styles.scss?5c47","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Photos/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Upsell/styles.scss?8b05","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/Upsell/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/SignUpModalWrapper/SignUpModalWrapper.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/components/SignUpModalWrapper/index.js","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/styles.scss?1ca5","webpack://StravaModern/./app/javascript/apps/activities/ActivityPublic/index.js","webpack://StravaModern/./app/javascript/utils/branch.js","webpack://StravaModern/./app/javascript/components/FooterUpsell/styles.scss?69d3","webpack://StravaModern/./app/javascript/components/FooterUpsell/index.js","webpack://StravaModern/./app/javascript/utils/analytics.js"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ActivityPublicContext = createContext(undefined);\nActivityPublicContext.displayName = 'ActivityPublicContext';\n\nexport const useActivityPublicContext = () => {\n const context = useContext(ActivityPublicContext);\n\n // Fail fast if hook is used outside the provider\n if (!context) {\n throw new Error(\n 'useActivityPublicContext must be used within the ActivityPublicContextProvider'\n );\n }\n\n return context;\n};\n\nexport const ActivityPublicContextProvider = ({\n children,\n openSignUpModal,\n showSignUpModal,\n track\n}) => {\n const providerState = useMemo(\n () => ({\n openSignUpModal,\n showSignUpModal,\n track\n }),\n [openSignUpModal, showSignUpModal, track]\n );\n\n return (\n \n {children}\n \n );\n};\n\nActivityPublicContextProvider.propTypes = {\n children: PropTypes.node.isRequired,\n openSignUpModal: PropTypes.func.isRequired,\n showSignUpModal: PropTypes.bool.isRequired,\n track: PropTypes.func.isRequired\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"map\":\"MapElevationChartWrapper--map--Ba8AH\",\"marker\":\"MapElevationChartWrapper--marker--U2gwr\"};","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\n// Components\nimport Map from '@strava/ui/Map';\nimport Polyline from '@strava/ui/Map/Polyline';\nimport Marker from '@strava/ui/Map/Marker';\nimport ElevationChart from '@strava/ui/ElevationChart';\nimport I18n from 'utils/I18n';\n\n// Static Assets\nimport startMarker from '@strava/ui/Map/images/map-marker-start.png';\nimport rabbitMarker from '@strava/ui/Map/images/map-marker-rabbit.png';\nimport endMarker from '@strava/ui/Map/images/map-marker-end.png';\n\n// Stylesheets\nimport styles from './styles.scss';\nimport 'mapbox-gl/dist/mapbox-gl.css';\n\n/*\nThe purpose of this wrapper is to provide both a Map and ElevationChart component\nand this wrapper component will pass around an index that the user is hovering\non so that we can display the current point on the map based on where they're\nhovering on the elevation chart.\n*/\n\nfunction MapElevationChartWrapper({ streams }) {\n const [rabbitIndex, setRabbitIndex] = useState(null);\n\n return (\n <>\n \n \n\n \n \"Route\n \n\n \n \"Route\n \n\n {rabbitIndex && (\n \n \n \n )}\n \n\n setRabbitIndex(index)}\n onMouseLeave={() => setRabbitIndex(null)}\n formatters={{\n ElevationFormatter(units) {\n return I18n.elevationFormatter(units);\n },\n DistanceFormatter(units) {\n return I18n.distanceFormatter(units);\n },\n PercentFormatter(units) {\n return I18n.percentFormatter(units);\n }\n }}\n />\n \n );\n}\n\nMapElevationChartWrapper.propTypes = {\n streams: PropTypes.shape({\n latlng: PropTypes.arrayOf(PropTypes.array).isRequired,\n altitude: PropTypes.arrayOf(PropTypes.number).isRequired,\n distance: PropTypes.arrayOf(PropTypes.number).isRequired,\n unitSystem: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default MapElevationChartWrapper;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button, { LinkButton } from '@strava/ui/Button';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\n\nconst CTA = ({ children, href, onClick, modalVariant, ...props }) => {\n const { openSignUpModal, showSignUpModal } = useActivityPublicContext();\n\n if (showSignUpModal) {\n return (\n {\n onClick();\n openSignUpModal(modalVariant);\n }}\n {...props}\n >\n {children}\n \n );\n }\n return (\n \n {children}\n \n );\n};\n\nCTA.propTypes = {\n children: PropTypes.node.isRequired,\n href: PropTypes.string.isRequired, // only used by control & variant-b\n modalVariant: PropTypes.string.isRequired, // TODO ADIEL replace with .oneOf( variant const exported from package )\n onClick: PropTypes.func.isRequired\n};\n\nexport default CTA;\n","export { default } from './CTA';\n","// extracted by mini-css-extract-plugin\nexport default {\"banner-wrapper\":\"AthleteBanner--banner-wrapper--KnAzG\",\"bannerWrapper\":\"AthleteBanner--banner-wrapper--KnAzG\",\"banner-container\":\"AthleteBanner--banner-container--SQeWp\",\"bannerContainer\":\"AthleteBanner--banner-container--SQeWp\",\"details-wrapper\":\"AthleteBanner--details-wrapper--2y+IQ\",\"detailsWrapper\":\"AthleteBanner--details-wrapper--2y+IQ\",\"follow-button-wrapper\":\"AthleteBanner--follow-button-wrapper--G5hBJ\",\"followButtonWrapper\":\"AthleteBanner--follow-button-wrapper--G5hBJ\",\"stats-wrapper\":\"AthleteBanner--stats-wrapper--zqZX+\",\"statsWrapper\":\"AthleteBanner--stats-wrapper--zqZX+\",\"avatar-wrapper\":\"AthleteBanner--avatar-wrapper--thpmF\",\"avatarWrapper\":\"AthleteBanner--avatar-wrapper--thpmF\",\"avatar\":\"AthleteBanner--avatar--skl8+\",\"name\":\"AthleteBanner--name--vBcz9\",\"location\":\"AthleteBanner--location--Kjp+m\",\"stat-label\":\"AthleteBanner--stat-label--PwMnN\",\"statLabel\":\"AthleteBanner--stat-label--PwMnN\",\"banner-stats\":\"AthleteBanner--banner-stats--s3Sa0\",\"bannerStats\":\"AthleteBanner--banner-stats--s3Sa0\"};","import React, { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport Avatar from '@strava/ui/Avatar';\nimport Stats from '@strava/ui/Stats';\nimport Stat from '@strava/ui/Stat';\nimport I18n from 'utils/I18n';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\nimport CTA from '../CTA';\n\nimport styles from './styles.scss';\n\nconst AthleteBanner = ({\n name,\n avatarUrl,\n location,\n followersCount,\n followAthleteUrl,\n totalDistance,\n distanceUnit,\n totalActivities\n // unitSystem,\n}) => {\n const {\n openSignUpModal,\n showSignUpModal,\n track\n } = useActivityPublicContext();\n\n const trackClick = useCallback(\n (element) => {\n track({\n element,\n action: 'click'\n });\n },\n [track]\n );\n\n return (\n
\n
\n
\n {\n trackClick('profile_picture');\n if (showSignUpModal) {\n openSignUpModal('generic');\n }\n }}\n />\n
\n
\n

{name}

\n {location}\n
\n
\n trackClick('follow_on_strava')}\n >\n {I18n.t('strava.activities.show_public.follow_on_strava')}\n \n
\n \n \n {totalDistance && (\n \n )}\n {totalActivities ? (\n \n ) : null}\n \n
\n
\n );\n};\n\nAthleteBanner.defaultProps = {\n totalDistance: null,\n totalActivities: null\n};\n\nAthleteBanner.propTypes = {\n name: PropTypes.string.isRequired,\n location: PropTypes.string.isRequired,\n avatarUrl: PropTypes.string.isRequired,\n followersCount: PropTypes.number.isRequired,\n followAthleteUrl: PropTypes.string.isRequired,\n // unitSystem: PropTypes.string.isRequired,\n distanceUnit: PropTypes.string.isRequired,\n totalDistance: PropTypes.string,\n totalActivities: PropTypes.number\n};\n\nexport default AthleteBanner;\n","// extracted by mini-css-extract-plugin\nexport default {\"comments-container\":\"Comments--comments-container--O5fNA\",\"commentsContainer\":\"Comments--comments-container--O5fNA\",\"comment\":\"Comments--comment--PMgPS\",\"avatar-wrapper\":\"Comments--avatar-wrapper--MHzlH\",\"avatarWrapper\":\"Comments--avatar-wrapper--MHzlH\",\"comment-wrapper\":\"Comments--comment-wrapper--FveeV\",\"commentWrapper\":\"Comments--comment-wrapper--FveeV\",\"avatar\":\"Comments--avatar--NQL-J\",\"comment-author\":\"Comments--comment-author--xUY1Z\",\"commentAuthor\":\"Comments--comment-author--xUY1Z\",\"comment-body\":\"Comments--comment-body--di1xp\",\"commentBody\":\"Comments--comment-body--di1xp\",\"comments-list\":\"Comments--comments-list--Rs59D\",\"commentsList\":\"Comments--comments-list--Rs59D\",\"empty\":\"Comments--empty--bCV+V\",\"sign-up-button\":\"Comments--sign-up-button--+0-jJ\",\"signUpButton\":\"Comments--sign-up-button--+0-jJ\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Avatar from '@strava/ui/Avatar';\nimport I18n from 'utils/I18n';\nimport CTA from '../CTA';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\n\nimport styles from './styles.scss';\n\nfunction CommentBody({ body }) {\n const { track } = useActivityPublicContext();\n if (typeof body === 'string') {\n return body;\n }\n\n // The order of these tokens will never change, so\n // it's ok to use `index` as a key.\n const formattedTokens = body.map((token, index) => {\n const key = index;\n if (token.type === 'mention_token') {\n return (\n {\n track({\n element: 'comment_mention',\n action: 'click'\n });\n }}\n >\n {token.text}\n \n );\n }\n\n return {token.text};\n });\n\n return <>{formattedTokens};\n}\n\nCommentBody.propTypes = {\n body: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired\n};\n\nconst Comment = ({\n body,\n displayName,\n avatar,\n athleteLink,\n hideAthleteLink\n}) => {\n const { track } = useActivityPublicContext();\n return (\n
\n
\n {\n track({\n element: 'comment_profile_picture',\n action: 'click'\n });\n }}\n />\n
\n\n
\n
\n {hideAthleteLink ? (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n {\n track({\n element: 'comment_profile',\n action: 'click'\n });\n }}\n >\n {displayName}\n
\n ) : (\n {\n track({\n element: 'comment_profile',\n action: 'click'\n });\n }}\n >\n {displayName}\n \n )}\n
\n
\n \n
\n
\n \n );\n};\n\nComment.propTypes = {\n body: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired,\n displayName: PropTypes.string.isRequired,\n avatar: PropTypes.string.isRequired,\n athleteLink: PropTypes.string.isRequired,\n hideAthleteLink: PropTypes.bool\n};\n\nComment.defaultProps = {\n hideAthleteLink: false\n};\n\nconst Comments = ({ comments, totalCommentCount, activityCommentUrl }) => {\n const { track } = useActivityPublicContext();\n\n return (\n
\n {totalCommentCount > 0 ? (\n <>\n

\n {I18n.t('strava.activities.show_public.comments_v2', {\n count: totalCommentCount\n })}\n

\n
    \n {comments.map((comment) => (\n
  1. \n \n
  2. \n ))}\n
\n \n track({ element: 'sign_up_to_comment', action: 'click' })\n }\n >\n {I18n.t('strava.activities.show_public.signup_to_comment')}\n \n \n ) : (\n
\n

{I18n.t('strava.activities.show_public.no_comments')}

\n \n track({ element: 'sign_up_to_comment_empty', action: 'click' })\n }\n >\n {I18n.t('strava.activities.show_public.signup_to_comment')}\n \n
\n )}\n
\n );\n};\n\nComments.propTypes = {\n comments: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n avatar: PropTypes.string,\n // The comment body could either be a string or array of objects.\n body: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.object)\n ]),\n displayName: PropTypes.string,\n hideAthleteLink: PropTypes.boolean,\n athleteLink: PropTypes.string\n })\n ).isRequired,\n totalCommentCount: PropTypes.number.isRequired,\n activityCommentUrl: PropTypes.string.isRequired\n};\n\nexport default Comments;\n","// extracted by mini-css-extract-plugin\nexport default {\"date-type\":\"Summary--date-type--4V2qi\",\"dateType\":\"Summary--date-type--4V2qi\",\"date\":\"Summary--date--JORm1\",\"summary-wrapper\":\"Summary--summary-wrapper--31f5b\",\"summaryWrapper\":\"Summary--summary-wrapper--31f5b\",\"type-text\":\"Summary--type-text--XqEr4\",\"typeText\":\"Summary--type-text--XqEr4\",\"header-text\":\"Summary--header-text--Cns7R\",\"headerText\":\"Summary--header-text--Cns7R\",\"name\":\"Summary--name--jJQph\",\"type-icon-wrapper\":\"Summary--type-icon-wrapper--Za2dc\",\"typeIconWrapper\":\"Summary--type-icon-wrapper--Za2dc\",\"type-icon\":\"Summary--type-icon--C0Mfk\",\"typeIcon\":\"Summary--type-icon--C0Mfk\",\"icon-list-wrapper\":\"Summary--icon-list-wrapper--rdLWm\",\"iconListWrapper\":\"Summary--icon-list-wrapper--rdLWm\",\"stats-wrapper\":\"Summary--stats-wrapper--USUvF\",\"statsWrapper\":\"Summary--stats-wrapper--USUvF\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Stats from '@strava/ui/Stats';\nimport Stat from '@strava/ui/Stat';\nimport { Markup } from 'interweave';\nimport {\n ActionsKudoNormalSmall,\n ActionsCommentNormalSmall,\n AchievementsTrophyNormalSmall\n} from '@strava/icons';\nimport { color as colorToken } from '@strava/ui-tokens/js';\nimport I18n from 'utils/I18n';\nimport { logError } from 'utils/sentry';\nimport ActivityIcon from 'components/ActivityIcon';\nimport Button from '@strava/ui/Button';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\n\nimport styles from './styles.scss';\n\nconst ICONS = {\n kudos: {\n Icon: ActionsKudoNormalSmall,\n trackElement: 'kudo',\n modalVariant: 'kudos_comment'\n },\n comments: {\n Icon: ActionsCommentNormalSmall,\n trackElement: 'comment',\n modalVariant: 'kudos_comment'\n },\n achievements: {\n Icon: AchievementsTrophyNormalSmall,\n trackElement: 'achievement_trophy',\n modalVariant: 'generic'\n }\n};\n\nconst Summary = ({\n name,\n date,\n type,\n detailedType,\n kudosCount,\n commentCount,\n achievementsCount,\n distance,\n elevation,\n time,\n calories\n}) => {\n const activityType = type.toLowerCase();\n const translatedActivityType = I18n.t(\n `strava.activities.types_v2.${activityType}`\n );\n\n const {\n openSignUpModal,\n showSignUpModal,\n track\n } = useActivityPublicContext();\n const iconFillColor = colorToken.colorExtendedNeutralN2;\n\n const trackClick = (element) => {\n track({\n element,\n action: 'click'\n });\n };\n\n const icon = (key, count) => {\n if (ICONS[key] === undefined) {\n logError(`invalid icon key '${key}'`);\n return null;\n }\n\n const { Icon, trackElement, modalVariant } = ICONS[key];\n const title = I18n.t(`strava.activities.show_public.${key}_icon`);\n\n if (showSignUpModal) {\n return (\n {\n trackClick(trackElement);\n openSignUpModal(modalVariant);\n }}\n >\n \n {count}\n \n );\n }\n\n return (\n <>\n trackClick(trackElement)}\n />\n {count}\n \n );\n };\n\n return (\n
\n
\n {translatedActivityType}\n \n
\n\n
\n

{name}

\n
\n \n
\n
\n\n
    \n
  • {icon('kudos', kudosCount)}
  • \n
  • {icon('comments', commentCount)}
  • \n
  • {icon('achievements', achievementsCount)}
  • \n
\n\n \n \n }\n label={I18n.t('strava.activities.show_public.time')}\n type=\"stat-xl\"\n />\n {elevation && (\n \n )}\n {calories && (\n \n )}\n \n
\n );\n};\n\nSummary.defaultProps = {\n elevation: null,\n calories: null\n};\n\nSummary.propTypes = {\n name: PropTypes.string.isRequired,\n date: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n detailedType: PropTypes.string.isRequired,\n kudosCount: PropTypes.number.isRequired,\n commentCount: PropTypes.number.isRequired,\n achievementsCount: PropTypes.number.isRequired,\n distance: PropTypes.string.isRequired,\n time: PropTypes.string.isRequired,\n elevation: PropTypes.string,\n calories: PropTypes.number\n};\n\nexport default Summary;\n","// extracted by mini-css-extract-plugin\nexport default {\"more-activities\":\"MoreActivities--more-activities--4Phq1\",\"moreActivities\":\"MoreActivities--more-activities--4Phq1\",\"header\":\"MoreActivities--header--kTMJT\",\"body\":\"MoreActivities--body--8lgBT\",\"title\":\"MoreActivities--title--ylihx\",\"header-cta\":\"MoreActivities--header-cta--khhDp\",\"headerCta\":\"MoreActivities--header-cta--khhDp\",\"activities-list\":\"MoreActivities--activities-list--ogzzP\",\"activitiesList\":\"MoreActivities--activities-list--ogzzP\",\"activity\":\"MoreActivities--activity--7XE2n\",\"activity-footer\":\"MoreActivities--activity-footer--V5Y4z\",\"activityFooter\":\"MoreActivities--activity-footer--V5Y4z\",\"activity-image\":\"MoreActivities--activity-image--dmpKh\",\"activityImage\":\"MoreActivities--activity-image--dmpKh\",\"activity-details\":\"MoreActivities--activity-details--M64YT\",\"activityDetails\":\"MoreActivities--activity-details--M64YT\",\"activity-header\":\"MoreActivities--activity-header--4fQNZ\",\"activityHeader\":\"MoreActivities--activity-header--4fQNZ\",\"activity-body\":\"MoreActivities--activity-body--4aqed\",\"activityBody\":\"MoreActivities--activity-body--4aqed\",\"activity-title\":\"MoreActivities--activity-title--Hg9dz\",\"activityTitle\":\"MoreActivities--activity-title--Hg9dz\",\"time\":\"MoreActivities--time--A4cEe\",\"activity-icon\":\"MoreActivities--activity-icon--iYRxu\",\"activityIcon\":\"MoreActivities--activity-icon--iYRxu\",\"upsell\":\"MoreActivities--upsell--MxBHf\",\"upsell-container\":\"MoreActivities--upsell-container--I+T+y\",\"upsellContainer\":\"MoreActivities--upsell-container--I+T+y\",\"upsell-cta\":\"MoreActivities--upsell-cta--T9mZJ\",\"upsellCta\":\"MoreActivities--upsell-cta--T9mZJ\",\"activity-icon-image\":\"MoreActivities--activity-icon-image--FABWC\",\"activityIconImage\":\"MoreActivities--activity-icon-image--FABWC\",\"media-body\":\"MoreActivities--media-body--nCnHV\",\"mediaBody\":\"MoreActivities--media-body--nCnHV\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport I18n from 'utils/I18n';\nimport MediaQuery, { breakpoints } from 'utils/media-query';\nimport ActivityIcon from 'components/ActivityIcon';\nimport CTA from '../CTA';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\n\nimport styles from './styles.scss';\n\nconst ActivityCard = ({ activity }) => {\n const activityType = activity.type.toLowerCase();\n const translatedActivityType = I18n.t(\n `strava.activities.types_v2.${activityType}`\n );\n\n const { track } = useActivityPublicContext();\n\n return (\n \n track({\n element: `view_this_${activityType}`,\n action: 'click'\n })\n }\n >\n
\n {activity.image.alt}\n
\n\n
\n
\n \n
\n\n
\n

{activity.name}

\n
\n
\n \n
\n
\n
\n\n
\n {I18n.t('strava.activities.show_public.view_this_activity', {\n activity_type: translatedActivityType\n })}\n
\n
\n \n );\n};\n\nActivityCard.propTypes = {\n activity: PropTypes.shape({\n name: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n detailed_type: PropTypes.string.isRequired,\n id: PropTypes.number.isRequired,\n image: PropTypes.shape().isRequired,\n start_date_local: PropTypes.string.isRequired\n }).isRequired\n};\n\nconst Upsell = ({ followAthleteUrl }) => {\n const { track } = useActivityPublicContext();\n return (\n
\n

{I18n.t('strava.activities.show_public.see_more')}

\n \n track({\n element: 'signup_to_see_more',\n action: 'click'\n })\n }\n >\n {I18n.t('strava.activities.show_public.signup_to_see_more')}\n \n
\n );\n};\n\nUpsell.propTypes = {\n followAthleteUrl: PropTypes.string.isRequired\n};\n\nconst MoreActivities = ({ athlete, activities }) => {\n const { track } = useActivityPublicContext();\n return (\n
\n
\n
\n
\n

\n {I18n.t(\n 'strava.activities.show_public.more_activities_from_athlete',\n { athlete_name: athlete.name }\n )}\n

\n \n track({ element: 'signup_to_see_more', action: 'click' })\n }\n >\n {I18n.t('strava.activities.show_public.signup_to_see_more')}\n \n
\n\n
\n
    \n {activities.map((activity) => (\n
  • \n \n
  • \n ))}\n\n \n
  • \n \n
  • \n
    \n
\n
\n
\n
\n
\n );\n};\n\nMoreActivities.propTypes = {\n athlete: PropTypes.shape({\n name: PropTypes.string.isRequired,\n followAthleteUrl: PropTypes.string.isRequired\n }).isRequired,\n activities: PropTypes.arrayOf(PropTypes.shape()).isRequired\n};\n\nexport default MoreActivities;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Photos--container--e8Tyv\",\"photos-list\":\"Photos--photos-list--mBsRn\",\"photosList\":\"Photos--photos-list--mBsRn\",\"photo-wrapper\":\"Photos--photo-wrapper--I73KX\",\"photoWrapper\":\"Photos--photo-wrapper--I73KX\",\"overflow\":\"Photos--overflow--k2aB7\",\"overflow-count\":\"Photos--overflow-count--d52Aj\",\"overflowCount\":\"Photos--overflow-count--d52Aj\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport I18n from 'utils/I18n';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\n\nimport styles from './styles.scss';\n\nexport function photoSrc(photo) {\n return photo.urls && photo.urls[Object.keys(photo.urls)[0]];\n}\n\nexport default function Photos({ photos }) {\n const {\n openSignUpModal,\n showSignUpModal,\n track\n } = useActivityPublicContext();\n\n if (photos.length === 0) {\n return null;\n }\n\n const trackPhotoClick = () => track({ element: 'photo', action: 'click' });\n\n const maxPhotos = 4;\n const displayPhotos = photos.slice(0, maxPhotos);\n const overflowCount = photos.length - maxPhotos + 1;\n\n const PhotoElement = ({ children, ...props }) => {\n const PhotoElementWrapper = showSignUpModal ? 'button' : 'div';\n\n return (\n {\n trackPhotoClick();\n if (showSignUpModal) {\n openSignUpModal('generic');\n }\n }}\n {...props}\n >\n {children}\n \n );\n };\n\n PhotoElement.propTypes = { children: PropTypes.node.isRequired };\n\n return (\n
\n

\n {I18n.t('strava.activities.show_public.photos_v2', {\n count: photos.length\n })}\n

\n
    \n {displayPhotos.map((photo) => (\n
  • \n \n {photo.caption}\n \n
  • \n ))}\n\n {overflowCount > 1 && (\n
  • \n \n +{overflowCount}\n \n
  • \n )}\n
\n
\n );\n}\n\nPhotos.propTypes = {\n photos: PropTypes.arrayOf(PropTypes.object).isRequired\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"ride\":\"Upsell--ride--W+SS4\",\"run\":\"Upsell--run--5SSaY\",\"upsell-container\":\"Upsell--upsell-container--ydJsC\",\"upsellContainer\":\"Upsell--upsell-container--ydJsC\",\"upsell-wrapper\":\"Upsell--upsell-wrapper--EotKi\",\"upsellWrapper\":\"Upsell--upsell-wrapper--EotKi\",\"content\":\"Upsell--content--ldWqH\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport I18n from 'utils/I18n';\nimport { Markup } from 'interweave';\nimport { ActionsLockClosedNormalXsmall } from '@strava/icons';\nimport { color as colorToken } from '@strava/ui-tokens/js';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\n\nimport styles from './styles.scss';\n\nconst TYPES = {\n RIDE: 'ride',\n RUN: 'run'\n};\n\nconst UpsellCTA = ({ children, type }) => {\n const {\n openSignUpModal,\n showSignUpModal,\n track\n } = useActivityPublicContext();\n const trackClick = () => {\n track({ element: `sign_up_${type}`, action: 'click' });\n };\n\n if (showSignUpModal) {\n return (\n // deliberately not using @strava/ui/Button here to more easily match\n // the control styling (see `.content` in styes.scss)\n {\n trackClick();\n openSignUpModal('generic');\n }}\n >\n {children}\n \n );\n }\n return (\n \n {children}\n \n );\n};\n\nUpsellCTA.propTypes = {\n children: PropTypes.node.isRequired,\n type: PropTypes.string.isRequired\n};\n\nconst Upsell = ({ type: _type }) => {\n const type = _type.toLowerCase();\n if (!Object.values(TYPES).includes(type)) {\n return null;\n }\n\n return (\n
\n

\n {I18n.t(\n `strava.activities.show_public.${\n type === TYPES.RIDE ? 'segments' : 'splits'\n }`\n )}\n

\n
\n
\n \n \n \n \n
\n
\n
\n );\n};\n\nUpsell.propTypes = {\n type: PropTypes.string.isRequired\n};\n\nexport default Upsell;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { SignUpModal } from '@strava/authentication-ui';\nimport Microfrontend from '../../../../Microfrontend';\nimport StravaPackageContextProviders from '../../../../StravaPackageContextProviders';\n\nconst SignUpModalWrapper = ({ url, useMfe, ...props }) => {\n if (useMfe)\n return (\n \n );\n\n return (\n \n \n \n );\n};\n\nSignUpModalWrapper.propTypes = {\n useMfe: PropTypes.bool.isRequired,\n url: PropTypes.string.isRequired,\n authorizationUrls: PropTypes.shape({\n google: PropTypes.string,\n facebook: PropTypes.string,\n email: PropTypes.string\n }).isRequired,\n appleState: PropTypes.string.isRequired\n};\n\nexport default SignUpModalWrapper;\n","export { default } from './SignUpModalWrapper';\n","// extracted by mini-css-extract-plugin\nexport default {\"row\":\"ActivityPublic--row--yhx5J\",\"activity-data\":\"ActivityPublic--activity-data--GqweJ\",\"activityData\":\"ActivityPublic--activity-data--GqweJ\",\"map-data\":\"ActivityPublic--map-data--uvG7U\",\"mapData\":\"ActivityPublic--map-data--uvG7U\"};","import React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport FooterUpsell from 'components/FooterUpsell';\nimport {\n SignUpModalContextProvider,\n useSignUpModalContext\n} from '@strava/authentication-ui';\nimport { trackV2 } from 'utils/analytics';\nimport { ActivityPublicContextProvider } from './ActivityPublicContext';\nimport MapElevationChartWrapper from '../MapElevationChartWrapper';\nimport AthleteBanner from './components/AthleteBanner';\nimport Comments from './components/Comments';\nimport Summary from './components/Summary';\nimport MoreActivities from './components/MoreActivities';\nimport Photos from './components/Photos';\nimport Upsell from './components/Upsell';\nimport SignUpModalWrapper from './components/SignUpModalWrapper';\nimport { isDev } from '../../../utils/devUtils';\n\nimport styles from './styles.scss';\n\nconst TIME_DELAY = 6000; // 6 second time delay for variant-b\nconst HIDE_TIME_DELAY_MODAL = 'hide-time-delay-modal';\n\nconst ActivityPublic = ({\n activity,\n photos,\n analyticsData,\n signUpModalProps\n}) => {\n const { streams } = activity;\n const { cohort } = signUpModalProps;\n\n const track = useCallback(\n (fields) => {\n trackV2({ ...analyticsData, ...fields });\n },\n [analyticsData]\n );\n\n const { openSignUpModal } = useSignUpModalContext();\n\n useEffect(() => {\n // figure out if the time delay modal has already been shown (and hidden) in this session\n const hideTimeDelayModal = sessionStorage.getItem(HIDE_TIME_DELAY_MODAL);\n if (cohort === 'variant-b' && !hideTimeDelayModal) {\n setTimeout(() => {\n openSignUpModal('generic_time_delayed');\n\n // don't show the modal again in this session\n sessionStorage.setItem(HIDE_TIME_DELAY_MODAL, true);\n }, TIME_DELAY);\n }\n }, [cohort, openSignUpModal]);\n\n return (\n \n
\n \n
\n
\n
\n {activity.map.present && streams && (\n \n )}\n
\n
\n \n \n \n \n
\n
\n
\n\n \n {/* FooterUpsell is shared with the legacy logged-out athlete page,\n so it can't take advantage of the ActivityPublic context */}\n \n\n {signUpModalProps.cohort !== 'control' && (\n \n )}\n
\n \n );\n};\n\nActivityPublic.defaultProps = {\n photos: []\n};\n\nActivityPublic.propTypes = {\n activity: PropTypes.shape({\n type: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n streams: PropTypes.object.isRequired,\n commentCount: PropTypes.number.isRequired,\n authUrls: PropTypes.object.isRequired,\n map: PropTypes.shape({\n present: PropTypes.any.isRequired,\n src: PropTypes.object.isRequired\n }),\n athlete: PropTypes.shape({}).isRequired,\n relatedActivities: PropTypes.array.isRequired,\n comments: PropTypes.array.isRequired\n }).isRequired,\n photos: PropTypes.arrayOf(PropTypes.object),\n analyticsData: PropTypes.shape().isRequired,\n signUpModalProps: PropTypes.shape({\n cohort: PropTypes.string,\n url: PropTypes.string,\n useMfe: PropTypes.bool\n }).isRequired\n};\n\nconst ActivityPublicWrapper = ({ useMockData, ...props }) => {\n const [activityPublicProps, setActivityPublicProps] = useState(props);\n\n // because of the limits of developing locally with activities, can use param `use_mock_data=true`\n // to see a nicely fleshed-out logged-out activity detail page\n useEffect(() => {\n if (useMockData && isDev()) {\n import('./mockData.json')\n .then((module) => {\n const { signUpModalProps } = props;\n setActivityPublicProps({ ...module.default, signUpModalProps });\n })\n .catch((err) => {\n // eslint-disable-next-line no-console\n console.error(err);\n });\n }\n // something about this is causing an infinite loop, so this ensures that we only import the mock data once\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n \n );\n};\n\nActivityPublicWrapper.propTypes = {\n useMockData: PropTypes.bool.isRequired,\n activity: PropTypes.shape({\n athlete: PropTypes.shape({\n firstName: PropTypes.string.isRequired\n }).isRequired\n }).isRequired\n};\n\nexport default ActivityPublicWrapper;\n","export function createLink(selector, options) {\n try {\n window.Strava.BranchIO.createLink(options).done((link) => {\n document.querySelector(selector).setAttribute('href', link);\n });\n } catch (err) {\n console.warn(err); // eslint-disable-line\n }\n}\n\nexport default {\n createLink\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"FooterUpsell--container--jVLTy\",\"btn\":\"FooterUpsell--btn--4SVm8\",\"btn-facebook\":\"FooterUpsell--btn-facebook--So5KY\",\"btnFacebook\":\"FooterUpsell--btn-facebook--So5KY\",\"btn-google\":\"FooterUpsell--btn-google--mc6Rn\",\"btnGoogle\":\"FooterUpsell--btn-google--mc6Rn\",\"btn-email\":\"FooterUpsell--btn-email--5hWfi\",\"btnEmail\":\"FooterUpsell--btn-email--5hWfi\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport I18n from 'utils/I18n';\nimport { trackV2 } from 'utils/analytics';\nimport Branch from 'utils/branch';\nimport MediaQuery, { matchMedia, breakpoints } from 'utils/media-query';\nimport styles from './styles.scss';\n\nconst trackClickEvent = (props) => {\n trackV2({\n ...props,\n action: 'click'\n });\n};\n\nclass FooterUpsell extends React.Component {\n componentDidMount() {\n const data = {\n channel: 'web',\n feature: 'athlete footer upsell'\n };\n\n if (matchMedia.screenSm()) {\n Branch.createLink('.footer-download-btn', data);\n }\n }\n\n render() {\n const { authUrls, analyticsData } = this.props;\n return (\n
\n

{I18n.t('strava.athletes.show_public.bottom_cta_header')}

\n\n \n \n trackClickEvent({\n ...analyticsData,\n element: 'get_app',\n properties: { cta_copy: 'get_the_app', url: '/mobile' }\n })\n }\n >\n {I18n.t('strava.athletes.show_public.get_the_app_cta')}\n \n \n\n \n \n trackClickEvent({ ...analyticsData, element: 'facebook_signup' })\n }\n >\n {I18n.t('strava.athletes.show_public.facebook_cta')}\n \n\n \n trackClickEvent({ ...analyticsData, element: 'google_signup' })\n }\n >\n {I18n.t('strava.athletes.show_public.google_cta')}\n \n\n \n trackClickEvent({\n ...analyticsData,\n element: 'start_signup',\n properties: { signup_copy: 'signup_using_email' }\n })\n }\n >\n {I18n.t('strava.athletes.show_public.email_cta')}\n \n \n
\n );\n }\n}\n\nFooterUpsell.propTypes = {\n authUrls: PropTypes.shape({\n facebook: PropTypes.string.isRequired,\n google: PropTypes.string.isRequired,\n email: PropTypes.string.isRequired\n }).isRequired,\n analyticsData: PropTypes.shape().isRequired\n};\n\nexport default FooterUpsell;\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"],"names":["cov_o5psgusl1","ActivityPublicContext","createContext","undefined","displayName","useActivityPublicContext","context","useContext","Error","ActivityPublicContextProvider","_ref","children","openSignUpModal","showSignUpModal","track","providerState","useMemo","React","Provider","value","cov_jah7gight","streams","useState","rabbitIndex","setRabbitIndex","Map","latLng","latlng","className","styles","Polyline","id","Marker","src","startMarker","alt","slice","endMarker","rabbitMarker","ElevationChart","height","units","unitSystem","elevation","altitude","distance","onUpdateMarker","index","s","onMouseLeave","formatters","ElevationFormatter","I18n","elevationFormatter","DistanceFormatter","distanceFormatter","PercentFormatter","percentFormatter","cov_17rfkiyd1e","href","onClick","modalVariant","props","Button","_extends","variant","LinkButton","cov_2kbws7pima","cov_18ww4xtpv2","AthleteBanner","name","avatarUrl","location","followersCount","followAthleteUrl","totalDistance","distanceUnit","totalActivities","trackClick","useCallback","element","action","Avatar","type","CTA","t","Stats","listClassName","Stat","label","labelClassName","charAt","toUpperCase","Date","getFullYear","year","defaultProps","cov_2oknamlykt","CommentBody","body","formattedTokens","map","token","key","path","text","Comment","_ref2","avatar","athleteLink","hideAthleteLink","_ref3","comments","totalCommentCount","activityCommentUrl","count","comment","cov_26u05mm8to","ICONS","kudos","Icon","ActionsKudoNormalSmall","trackElement","ActionsCommentNormalSmall","achievements","AchievementsTrophyNormalSmall","Summary","date","detailedType","kudosCount","commentCount","achievementsCount","time","calories","activityType","toLowerCase","translatedActivityType","iconFillColor","colorToken","icon","logError","title","fill","dateTime","ActivityIcon","size","Markup","noWrap","content","Math","ceil","cov_12pvt825gr","ActivityCard","activity","activityImage","image","activityDetails","activityHeader","start_date_local","activityBody","activityTitle","activityIconContainer","activityIcon","detailed_type","activityIconImage","activityFooter","activity_type","Upsell","upsellContainer","upsellCta","athlete","activities","moreActivities","header","athlete_name","headerCta","activitiesList","MediaQuery","maxWidth","breakpoints","screenSm","upsell","cov_154disf8m4","photoSrc","photo","urls","Object","keys","Photos","photos","length","maxPhotos","displayPhotos","overflowCount","PhotoElement","PhotoElementWrapper","unique_id","caption","cov_28q43wswvy","TYPES","RIDE","RUN","UpsellCTA","_type","values","includes","upsellWrapper","ActionsLockClosedNormalXsmall","cov_udxm5wi0f","url","useMfe","Microfrontend","scope","component","appContext","StravaPackageContextProviders","SignUpModal","cov_110gn3joce","cov_12q450dmbc","TIME_DELAY","HIDE_TIME_DELAY_MODAL","ActivityPublic","analyticsData","signUpModalProps","cohort","fields","trackV2","useSignUpModalContext","useEffect","hideTimeDelayModal","sessionStorage","getItem","setTimeout","setItem","role","present","MapElevationChartWrapper","Comments","authUrls","activityComment","MoreActivities","relatedActivities","FooterUpsell","SignUpModalWrapper","category","useMockData","activityPublicProps","setActivityPublicProps","isDev","then","module","default","catch","err","console","error","SignUpModalContextProvider","nameForFollowAthleteVariant","firstName","cov_2k2oegv2cw","createLink","selector","options","window","Strava","BranchIO","done","link","document","querySelector","setAttribute","warn","cov_6canz4yhp","trackClickEvent","componentDidMount","data","channel","feature","matchMedia","Branch","render","this","properties","cta_copy","minWidth","facebook","google","email","signup_copy","cov_27awt08n9p","page","ExternalAnalytics","e","logMessage"],"sourceRoot":""}