diff --git a/src/molecules/Share/ShareLink.jsx b/src/molecules/Share/ShareLink.jsx index c1046e4..6c53486 100644 --- a/src/molecules/Share/ShareLink.jsx +++ b/src/molecules/Share/ShareLink.jsx @@ -24,7 +24,12 @@ export const ShareLink = (props) => { fetch(postDownloadUrl) .then(response => response.blob()) .then(blob => { - const filename = isVideo ? 'Dispatch_Video.mp4' : 'Dispatch_Image.jpg'; + const sanitizedTitle = theme.shareTitleText + ? theme.shareTitleText.replace(/[^a-zA-Z0-9 ]/g, '').replace(/\s+/g, '_') + : null; + const filename = isVideo + ? `${sanitizedTitle || 'Dispatch_Video'}.mp4` + : `${sanitizedTitle || 'Dispatch_Image'}.jpg`; setMediaFile(new File([blob], filename, { type: blob.type })); setLoaded(true); }) @@ -35,7 +40,8 @@ export const ShareLink = (props) => { const sendGAandDownload = async (url) => { const eventName = eventHref('share_download'); - const title = isVideo ? 'Dispatch Video' : 'Dispatch Image'; + const defaultTitle = isVideo ? 'Dispatch Video' : 'Dispatch Image'; + const title = theme.shareTitleText || defaultTitle; const text = 'Share your keepsake and tag us!'; ga.pageView(eventName); diff --git a/src/organisms/Theme/Form.jsx b/src/organisms/Theme/Form.jsx index d3ab32d..8263cab 100644 --- a/src/organisms/Theme/Form.jsx +++ b/src/organisms/Theme/Form.jsx @@ -111,6 +111,7 @@ export const ThemeForm = (props) => { const [ downloadIconImage, setDownloadIconImage ] = useState(theme.downloadIconImage); const [ swapShareContent, setSwapShareContent ] = useState(theme.swapShareContent); const [ shareButtonText, setShareButtonText ] = useState(theme.shareButtonText); + const [ shareTitleText, setShareTitleText ] = useState(theme.shareTitleText); const [ approvalQueueApproveMsg, setApprovalQueueApproveMsg ] = useState(theme.approvalQueueApproveMsg); const [ approvalQueueDenyMsg, setApprovalQueueDenyMsg ] = useState(theme.approvalQueueDenyMsg); @@ -164,6 +165,7 @@ export const ThemeForm = (props) => { downloadIconImage, swapShareContent, shareButtonText, + shareTitleText, enableDownloadLink: true, approvalQueueApproveMsg, approvalQueueDenyMsg, @@ -549,6 +551,12 @@ export const ThemeForm = (props) => { setShareButtonText(e.target.value)} defaultValue={shareButtonText} placeholder='Click to Share' /> + + + + setShareTitleText(e.target.value)} defaultValue={shareTitleText} placeholder='Dispatch Video / Dispatch Image' /> + +