diff --git a/src/components/NavItems/Assistant/AssistantRuleBook.jsx b/src/components/NavItems/Assistant/AssistantRuleBook.jsx index feb49983..eea2a929 100644 --- a/src/components/NavItems/Assistant/AssistantRuleBook.jsx +++ b/src/components/NavItems/Assistant/AssistantRuleBook.jsx @@ -27,6 +27,7 @@ export const CONTENT_TYPE = { export const KNOWN_LINKS = { TWITTER: "twitter", INSTAGRAM: "instagram", + SNAPCHAT: "snapchat", FACEBOOK: "facebook", TIKTOK: "tiktok", TELEGRAM: "telegram", @@ -66,6 +67,13 @@ export const KNOWN_LINK_PATTERNS = [ key: KNOWN_LINKS.TIKTOK, patterns: ["((https?:\\/{2})?(www.)?tiktok.com\\/.*\\/video/\\d*)"], }, + { + key: KNOWN_LINKS.SNAPCHAT, + patterns: [ + "((https?:\\/{2})?(www.)?snapchat.com\\/(spotlight|lens)/\\w*)", + "((https?:\\/{2})?(www.)?snapchat.com\\/p\\/[\\w\\-]+\\/\\w*)", + ], + }, { key: KNOWN_LINKS.INSTAGRAM, patterns: [ @@ -128,7 +136,11 @@ export const ASSISTANT_ACTIONS = [ { title: "navbar_analysis_video", icon: , - linksAccepted: [KNOWN_LINKS.YOUTUBE, KNOWN_LINKS.FACEBOOK], + linksAccepted: [ + KNOWN_LINKS.YOUTUBE, + KNOWN_LINKS.FACEBOOK, + KNOWN_LINKS.SNAPCHAT, + ], cTypes: [CONTENT_TYPE.VIDEO], exceptions: [], useInputUrl: true, @@ -139,7 +151,11 @@ export const ASSISTANT_ACTIONS = [ { title: "navbar_analysis_image", icon: , - linksAccepted: [KNOWN_LINKS.FACEBOOK, KNOWN_LINKS.TWITTER], + linksAccepted: [ + KNOWN_LINKS.FACEBOOK, + KNOWN_LINKS.TWITTER, + KNOWN_LINKS.SNAPCHAT, + ], cTypes: [CONTENT_TYPE.IMAGE], exceptions: [], useInputUrl: true, @@ -156,6 +172,7 @@ export const ASSISTANT_ACTIONS = [ KNOWN_LINKS.YOUTUBE, KNOWN_LINKS.YOUTUBESHORTS, KNOWN_LINKS.LIVELEAK, + KNOWN_LINKS.SNAPCHAT, KNOWN_LINKS.OWN, ], cTypes: [CONTENT_TYPE.VIDEO], @@ -193,7 +210,7 @@ export const ASSISTANT_ACTIONS = [ processLinksAccepted: [KNOWN_LINKS.MISC, KNOWN_LINKS.OWN], cTypes: [CONTENT_TYPE.IMAGE, CONTENT_TYPE.VIDEO], exceptions: [ - /(pbs.twimg.com)|(youtu.be|youtube)|(instagram)|(fbcdn.net)|(vimeo)|(tiktok.com)/, + /(pbs.twimg.com)|(youtu.be|youtube)|(instagram)|(fbcdn.net)|(vimeo)|(snapchat)|(tiktok.com)/, ], useInputUrl: false, text: "metadata_text", @@ -292,6 +309,7 @@ export const ASSISTANT_ACTIONS = [ KNOWN_LINKS.FACEBOOK, KNOWN_LINKS.TWITTER, KNOWN_LINKS.MASTODON, + KNOWN_LINKS.SNAPCHAT, ], cTypes: [CONTENT_TYPE.VIDEO], exceptions: [], diff --git a/src/redux/sagas/assistantSaga.jsx b/src/redux/sagas/assistantSaga.jsx index d7857401..6edfcdc1 100644 --- a/src/redux/sagas/assistantSaga.jsx +++ b/src/redux/sagas/assistantSaga.jsx @@ -712,6 +712,7 @@ const decideWhetherToScrape = (urlType, contentType) => { case KNOWN_LINKS.INSTAGRAM: case KNOWN_LINKS.FACEBOOK: case KNOWN_LINKS.TWITTER: + case KNOWN_LINKS.SNAPCHAT: case KNOWN_LINKS.BLUESKY: case KNOWN_LINKS.TELEGRAM: case KNOWN_LINKS.MASTODON: @@ -811,6 +812,7 @@ const filterAssistantResults = ( videoList = scrapeResult.videos; } break; + case KNOWN_LINKS.SNAPCHAT: case KNOWN_LINKS.BLUESKY: if (scrapeResult.images.length > 0) { imageList = scrapeResult.images;