{"version":3,"file":"js/72166-4b5d58438cecb6de0c03.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/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 registerUrl, // `/register?activity_id=`, param is required for the post-onboarding redirect to the activity page\n track\n}) => {\n const providerState = useMemo(\n () => ({\n openSignUpModal,\n track,\n registerUrl\n }),\n [openSignUpModal, registerUrl, 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 registerUrl: PropTypes.string.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 from '@strava/ui/Button';\nimport { typography } from '@strava/ui-tokens/js';\nimport { useActivityPublicContext } from '../../ActivityPublicContext';\n\nconst CTA = ({ children, href, onClick, modalVariant, ...props }) => {\n const { openSignUpModal } = useActivityPublicContext();\n\n return (\n {\n onClick();\n openSignUpModal(modalVariant);\n }}\n style={{ fontWeight: typography.fontWeightDemi }}\n {...props}\n >\n {children}\n \n );\n};\n\nCTA.propTypes = {\n children: PropTypes.node.isRequired,\n href: PropTypes.string, // only used by control & variant-b\n modalVariant: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nCTA.defaultProps = {\n href: undefined\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 firstName,\n avatarUrl,\n location,\n followersCount,\n followAthleteUrl,\n totalDistance,\n totalActivities,\n unitSystem\n}) => {\n const { openSignUpModal, track } = 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 openSignUpModal('generic');\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_v2', {\n firstName\n })}\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 firstName: 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 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 }) => {\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 data-cy=\"sign-up-to-comment-cta\"\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 data-cy=\"sign-up-to-comment-cta\"\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};\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 { openSignUpModal, track } = 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 return (\n {\n trackClick(trackElement);\n openSignUpModal(modalVariant);\n }}\n data-cy={`${key}-icon`}\n >\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 = () => {\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.sign_up')}\n \n
\n );\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.sign_up')}\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 }).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 { openSignUpModal, track } = 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 PhotoButton = ({ children, ...props }) => {\n return (\n {\n trackPhotoClick();\n openSignUpModal('generic');\n }}\n data-cy=\"photo\"\n {...props}\n >\n {children}\n \n );\n };\n\n PhotoButton.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 { openSignUpModal, track } = useActivityPublicContext();\n const trackClick = () => {\n track({ element: `sign_up_${type}`, action: 'click' });\n };\n\n return (\n // deliberately not using @strava/ui/Button here for styling reasons\n {\n trackClick();\n openSignUpModal('generic');\n }}\n data-cy=\"upsell-cta\"\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';\n\nconst SignUpModalWrapper = ({ url, useMfe, ...props }) => {\n if (useMfe)\n return (\n \n );\n\n return ;\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';\nimport {\n SignUpModalContextProvider,\n HIDE_TIME_DELAY_MODAL,\n useSignUpModalContext\n} from '@strava/authentication-ui';\nimport { trackV2 } from 'utils/analytics';\nimport FooterUpsell from '../../../components/FooterUpsell';\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';\nimport StravaPackageContextProviders from '../../StravaPackageContextProviders';\nimport styles from './styles.scss';\n\nconst okToOpenModal = () =>\n sessionStorage.getItem(HIDE_TIME_DELAY_MODAL) !== 'true';\n\nconst ActivityPublic = ({\n activity,\n photos,\n analyticsData,\n signUpModalProps\n}) => {\n const { streams } = activity;\n\n const track = useCallback(\n (fields) => {\n trackV2({ ...analyticsData, ...fields });\n },\n [analyticsData]\n );\n\n const { openSignUpModal } = useSignUpModalContext();\n\n useEffect(() => {\n let timeout;\n const queryParams = window.location.search;\n const params = new URLSearchParams(queryParams);\n\n // only set timeout if modal has not already been seen\n if (okToOpenModal()) {\n // debugging & QA-tests only - ?fast=true in url will speed up signup modal delay timer\n const signupModalDelay = params.get('fast') === 'true' ? 2000 : 6000;\n\n timeout = setTimeout(() => {\n // check again that modal is ok to open after time delay\n if (okToOpenModal()) {\n openSignUpModal('generic_time_delayed');\n }\n }, signupModalDelay);\n }\n\n // debugging only - ?reset=true in url will remove HIDE_TIME_DELAY_MODAL from session storage\n if (params.get('reset') === 'true') {\n sessionStorage?.removeItem(HIDE_TIME_DELAY_MODAL);\n }\n\n return () => clearTimeout(timeout);\n }, [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 \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 registerUrl: PropTypes.string.isRequired,\n deeplink: PropTypes.string.isRequired\n }).isRequired,\n photos: PropTypes.arrayOf(PropTypes.object),\n analyticsData: PropTypes.shape({\n category: PropTypes.string.isRequired,\n page: PropTypes.string.isRequired\n }).isRequired,\n signUpModalProps: PropTypes.shape({\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 );\n};\n\nActivityPublicWrapper.propTypes = {\n useMockData: PropTypes.bool.isRequired,\n signUpModalProps: PropTypes.shape({\n useMfe: PropTypes.bool.isRequired\n }).isRequired,\n activity: PropTypes.shape({\n athlete: PropTypes.shape({\n firstName: PropTypes.string.isRequired,\n avatarUrl: PropTypes.string.isRequired,\n athletePageUrl: PropTypes.string.isRequired\n }).isRequired,\n activityPageUrl: PropTypes.string.isRequired\n }).isRequired\n};\n\nexport default ActivityPublicWrapper;\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\",\"desktop\":\"FooterUpsell--desktop--b9P+H\",\"mobile\":\"FooterUpsell--mobile--VFmx8\"};","import React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport I18n from 'utils/I18n';\nimport { trackV2 } from 'utils/analytics';\nimport { logError } from 'utils/sentry';\nimport { devLog } from 'utils/devUtils';\nimport styles from './styles.scss';\n\nconst GOOGLE_APP_LINK =\n 'https://play.google.com/store/apps/details?id=com.strava';\nconst APPLE_APP_LINK =\n 'https://itunes.apple.com/app/strava-cycling/id426826309?mt=8';\n\nconst trackClickEvent = (props) => {\n trackV2({\n ...props,\n action: 'click'\n });\n};\n\nconst FooterUpsell = ({ authUrls, analyticsData, deeplink }) => {\n const hardcodedAppLink = (() => {\n const { userAgent } = window.navigator;\n if (userAgent.includes('Android')) {\n return GOOGLE_APP_LINK;\n }\n if (userAgent.includes('iPad') || userAgent.includes('iPhone')) {\n return APPLE_APP_LINK;\n }\n return '/mobile';\n })();\n\n const [appLink, setAppLink] = useState(hardcodedAppLink);\n\n const linkData = {\n channel: 'web',\n feature: `${analyticsData.page} footer upsell`,\n data: {\n strava_deeplink_url: deeplink,\n $desktop_url: `${window.location.origin}/register`,\n logged_out_deeplink: true // https://github.com/strava/android/pull/20088\n }\n };\n\n const createAppLink = useCallback(() => {\n // uses `window.branch.link` directly instead of `window.Strava.BranchIO` bc\n // the `window.Strava.BranchIO` object is not enabled after cookies have been\n // accepted until the page has been reloaded\n window.branch.link(linkData, (err, link) => {\n if (err) {\n logError(err, {\n method: 'legacy FooterUpsell window.branch.link',\n linkData: JSON.stringify(linkData),\n ...(linkData?.tags && {\n 'linkData.tags': JSON.stringify(linkData?.tags)\n })\n });\n }\n devLog(\n `FooterUpsell applink - ${link} ::: linkData: ${JSON.stringify(\n linkData\n )}`\n );\n setAppLink(link);\n });\n }, [linkData]);\n\n useEffect(() => {\n if (window.branch) {\n createAppLink();\n } else {\n window.addEventListener('BranchInitialized', createAppLink);\n }\n\n return () => {\n window.removeEventListener('BranchInitialized', createAppLink);\n };\n }, [createAppLink]);\n\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: appLink }\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\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 deeplink: PropTypes.string.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","registerUrl","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","CTA","onClick","href","modalVariant","props","Button","_extends","variant","style","fontWeight","typography","defaultProps","cov_2kbws7pima","cov_18ww4xtpv2","AthleteBanner","name","firstName","avatarUrl","location","followersCount","followAthleteUrl","totalDistance","totalActivities","trackClick","useCallback","element","action","Avatar","type","t","Stats","listClassName","Stat","label","labelClassName","year","Date","getFullYear","cov_2oknamlykt","CommentBody","body","formattedTokens","map","token","key","path","text","Comment","_ref2","avatar","athleteLink","hideAthleteLink","_ref3","comments","totalCommentCount","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","PhotoButton","unique_id","caption","cov_28q43wswvy","TYPES","RIDE","RUN","UpsellCTA","_type","values","includes","upsellWrapper","ActionsLockClosedNormalXsmall","cov_udxm5wi0f","url","useMfe","Microfrontend","scope","component","appContext","SignUpModal","cov_110gn3joce","cov_12q450dmbc","okToOpenModal","sessionStorage","getItem","HIDE_TIME_DELAY_MODAL","ActivityPublic","analyticsData","signUpModalProps","fields","trackV2","useSignUpModalContext","useEffect","timeout","queryParams","window","search","params","URLSearchParams","signupModalDelay","get","setTimeout","removeItem","clearTimeout","role","present","MapElevationChartWrapper","Comments","MoreActivities","relatedActivities","FooterUpsell","authUrls","deeplink","SignUpModalWrapper","category","useMockData","activityPublicProps","setActivityPublicProps","isDev","then","module","default","catch","err","console","error","StravaPackageContextProviders","SignUpModalContextProvider","nameForFollowAthleteVariant","athleteAvatar","defaultRedirectUrl","activityPageUrl","redirectUrls","athletePageUrl","cov_6canz4yhp","GOOGLE_APP_LINK","APPLE_APP_LINK","trackClickEvent","hardcodedAppLink","userAgent","navigator","appLink","setAppLink","linkData","channel","feature","page","data","strava_deeplink_url","$desktop_url","origin","logged_out_deeplink","createAppLink","branch","link","method","JSON","stringify","tags","devLog","addEventListener","removeEventListener","properties","cta_copy","facebook","google","email","signup_copy","cov_27awt08n9p","Strava","ExternalAnalytics","e","logMessage"],"sourceRoot":""}