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' />
+
+