{"version":3,"file":"static/chunks/2800-ed89523b2b46c6f1.js","mappings":"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","sources":["webpack://_N_E/./src/components/CopyToClipboard/styles.ts","webpack://_N_E/./src/components/CopyToClipboard/index.tsx","webpack://_N_E/./src/components/Share/styles.ts","webpack://_N_E/./src/components/Share/index.tsx","webpack://_N_E/./src/hooks/useSwrGet.ts","webpack://_N_E/./src/utils/formatUtils.ts","webpack://_N_E/./src/utils/shareUtils.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { Button, type ThemeType } from \"@cruk/cruk-react-components\";\n\nexport const TextInput = styled.input<{ theme: ThemeType }>`\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n background-image: none;\n border: ${({ theme }) =>\n `solid ${theme.utilities.inputBorderWidth} ${theme.colors.textInputBorder}`};\n color: ${({ theme }) => theme.colors.textDark};\n display: block;\n font-size: ${({ theme }) => theme.fontSizes.m};\n font-weight: ${({ theme }) => theme.typography.fontWeightBase};\n padding: 6px 8px;\n width: 100%;\n`;\n\nexport const CopyMessage = styled.div<{ theme: ThemeType }>`\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n width: 100%;\n`;\nexport const CopyButton = styled(Button)<{ theme: ThemeType }>`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border: none;\n border-style: solid;\n border-color: ${({ theme }) => theme.colors.textInputBorder};\n border-width: ${({ theme }) =>\n `${theme.utilities.inputBorderWidth} ${theme.utilities.inputBorderWidth} ${theme.utilities.inputBorderWidth} 0`};\n`;\n\nexport const ButtonText = styled.span<{ theme: ThemeType }>`\n margin-left: ${({ theme }) => theme.spacing.xxs};\n`;\n","import React, { useState, useRef, type KeyboardEvent } from \"react\";\nimport { IconFa, Text } from \"@cruk/cruk-react-components\";\nimport { faCopy } from \"@fortawesome/free-regular-svg-icons\";\n\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\n\nimport { TextInput, CopyMessage, CopyButton, ButtonText } from \"./styles\";\nimport { Row } from \"../styles\";\n\ntype Props = {\n shareCopy: string;\n onClick?: () => void;\n};\n\nexport const CopyToClipBoard = ({ shareCopy, onClick }: Props) => {\n const [copyMessage, setCopyMessage] = useState(null);\n const ref = useRef(null);\n\n const copyToClipboard = () => {\n if (!isBrowser) return;\n if (ref.current) {\n ref.current.select();\n ref.current.setSelectionRange(0, 99999);\n }\n const copySuccess = document.execCommand(\"copy\");\n if (copySuccess) {\n setCopyMessage(`Copied to clipboard`);\n } else {\n setCopyMessage(\"Select text to copy\");\n }\n setTimeout(() => {\n setCopyMessage(null);\n }, 2000);\n if (onClick) {\n onClick();\n }\n };\n\n return (\n \n {copyMessage?.length ? (\n \n {copyMessage}\n \n ) : null}\n \n {\n copyToClipboard();\n }}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === \"Enter\") copyToClipboard();\n }}\n aria-label=\"copy url\"\n role=\"button\"\n tabIndex={0}\n data-cta-type=\"share-copy-clipboard\"\n >\n \n \n Copy\n \n \n \n );\n};\n\nexport default CopyToClipBoard;\n","import { type ThemeType } from \"@cruk/cruk-react-components\";\nimport styled from \"styled-components\";\n\nexport const ShareIcons = styled.div<{ theme: ThemeType }>`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n min-width: ${({ theme }) =>\n `min(calc( 100vw - ${theme.spacing.xs} ), 240px)`};\n justify-content: center;\n gap: ${({ theme }) => theme.spacing.xs};\n padding-bottom: ${({ theme }) => theme.spacing.xs};\n`;\n\nexport const SocialLink = styled.a<{\n $backgroundColor: string;\n theme: ThemeType;\n}>`\n display: block;\n padding: ${({ theme }) => theme.spacing.xxs};\n\n border-radius: ${({ theme }) => theme.button.borderRadius};\n background-color: ${({ $backgroundColor }) => $backgroundColor};\n`;\n","import React, {\n useState,\n type HTMLAttributes,\n type MouseEvent,\n type ReactElement,\n} from \"react\";\nimport { IconFa, Box, crukTheme, PopOver } from \"@cruk/cruk-react-components\";\nimport { faEnvelope, faComment } from \"@fortawesome/free-solid-svg-icons\";\nimport { useSWRConfig } from \"swr\";\nimport {\n faFacebookF,\n faFacebookMessenger,\n faWhatsapp,\n faLinkedinIn,\n faXTwitter,\n} from \"@fortawesome/free-brands-svg-icons\";\n\nimport { useTracking } from \"@fwa/src/hooks/useTracking\";\nimport { fetcher } from \"@fwa/src/services/apiClient\";\nimport { getFwsUrlForPage } from \"@fwa/src/utils/pageUtils\";\nimport {\n isMobile,\n isChrome,\n hasShareApi,\n isBrowser,\n} from \"@fwa/src/utils/browserUtils\";\nimport {\n getShareContentFromEntity,\n getShareURLsFromEntity,\n} from \"@fwa/src/utils/shareUtils\";\nimport {\n fwsUrlPage,\n fwsUrlPageShareCount,\n} from \"@fwa/src/services/pageService\";\nimport { useLayoutEffectBrowser } from \"@fwa/src/hooks/useLayoutEffectBrowser\";\n\nimport { CopyToClipBoard } from \"@fwa/src/components/CopyToClipboard\";\n\nimport { SocialLink, ShareIcons } from \"@fwa/src/components/Share/styles\";\nimport { Column } from \"@fwa/src/components/styles\";\n\nimport {\n type FeedItemType,\n type PageType,\n type ShareContentType,\n type ShareURLsObjectType,\n} from \"@fwa/src/types\";\nimport { useOptimizelyContext } from \"@fwa/src/contexts/OptimizelyContext\";\n\ntype PopOverPositionType =\n | \"top\"\n | \"topLeft\"\n | \"left\"\n | \"right\"\n | \"bottom\"\n | \"bottomLeft\";\n\ntype ShareProps = {\n page: PageType;\n feedItem: FeedItemType | null;\n isOwner: boolean;\n popoverPosition?: PopOverPositionType;\n ctaLocation: string;\n children: ReactElement>;\n full?: boolean;\n};\n\ntype FwsShareRes = { sharesCount: number };\n\nexport const Share = ({\n children,\n isOwner,\n page,\n feedItem,\n popoverPosition = \"bottomLeft\",\n ctaLocation = \"\",\n full = false,\n}: ShareProps) => {\n const { trackEventOptimizely } = useOptimizelyContext();\n const entityType = feedItem?.entityType || page?.entityType || \"\";\n const { trackError, trackEventGtm } = useTracking();\n const [showMobile, setShowMobile] = useState(false);\n const [showShareApi, setShowShareApi] = useState(false);\n const [nativeShareIsOk, setNativeShareIsOk] = useState(true);\n const [shareUrlsObject, setShareUrlsObject] = useState({\n facebook: ``,\n twitter: ``,\n linkedIn: ``,\n whatsapp: ``,\n sms: ``,\n email: ``,\n fbmessenger: ``,\n copy: ``,\n });\n\n const { mutate: globalMutate } = useSWRConfig();\n const [shareContentObject, setShareContentObject] =\n useState({\n title: ``,\n description: ``,\n image: ``,\n emailUri: ``,\n entityUrl: ``,\n });\n\n const bumpPageShareCount = async () => {\n // This only works for FRP at the minute.\n if (page.entityType !== \"FundraisingPage\") return;\n // if (!feedItem?.page) return;\n const pageId = feedItem?.page.uniqueId || page.uniqueId;\n if (!isOwner) {\n // logged out user bumps generic share count\n const fwsShareCountUrl = fwsUrlPageShareCount(\n feedItem?.page.entityType || page.entityType,\n pageId,\n );\n const fwsShareCount = await fetcher(fwsShareCountUrl).catch((error) => {\n trackError(error as Error, {\n function: \"fwsSharesCount\",\n });\n });\n if (!fwsShareCount) {\n trackError(new Error(\"no res from fwsShareCountUrl\"), {\n function: \"fwsSharesCount\",\n });\n return;\n }\n const fwsShareCountObject = fwsShareCount as FwsShareRes;\n const newPageData = {\n ...(feedItem?.page || page),\n ...fwsShareCountObject,\n };\n const pageToMutate = feedItem?.page || page;\n const pageKey = getFwsUrlForPage(pageToMutate);\n globalMutate(pageKey, newPageData, false).catch(() => {\n trackError(new Error(\"Could not update sharesCount locally\"), {\n function: \"mutatePage in bumpShareCount\",\n });\n });\n } else {\n // logged in user bumps owner share count\n const slug = getFwsUrlForPage(feedItem?.page || page);\n const url = fwsUrlPage({ pageId });\n const ownerShareCount =\n (feedItem?.page.ownerShareCount || page.ownerShareCount || 0) + 1;\n const updatedPageData = await fetcher(url, {\n method: \"PATCH\",\n body: JSON.stringify({ ownerShareCount }),\n })\n .then((pageData) => pageData as PageType)\n .catch((error) => {\n trackError(error as Error, {\n function: \"bumpOwnerSharesCount\",\n });\n });\n\n if (!updatedPageData) {\n trackError(\n new Error(\"no updated page returned from bumpOwnerSharesCount\"),\n {\n function: \"fwsSharesCount\",\n },\n );\n return;\n }\n globalMutate(slug, updatedPageData, false).catch(() => {\n trackError(new Error(\"Could not update ownerSharesCount locally\"), {\n function: \"mutatePage in bumpOwnerSharesCount\",\n });\n });\n }\n };\n\n // tracking for cta click event happens before a confirmed share event\n const sendCtaTrackingEvent = () => {\n trackEventGtm({\n event: \"share_cta\",\n cta: ctaLocation,\n entityType,\n isOwner,\n });\n if (ctaLocation === \"feedItem_shareprompt_modal\") {\n trackEventOptimizely({\n eventKey: \"of_share_new_post\",\n });\n }\n trackEventOptimizely({\n eventKey: \"of_share\",\n });\n };\n\n // tracking for actual share\n const socialShareClick = (\n e: MouseEvent,\n key: string,\n url: string,\n ) => {\n e.preventDefault();\n\n // do tracking\n\n // The mobile chrome browser does not allow js to open apps so\n // we are removing the event handler in this case.\n if (isChrome && isMobile) {\n // A hail mary in case prevent default on a link wont work with certain mobile user agents\n bumpPageShareCount().catch((err) => {\n trackError(err as Error, {\n function: \"bumpShareCount\",\n });\n });\n trackEventGtm({\n event: \"share\",\n action: key,\n entityType,\n isOwner,\n });\n return;\n }\n bumpPageShareCount().catch((err) => {\n trackError(err as Error, {\n function: \"bumpShareCount\",\n });\n });\n trackEventGtm({\n event: \"share\",\n action: key,\n entityType,\n isOwner,\n });\n\n // execute social share\n window.open(\n url,\n `${key}${Math.random()}}`,\n \"toolbar=0,status=0,width=548,height=400\",\n );\n };\n\n const copyForShareClick = () => {\n bumpPageShareCount().catch((err) => {\n trackError(err as Error, {\n function: \"bumpShareCount\",\n });\n });\n trackEventGtm({\n event: \"share\",\n action: \"copy url\",\n entityType,\n isOwner,\n });\n };\n\n const nativeShare = () => {\n if (!isBrowser) return;\n // track share\n sendCtaTrackingEvent();\n bumpPageShareCount().catch((err) => {\n trackError(err as Error, {\n function: \"bumpPageShareCount\",\n });\n });\n // execute native share\n const navigatorShareObject = {\n title: shareContentObject.title,\n text: shareContentObject.description,\n url: shareContentObject.entityUrl,\n };\n window.navigator.share(navigatorShareObject).catch((err: Error) => {\n trackError(err, { function: \"nativeShare\" });\n setNativeShareIsOk(false);\n });\n };\n\n // this figures out what to share from url in browser, so we need window to exist\n useLayoutEffectBrowser(() => {\n const newShareUrlsObject = getShareURLsFromEntity(feedItem || page);\n const newShareUrlsIOSFriendly = {\n ...newShareUrlsObject,\n sms: newShareUrlsObject.sms.replace(\"?\", \"?&\"),\n };\n const newShareDataObject = getShareContentFromEntity(feedItem || page);\n setShareContentObject(newShareDataObject);\n setShareUrlsObject(newShareUrlsIOSFriendly);\n\n if (showMobile !== isMobile) {\n setShowMobile(isMobile);\n }\n if (showShareApi !== hasShareApi) {\n setShowShareApi(hasShareApi);\n }\n }, []);\n\n const content = () => (\n \n \n \n ) =>\n socialShareClick(e, \"facebook\", shareUrlsObject.facebook)\n }\n data-cta-type=\"share-facebook\"\n $backgroundColor=\"#4267b2\"\n >\n \n \n\n ) => {\n socialShareClick(e, \"twitter\", shareUrlsObject.twitter);\n }}\n data-cta-type=\"share-twitter\"\n $backgroundColor=\"#000000\"\n >\n \n \n\n {showMobile ? (\n ) =>\n socialShareClick(e, \"whatsapp\", shareUrlsObject.whatsapp)\n }\n data-cta-type=\"share-whatsapp\"\n $backgroundColor=\"#25D366\"\n >\n \n \n ) : null}\n\n {showMobile ? (\n ) =>\n socialShareClick(e, \"fbmessenger\", shareUrlsObject.fbmessenger)\n }\n data-cta-type=\"share-fbmessenger\"\n $backgroundColor=\"#0078FF\"\n >\n \n \n ) : null}\n\n {showMobile ? (\n ) =>\n socialShareClick(e, \"sms\", shareUrlsObject.sms)\n }\n data-cta-type=\"share-sms\"\n $backgroundColor=\"#53d769\"\n >\n \n \n ) : null}\n\n ) =>\n socialShareClick(e, \"linkedIn\", shareUrlsObject.linkedIn)\n }\n data-cta-type=\"share-linkedIn\"\n $backgroundColor=\"#0077b5\"\n >\n \n \n\n ) =>\n socialShareClick(e, \"email\", shareUrlsObject.email)\n }\n data-cta-type=\"share-email\"\n $backgroundColor={crukTheme.colors.primary}\n >\n \n \n \n \n \n \n );\n\n return (\n
\n {nativeShareIsOk && hasShareApi && isMobile ? (\n <>\n {React.cloneElement(children, {\n onClick: nativeShare,\n })}\n \n ) : (\n {\n if (isOpen) {\n sendCtaTrackingEvent();\n }\n }}\n >\n {children}\n \n )}\n
\n );\n};\n\nexport default Share;\n","import useSWR, {\n type Key,\n type KeyedMutator,\n type SWRConfiguration,\n type SWRResponse,\n} from \"swr\";\n\nimport { fetcher } from \"@fwa/src/services/apiClient\";\nimport { trackDataDogError } from \"@fwa/src/services/dataDog\";\nimport { type FwsResponseData } from \"@fwa/src/types\";\n\nexport type UseSwrGetResponse = Omit<\n SWRResponse,\n \"data\" | \"error\"\n> & {\n totalItems: number;\n data: ResponseDataType | null;\n error: Error | null;\n mutate: KeyedMutator;\n};\n\nexport const useSwrGet = (\n key: Key,\n config?: SWRConfiguration,\n): UseSwrGetResponse => {\n const { data, error, mutate, isValidating, isLoading } = useSWR(\n typeof key === \"string\" && key?.length ? key : null, // only fetch data if we have a url\n fetcher,\n config,\n );\n\n const fwaResponseData = data as FwsResponseData;\n const typedData = data as ResponseDataType;\n const typedError = error as Error;\n\n // This only appears on FWS responses tha return lists\n const totalItems: number = fwaResponseData?.metadata?.count\n ? fwaResponseData.metadata.count\n : 0;\n\n if (error) {\n trackDataDogError(typedError, {\n component: \"useSwrGet\",\n key,\n message: typedError.message,\n });\n }\n\n return {\n data: typedData || null,\n error: typedError || null,\n mutate: mutate as KeyedMutator,\n isLoading,\n isValidating,\n totalItems,\n };\n};\n\nexport default useSwrGet;\n","export const numberWithCommas = (n?: number | string): string => {\n if (typeof n === \"undefined\") {\n return \"\";\n }\n const parts = n.toString().split(\".\");\n\n return `${parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}${\n parts[1] ? `.${parts[1]}` : \"\"\n }`;\n};\n\nexport const prefixSingleWithZero = (value: string) =>\n `${value.length === 1 ? \"0\" : \"\"}${value}`;\n\nexport const camelCaseToCapitalisedCase = (text: string): string => {\n const result = text.replace(/([A-Z])/g, \" $1\").trim();\n return result.charAt(0).toUpperCase() + result.slice(1);\n};\n\nexport const camelCaseToSentenceCase = (text: string): string => {\n const result = text\n .replace(/([A-Z])/g, \" $1\")\n .trim()\n .toLocaleLowerCase();\n return result.charAt(0).toUpperCase() + result.slice(1);\n};\n\nexport const camelToSnakeCase = (text: string) =>\n text.replace(/[A-Z]/g, (letter: string, index: number) =>\n index === 0 ? letter.toLowerCase() : `_${letter.toLowerCase()}`,\n );\n\nexport const calculatePercentRounded = (\n value: number,\n target: number,\n): number => {\n const percent = (value / target) * 100;\n if (percent === Number.POSITIVE_INFINITY || Number.isNaN(percent)) {\n return 0;\n }\n return Math.floor(percent < 1 ? Math.ceil(percent) : Math.floor(percent));\n};\n\nexport const formatMoney = (value: number): string => {\n const parsed = Number.parseFloat(\n (Math.round(value * 100) / 100).toString(),\n ).toFixed(2);\n if (Number.isNaN(parseFloat(parsed)) || Number.isNaN(value)) {\n return \"0\";\n }\n return parsed;\n};\n\nexport const formatMoneyWithCommas = (value: number): string => {\n const parsed = Number.parseFloat(\n (Math.round(value * 100) / 100).toString(),\n ).toFixed(2);\n if (Number.isNaN(parseFloat(parsed)) || Number.isNaN(value)) {\n return \"0\";\n }\n return numberWithCommas(parsed);\n};\n","import { getBrandForPage } from \"@fwa/src/utils/pageUtils\";\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\nimport { buildQuery, getPathFromUrl } from \"@fwa/src/utils/urlUtils\";\nimport { FWA_BASE_URL, FWS_BASE_URL } from \"@fwa/src/services/apiClient\";\nimport { imageAbsoluteUrlFromImageType } from \"@fwa/src/services/imageService\";\n\nimport {\n type PageType,\n type FeedItemType,\n type FundraisingPageType,\n type TeamPageType,\n type SuperTeamPageType,\n type PartnerPageType,\n type FeedItemPostType,\n type FeedItemDonationRealType,\n type FeedItemDonationFakeType,\n type FeedItemDonationFacebookType,\n type FeedItemMilestoneType,\n type FeedItemActivityFitbitType,\n type FeedItemActivityStravaType,\n type BrandNameType,\n type ShareURLsObjectType,\n type ShareContentType,\n type FeedItemEntityTypesType,\n type PageEntityType,\n type ImageType,\n type InnerImageType,\n} from \"@fwa/src/types\";\n\nexport const facebookMD5 = \"26cae7718c32180a7a0f8e19d6d40a59\";\nexport const twitterMD5 = \"b73c2d22763d1ce2143a3755c1d0ad3a\";\nexport const linkedinMD5 = \"f1576406b382b7d1c8c2607f7c563d4f\";\n\nconst isPage = (shareEntity: PageType | FeedItemType | null): boolean =>\n !shareEntity?.entityType\n ? false\n : [\"FundraisingPage\", \"Team\", \"SuperTeam\", \"PartnerPage\"].includes(\n shareEntity?.entityType || \"\",\n );\n\nconst getFacebookHeaderImageOrHeaderImageAbsolutePath = (\n image?: ImageType,\n): string | undefined => {\n if (!image) return undefined;\n const facebookImage = image.childImages?.find((childImage: InnerImageType) =>\n childImage?.usage?.includes(\"headerImage/facebook\"),\n );\n const foundImage = facebookImage || image;\n\n return imageAbsoluteUrlFromImageType(foundImage);\n};\n\nexport const getShareContentFromEntity = (\n shareEntity: PageType | FeedItemType,\n): ShareContentType => {\n const entityType: FeedItemEntityTypesType | PageEntityType =\n shareEntity?.entityType || null;\n\n // We might sharing a fundraising page or a team page but\n // we also might be sharing a feed item on team page,\n // the feed item url needs to know the original fundraising page url\n // so we cant just use the current url where the share button lives\n const entityUrl = !shareEntity\n ? \"\"\n : isPage(shareEntity) && \"url\" in shareEntity\n ? `${isBrowser ? window.origin : FWA_BASE_URL}${getPathFromUrl(\n shareEntity.url,\n )}`\n : \"page\" in shareEntity && !!shareEntity.page // feeditem.page\n ? `${isBrowser ? window.origin : FWA_BASE_URL}${getPathFromUrl(\n shareEntity.page.url,\n )}?feed=${shareEntity.uniqueId}`\n : \"\";\n\n const brandName: BrandNameType = isPage(shareEntity)\n ? getBrandForPage(shareEntity as PageType)\n : shareEntity && \"page\" in shareEntity\n ? getBrandForPage(shareEntity.page as PageType)\n : \"cruk\";\n\n const fundraisingPage = shareEntity as FundraisingPageType;\n const team = shareEntity as TeamPageType;\n const superTeam = shareEntity as SuperTeamPageType;\n const partnerPage = shareEntity as PartnerPageType;\n const donationReal = shareEntity as FeedItemDonationRealType;\n const donationFake = shareEntity as FeedItemDonationFakeType;\n const donationFacebook = shareEntity as FeedItemDonationFacebookType;\n const post = shareEntity as FeedItemPostType;\n const milestone = shareEntity as FeedItemMilestoneType;\n const activityStrava = shareEntity as FeedItemActivityStravaType;\n const activityFitbit = shareEntity as FeedItemActivityFitbitType;\n\n switch (entityType) {\n case \"FundraisingPage\":\n return {\n title: fundraisingPage?.title,\n description:\n fundraisingPage?.story ||\n fundraisingPage?.fundraisingPageType?.story ||\n \"\",\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n fundraisingPage?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n fundraisingPage?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: `${fundraisingPage?.fundraiser.forename}${\n fundraisingPage?.fundraiser.surname\n ? ` ${fundraisingPage?.fundraiser.surname}`\n : \"\"\n }'s Giving Page`,\n body: `Hi, \\r\\n \\r\\n Why not sponsor me by donating to ${\n brandName === \"su2c\" ? \"Stand Up To Cancer\" : \"Cancer Research UK\"\n } on the page ${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"Team\":\n return {\n title: team?.title,\n description:\n team?.story || team?.teamLeaderPage?.fundraisingPageType?.story || \"\",\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(team.headerImage) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n team?.teamLeaderPage?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: `${team?.title} fundraising team`,\n body: `Hi, \\r\\n \\r\\n Why not sponsor us by donating to ${\n brandName === \"su2c\" ? \"Stand Up To Cancer\" : \"Cancer Research UK\"\n } on the page ${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"SuperTeam\":\n return {\n title: superTeam?.title,\n description:\n superTeam.story || superTeam?.fundraisingPageType?.story || \"\",\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n superTeam?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n superTeam?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: `${superTeam.title} fundraising team`,\n body: `Hi, \\r\\n \\r\\n Why not sponsor us by donating to ${\n brandName === \"su2c\" ? \"Stand Up To Cancer\" : \"Cancer Research UK\"\n } on the page ${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"PartnerPage\":\n return {\n title: partnerPage.title,\n description: partnerPage.story || \"\",\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n partnerPage?.headerImage,\n ) || \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: `${partnerPage.title} fundraising team`,\n body: `Hi, \\r\\n \\r\\n Why not sponsor us by donating to ${\n brandName === \"su2c\" ? \"Stand Up To Cancer\" : \"Cancer Research UK\"\n } on the page ${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"DonationReal\":\n return {\n title: `Donation${\n donationReal?.amount ? ` of £${donationReal?.amount}` : \"\"\n }${\n donationReal?.page?.title ? ` for ${donationReal?.page?.title}` : \"\"\n }${\n donationReal?.donationName ? ` from ${donationReal.donationName}` : \"\"\n }`,\n description: donationReal?.donationMessage || \"\",\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n donationReal.page?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n donationReal.page?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: donationReal?.page?.title || \"\",\n body: `${\n donationReal.donationMessage\n ? `${donationReal.donationMessage} \\r\\n\\r\\n `\n : \"\"\n }${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"DonationFake\":\n return {\n title: `Donation${\n donationFake.amount ? ` of £${donationFake.amount}` : \"\"\n }${donationFake.page.title ? ` for ${donationFake.page.title}` : \"\"}${\n donationFake?.donationName ? ` from ${donationFake.donationName}` : \"\"\n }`,\n description: donationFake.donationMessage || \"\",\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n donationFake.page?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n donationFake.page?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: donationFake.page.title,\n body: `${\n donationFake.donationMessage\n ? `${donationFake.donationMessage} \\r\\n\\r\\n `\n : \"\"\n }${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"DonationFacebook\":\n return {\n title: `Donation${\n donationFacebook.amount ? ` of £${donationFacebook.amount}` : \"\"\n }${\n donationFacebook.page.title\n ? ` for ${donationFacebook.page.title}`\n : \"\"\n }${\n donationFacebook?.donationName\n ? ` from ${donationFacebook.donationName}`\n : \"\"\n }`,\n description: donationFacebook.donationMessage || \"\",\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n donationFacebook.page?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n donationFacebook.page?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: donationFacebook.page.title,\n body: `${\n donationFacebook.donationMessage\n ? `${donationFacebook.donationMessage} \\r\\n\\r\\n `\n : \"\"\n }${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"Post\":\n return {\n title: `${\n post.galleryImages[0]?.image?.title\n ? post.galleryImages[0].image.title\n : `A post ${post.page.title ? `from ${post.page.title}` : \"\"}`\n }`,\n description: post.body || \"\",\n image:\n imageAbsoluteUrlFromImageType(post.galleryImages[0]?.image) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n post.page?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n post.page?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: post.page.title,\n body: `${\n post.body ? `${post.body ? `${post.body} \\r\\n\\r\\n ` : \"\"}` : \"\"\n }${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"Milestone\":\n return {\n title:\n milestone.body || milestone.page.title\n ? `Milestone ${milestone.page.title}`\n : \"\",\n description: \"\",\n image:\n milestone.shareBackgroundImage?.url ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n milestone.page?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n milestone.page?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: milestone.page.title,\n body: `${\n milestone.body\n ? `${milestone.body ? `${milestone.body} \\r\\n\\r\\n ` : \"\"}`\n : \"\"\n }${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"ActivityStrava\":\n return {\n title: activityStrava.name || \"Strava Activity\",\n description: `${\n activityStrava.distance ? `${activityStrava.distance} km` : \"\"\n }${\n activityStrava.stravaActivityType\n ? ` ${activityStrava.stravaActivityType}`\n : \"\"\n }`,\n image:\n activityStrava.map?.imageUrl ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n activityStrava.page?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n activityStrava.page?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: activityStrava.page.title,\n body: `${\n activityStrava.name\n ? `${\n activityStrava.name ? `${activityStrava.name} \\r\\n\\r\\n ` : \"\"\n }`\n : \"\"\n }${entityUrl}`,\n })}`,\n entityUrl,\n };\n case \"ActivityFitbit\":\n return {\n title: `Fitbit Activity`,\n description: `${\n activityFitbit.page?.owner?.displayName ||\n activityFitbit.page.fundraiser.forename\n } walked ${activityFitbit.steps} steps to help beat cancer`,\n image:\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n activityFitbit.page?.headerImage,\n ) ||\n getFacebookHeaderImageOrHeaderImageAbsolutePath(\n activityFitbit.page?.fundraisingPageType?.headerImage,\n ) ||\n \"\",\n emailUri: `mailto:${buildQuery({\n to: \"\",\n subject: activityFitbit.page.title,\n body: `I've walked ${activityFitbit.steps} steps to help beat cancer. \\r\\n\\r\\n ${entityUrl}?`,\n })}`,\n entityUrl,\n };\n default:\n return {\n title: \"\",\n description: \"\",\n image: \"\",\n emailUri: \"\",\n entityUrl,\n };\n }\n};\n\nexport const getShareURLsFromEntity = (\n shareEntity: PageType | FeedItemType,\n): ShareURLsObjectType => {\n const route = isPage(shareEntity) ? \"pages\" : \"feeditems\";\n const { uniqueId } = shareEntity;\n const { description, emailUri, entityUrl } =\n getShareContentFromEntity(shareEntity);\n\n const whatsappUri = `whatsapp://send${buildQuery({\n text: `${description} ${entityUrl}`,\n })}`;\n const facebookMessengerUri = `fb-messenger://share${buildQuery({\n link: entityUrl,\n })}`;\n const smsUri = `sms:${buildQuery({\n body: entityUrl,\n })}`;\n\n return {\n facebook: `${FWS_BASE_URL}/${route}/${uniqueId}/s/${facebookMD5}`,\n twitter: `${FWS_BASE_URL}/${route}/${uniqueId}/s/${twitterMD5}`,\n linkedIn: `${FWS_BASE_URL}/${route}/${uniqueId}/s/${linkedinMD5}`,\n whatsapp: `${whatsappUri}`,\n sms: `${smsUri}`,\n email: `${emailUri}`,\n fbmessenger: `${facebookMessengerUri}`,\n copy: `${entityUrl}`,\n };\n};\n"],"names":["TextInput","styled","input","theme","colors","backgroundLight","utilities","inputBorderWidth","textInputBorder","textDark","fontSizes","m","typography","fontWeightBase","div","Button","span","spacing","xxs","CopyToClipBoard","shareCopy","onClick","copyMessage","setCopyMessage","useState","ref","useRef","copyToClipboard","isBrowser","current","select","setSelectionRange","document","execCommand","setTimeout","Row","style","position","data-component","length","CopyMessage","Text","textAlign","type","aria-label","readOnly","value","CopyButton","appearance","onKeyDown","e","key","role","tabIndex","data-cta-type","IconFa","faIcon","faCopy","size","ButtonText","ShareIcons","xs","a","button","borderRadius","$backgroundColor","Share","children","isOwner","page","feedItem","popoverPosition","ctaLocation","full","trackEventOptimizely","useOptimizelyContext","entityType","trackError","trackEventGtm","useTracking","showMobile","setShowMobile","showShareApi","setShowShareApi","nativeShareIsOk","setNativeShareIsOk","shareUrlsObject","setShareUrlsObject","facebook","twitter","linkedIn","whatsapp","sms","email","fbmessenger","copy","mutate","globalMutate","useSWRConfig","shareContentObject","setShareContentObject","title","description","image","emailUri","entityUrl","bumpPageShareCount","pageId","uniqueId","slug","getFwsUrlForPage","url","fwsUrlPage","ownerShareCount","updatedPageData","fetcher","method","body","JSON","stringify","then","pageData","catch","error","function","Error","fwsShareCountUrl","fwsUrlPageShareCount","fwsShareCount","newPageData","pageToMutate","fwsShareCountObject","pageKey","sendCtaTrackingEvent","event","cta","eventKey","socialShareClick","preventDefault","isChrome","isMobile","err","action","window","open","Math","random","useLayoutEffectBrowser","newShareUrlsObject","getShareURLsFromEntity","newShareUrlsIOSFriendly","replace","getShareContentFromEntity","newShareDataObject","hasShareApi","React","nativeShare","navigatorShareObject","text","navigator","share","PopOver","modalContent","content","Column","Box","marginBottom","padding","SocialLink","href","faFacebookF","color","faXTwitter","faWhatsapp","faFacebookMessenger","faComment","faLinkedinIn","crukTheme","primary","faEnvelope","copyForShareClick","modalLabel","onPopOverIsOpenChange","isOpen","useSwrGet","config","data","isValidating","isLoading","useSWR","totalItems","metadata","count","fwaResponseData","trackDataDogError","typedError","component","message","typedData","numberWithCommas","n","parts","toString","split","result","trim","charAt","toUpperCase","slice","camelToSnakeCase","letter","index","toLowerCase","target","percent","Number","POSITIVE_INFINITY","isNaN","ceil","floor","parsed","parseFloat","round","toFixed","isPage","shareEntity","includes","getFacebookHeaderImageOrHeaderImageAbsolutePath","undefined","foundImage","childImages","find","childImage","usage","imageAbsoluteUrlFromImageType","origin","FWA_BASE_URL","getPathFromUrl","brandName","getBrandForPage","fundraisingPage","story","fundraisingPageType","headerImage","buildQuery","to","subject","fundraiser","forename","surname","team","teamLeaderPage","superTeam","partnerPage","donationReal","amount","donationName","donationMessage","donationFake","post","galleryImages","milestone","shareBackgroundImage","activityStrava","name","distance","stravaActivityType","map","imageUrl","activityFitbit","owner","displayName","steps","route","whatsappUri","facebookMessengerUri","link","smsUri","FWS_BASE_URL","facebookMD5","twitterMD5","linkedinMD5"],"sourceRoot":"","ignoreList":[]}