diff --git a/packages/components/src/constants/ThirdPartyLinks.ts b/packages/components/src/constants/ThirdPartyLinks.ts new file mode 100644 index 0000000000..e25de2e5be --- /dev/null +++ b/packages/components/src/constants/ThirdPartyLinks.ts @@ -0,0 +1,15 @@ +/** + * Define links to third party sources here so we can update them in one place. + */ +class ThirdPartyLinks { + // This should only need to change if our Nitro expires. + // Old FakeYou Discord invite link: https://discord.gg/H72KFXm + public static readonly FAKEYOU_DISCORD = "https://discord.gg/fakeyou"; + + // A link to Twitter that will open a "Follow" prompt + public static readonly FAKEYOU_TWITTER_WITH_FOLLOW_INTENT = "https://twitter.com/intent/follow?screen_name=FakeYouApp"; + + public static readonly FAKEYOU_PATREON = "https://www.patreon.com/fakeyou"; +} + +export { ThirdPartyLinks } \ No newline at end of file diff --git a/packages/components/src/elements/DiscordLink.tsx b/packages/components/src/elements/DiscordLink.tsx index f8eaed3fbb..2c7911cc12 100644 --- a/packages/components/src/elements/DiscordLink.tsx +++ b/packages/components/src/elements/DiscordLink.tsx @@ -2,6 +2,7 @@ import React from "react"; import { faDiscord } from "@fortawesome/free-brands-svg-icons"; import { IconProp } from "@fortawesome/fontawesome-svg-core"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { ThirdPartyLinks } from "../constants/ThirdPartyLinks"; interface Props { text?: string; @@ -24,7 +25,7 @@ function DiscordLink(props: Props) { ); return ( diff --git a/packages/components/src/elements/DiscordLink2.tsx b/packages/components/src/elements/DiscordLink2.tsx index a158611416..a825c0483e 100644 --- a/packages/components/src/elements/DiscordLink2.tsx +++ b/packages/components/src/elements/DiscordLink2.tsx @@ -2,6 +2,7 @@ import React from "react"; import { faDiscord } from "@fortawesome/free-brands-svg-icons"; import { IconProp } from "@fortawesome/fontawesome-svg-core"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { ThirdPartyLinks } from "../constants/ThirdPartyLinks"; interface Props { hideIcon?: boolean; @@ -35,7 +36,7 @@ function DiscordLink2(props: Props) { return ( diff --git a/packages/components/src/elements/PatreonLink.tsx b/packages/components/src/elements/PatreonLink.tsx index a037bdb9b7..4556c03f8a 100644 --- a/packages/components/src/elements/PatreonLink.tsx +++ b/packages/components/src/elements/PatreonLink.tsx @@ -2,6 +2,7 @@ import React from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { IconProp } from "@fortawesome/fontawesome-svg-core"; import { faPatreon } from "@fortawesome/free-brands-svg-icons"; +import { ThirdPartyLinks } from "../constants/ThirdPartyLinks"; interface Props { text?: string; @@ -24,7 +25,7 @@ function PatreonLink(props: Props) { ); return ( diff --git a/packages/components/src/elements/TwitterLink.tsx b/packages/components/src/elements/TwitterLink.tsx index e76de793f7..2e90b857f2 100644 --- a/packages/components/src/elements/TwitterLink.tsx +++ b/packages/components/src/elements/TwitterLink.tsx @@ -2,6 +2,7 @@ import React from "react"; import { faTwitter } from "@fortawesome/free-brands-svg-icons"; import { IconProp } from "@fortawesome/fontawesome-svg-core"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { ThirdPartyLinks } from "../constants/ThirdPartyLinks"; interface Props { hideIcon?: boolean; @@ -35,7 +36,7 @@ function TwitterLink(props: Props) { return ( diff --git a/packages/fakeyou/src/v2/view/NewFooterNavFc.tsx b/packages/fakeyou/src/v2/view/NewFooterNavFc.tsx index 5f90331ce8..d2cebc53a7 100644 --- a/packages/fakeyou/src/v2/view/NewFooterNavFc.tsx +++ b/packages/fakeyou/src/v2/view/NewFooterNavFc.tsx @@ -15,6 +15,7 @@ import { faTwitter, faFacebook, } from "@fortawesome/free-brands-svg-icons"; +import { ThirdPartyLinks } from "@storyteller/components/src/constants/ThirdPartyLinks"; interface Props { sessionWrapper: SessionWrapper; @@ -83,7 +84,7 @@ function NewFooterNavFc(props: Props) {
+
  • + + + Discord Chat + +
  • diff --git a/packages/fakeyou/src/v2/view/about/terms_page/TermsPage.tsx b/packages/fakeyou/src/v2/view/about/terms_page/TermsPage.tsx index 21eafae204..65da2e2a3a 100644 --- a/packages/fakeyou/src/v2/view/about/terms_page/TermsPage.tsx +++ b/packages/fakeyou/src/v2/view/about/terms_page/TermsPage.tsx @@ -1,6 +1,7 @@ import React from "react"; import { motion } from "framer-motion"; import { container, item, panel } from "../../../../data/animation"; +import { ThirdPartyLinks } from "@storyteller/components/src/constants/ThirdPartyLinks"; interface Props {} @@ -28,7 +29,7 @@ function TermsPage(props: Props) { We do not condone the use of FakeYou for any type of deception, slur, abuse, or mistreatment of any individual or group. Please report such abuses to our{" "} - + community staff on Discord . Bad actors will have their access revoked and materials deleted. diff --git a/packages/fakeyou/src/v2/view/patrons/PatronPage.tsx b/packages/fakeyou/src/v2/view/patrons/PatronPage.tsx index 3cf640d906..200ad23b8f 100644 --- a/packages/fakeyou/src/v2/view/patrons/PatronPage.tsx +++ b/packages/fakeyou/src/v2/view/patrons/PatronPage.tsx @@ -6,6 +6,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faPatreon } from "@fortawesome/free-brands-svg-icons"; import { motion } from "framer-motion"; import { container, item, image, panel } from "../../../data/animation"; +import { ThirdPartyLinks } from "@storyteller/components/src/constants/ThirdPartyLinks"; interface Props { sessionWrapper: SessionWrapper; } @@ -29,7 +30,7 @@ function PatronPage(props: Props) { Not yet (ask for approval in our  diff --git a/packages/storyteller-home/src/pages/index/IndexPage.tsx b/packages/storyteller-home/src/pages/index/IndexPage.tsx index 507a403de8..bb4faa2e8e 100644 --- a/packages/storyteller-home/src/pages/index/IndexPage.tsx +++ b/packages/storyteller-home/src/pages/index/IndexPage.tsx @@ -27,6 +27,7 @@ import { useEffect } from "react"; import gsap from "gsap"; import SplitType from "split-type"; import Scene from "./Scene"; +import { ThirdPartyLinks } from "@storyteller/components/src/constants/ThirdPartyLinks" import { Swiper, SwiperSlide } from "swiper/react"; import "swiper/css"; import "swiper/css/pagination"; @@ -164,7 +165,7 @@ function IndexPage() { data-scroll-position="top" > - + @@ -591,7 +592,7 @@ function IndexPage() {