diff --git a/packages/fakeyou.com/src/v2/view/_common/PageHeaderWithImage.tsx b/packages/fakeyou.com/src/v2/view/_common/PageHeaderWithImage.tsx index 43c18326b6..1fcd7711c5 100644 --- a/packages/fakeyou.com/src/v2/view/_common/PageHeaderWithImage.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/PageHeaderWithImage.tsx @@ -1,6 +1,4 @@ import React from "react"; -import { motion } from "framer-motion"; -import { image } from "../../../data/animation"; interface Props { headerImage: string; @@ -17,11 +15,10 @@ function PageHeaderWithImage(props: Props) {
-
diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx index eb0e31d45f..f0b8fd2151 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx @@ -11,8 +11,7 @@ import { faLink, faHeadphonesSimple, } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, sessionItem } from "../../../data/animation"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { Analytics } from "../../../common/Analytics"; import { SessionTtsAudioPlayer } from "./SessionTtsAudioPlayer"; @@ -56,7 +55,10 @@ function SessionTtsInferenceResultList(props: Props) { }; // TODO: We're having an outage and need to lower this. //const interval = setInterval(async () => fetch(), 15000); - const refreshInterval = Math.max(DEFAULT_QUEUE_REFRESH_INTERVAL_MILLIS, pendingTtsJobs.refresh_interval_millis); + const refreshInterval = Math.max( + DEFAULT_QUEUE_REFRESH_INTERVAL_MILLIS, + pendingTtsJobs.refresh_interval_millis + ); const interval = setInterval(async () => fetch(), refreshInterval); fetch(); return () => clearInterval(interval); @@ -66,7 +68,7 @@ function SessionTtsInferenceResultList(props: Props) { // TODO(bt,2023-04-08): Clean this utter garbage duplication up. - // ============================= GENERIC INFERENCE ============================= + // ============================= GENERIC INFERENCE ============================= props.inferenceJobs.forEach((job) => { if (!job.maybeResultToken) { @@ -113,9 +115,7 @@ function SessionTtsInferenceResultList(props: Props) {
- - {stateDescription} - +
{stateDescription}
@@ -135,10 +135,7 @@ function SessionTtsInferenceResultList(props: Props) {
*/}
- +
{job.maybeModelTitle}

{job.maybeRawInferenceText}

@@ -170,7 +167,7 @@ function SessionTtsInferenceResultList(props: Props) { {t("common.SessionTtsInferenceResults.result.shareDownload")}
- +
); @@ -179,7 +176,7 @@ function SessionTtsInferenceResultList(props: Props) { // TODO(bt,2023-04-08): Clean this utter garbage duplication up. - // ============================= LEGACY TTS ============================= + // ============================= LEGACY TTS ============================= props.ttsInferenceJobs.forEach((job) => { if (!job.maybeResultToken) { @@ -226,9 +223,7 @@ function SessionTtsInferenceResultList(props: Props) {
- - {stateDescription} - +
{stateDescription}
@@ -248,10 +243,7 @@ function SessionTtsInferenceResultList(props: Props) {
*/}
- +
{job.title}

{job.rawInferenceText}

@@ -283,14 +275,14 @@ function SessionTtsInferenceResultList(props: Props) { {t("common.SessionTtsInferenceResults.result.shareDownload")}
- +
); } }); - // ============================= END LEGACY TTS ============================= + // ============================= END LEGACY TTS ============================= let noResultsSection = (
@@ -317,10 +309,7 @@ function SessionTtsInferenceResultList(props: Props) { ) { upgradeNotice = (
- +
Don't want to wait? Step to the back of the line with a{" "} @@ -336,7 +325,7 @@ function SessionTtsInferenceResultList(props: Props) { {" "} (TTS Queued:{" "} ~{pendingTtsJobs.pending_job_count}) - +
); } @@ -345,14 +334,14 @@ function SessionTtsInferenceResultList(props: Props) { results.reverse(); return ( - +
{upgradeNotice}
{results}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionTtsModelUploadResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionTtsModelUploadResultsList.tsx index 8d5aeb2079..b6dea73ce4 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionTtsModelUploadResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionTtsModelUploadResultsList.tsx @@ -2,8 +2,6 @@ import React from "react"; import { Link } from "react-router-dom"; import { JobState } from "@storyteller/components/src/jobs/JobStates"; import { TtsModelUploadJob } from "@storyteller/components/src/jobs/TtsModelUploadJobs"; -import { motion } from "framer-motion"; -import { container, sessionItem, item } from "../../../data/animation"; interface Props { modelUploadJobs: Array; @@ -53,15 +51,12 @@ function SessionTtsModelUploadResultList(props: Props) { results.push(
- +
Complete! See & use TTS model - +
); } @@ -70,9 +65,9 @@ function SessionTtsModelUploadResultList(props: Props) { let title = ; if (results.length !== 0) { title = ( - +

TTS Model Upload Status - +

); } @@ -83,12 +78,12 @@ function SessionTtsModelUploadResultList(props: Props) { } return ( - +
{title}
{results}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionVocoderUploadResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionVocoderUploadResultsList.tsx index 7b3b67c78e..62d086de42 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionVocoderUploadResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionVocoderUploadResultsList.tsx @@ -1,8 +1,7 @@ import React from "react"; import { Link } from "react-router-dom"; import { JobState } from "@storyteller/components/src/jobs/JobStates"; -import { motion } from "framer-motion"; -import { container, sessionItem, item } from "../../../data/animation"; + import { VocoderUploadJob } from "@storyteller/components/src/jobs/VocoderUploadJobs"; interface Props { @@ -53,15 +52,12 @@ function SessionVocoderUploadResultList(props: Props) { results.push(
- +
Complete! See & use vocoder model - +
); } @@ -70,19 +66,19 @@ function SessionVocoderUploadResultList(props: Props) { let title = ; if (results.length !== 0) { title = ( - +

Vocoder Upload Status - +

); } return ( - +
{title}
{results}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionModelUploadResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionModelUploadResultsList.tsx index 8e90526e14..eaea954900 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionModelUploadResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionModelUploadResultsList.tsx @@ -1,8 +1,7 @@ import React from "react"; import { Link } from "react-router-dom"; import { JobState } from "@storyteller/components/src/jobs/JobStates"; -import { motion } from "framer-motion"; -import { container, sessionItem, item } from "../../../data/animation"; + import { VoiceConversionModelUploadJob } from "@storyteller/components/src/jobs/VoiceConversionModelUploadJob"; interface Props { @@ -53,15 +52,12 @@ function SessionVoiceConversionModelUploadResultList(props: Props) { results.push(
- +
Complete! See & use voice conversion model - +
); } @@ -70,19 +66,19 @@ function SessionVoiceConversionModelUploadResultList(props: Props) { let title = ; if (results.length !== 0) { title = ( - +

Voice Conversion Model Upload Status - +

); } return ( - +
{title}
{results}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionResultsList.tsx index 64ac3462ef..b0be434519 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionVoiceConversionResultsList.tsx @@ -10,8 +10,7 @@ import { faHeadphonesSimple, faDownload, } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, sessionItem } from "../../../data/animation"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { Analytics } from "../../../common/Analytics"; import { SessionTtsAudioPlayer } from "./SessionTtsAudioPlayer"; @@ -54,7 +53,10 @@ function SessionVoiceConversionResultsList(props: Props) { }; // TODO: We're having an outage and need to lower this. //const interval = setInterval(async () => fetch(), 15000); - const refreshInterval = Math.max(DEFAULT_QUEUE_REFRESH_INTERVAL_MILLIS, pendingTtsJobs.refresh_interval_millis); + const refreshInterval = Math.max( + DEFAULT_QUEUE_REFRESH_INTERVAL_MILLIS, + pendingTtsJobs.refresh_interval_millis + ); const interval = setInterval(async () => fetch(), refreshInterval); fetch(); return () => clearInterval(interval); @@ -64,7 +66,7 @@ function SessionVoiceConversionResultsList(props: Props) { // TODO(bt,2023-04-08): Clean this utter garbage duplication up. - // ============================= GENERIC INFERENCE ============================= + // ============================= GENERIC INFERENCE ============================= props.inferenceJobs.forEach((job) => { if (!job.maybeResultToken) { @@ -111,9 +113,7 @@ function SessionVoiceConversionResultsList(props: Props) {
- - {stateDescription} - +
{stateDescription}
@@ -135,10 +135,7 @@ function SessionVoiceConversionResultsList(props: Props) {
*/}
- +
{job.maybeModelTitle}

{job.maybeRawInferenceText}

@@ -182,7 +179,7 @@ function SessionVoiceConversionResultsList(props: Props) { Download File{" "}
- +
); @@ -214,10 +211,7 @@ function SessionVoiceConversionResultsList(props: Props) { ) { upgradeNotice = (
- +
Don't want to wait? Step to the back of the line with a{" "} @@ -233,7 +227,7 @@ function SessionVoiceConversionResultsList(props: Props) { {" "} (TTS Queued:{" "} ~{pendingTtsJobs.pending_job_count}) - +
); } @@ -242,14 +236,14 @@ function SessionVoiceConversionResultsList(props: Props) { results.reverse(); return ( - +
{upgradeNotice}
{results}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionW2lInferenceResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionW2lInferenceResultsList.tsx index 5559909840..1c01df9261 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionW2lInferenceResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionW2lInferenceResultsList.tsx @@ -4,8 +4,6 @@ import { W2lInferenceJob } from "../../../App"; import { JobState } from "@storyteller/components/src/jobs/JobStates"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faList } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, item, sessionItem } from "../../../data/animation"; interface Props { w2lInferenceJobs: Array; @@ -47,9 +45,7 @@ function SessionW2lInferenceResultList(props: Props) { results.push(
- - {stateDescription} - +
{stateDescription}
); } else { @@ -57,15 +53,12 @@ function SessionW2lInferenceResultList(props: Props) { results.push(
- +
Complete!{" "} Permalink & download - +
); } @@ -74,10 +67,10 @@ function SessionW2lInferenceResultList(props: Props) { let title = ; if (results.length !== 0) { title = ( - +

Session W2L Results - +

); } @@ -88,12 +81,12 @@ function SessionW2lInferenceResultList(props: Props) { } return ( - +
{title}
{results}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionW2lTemplateUploadResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionW2lTemplateUploadResultsList.tsx index a0cfb97b8a..a9001d1712 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionW2lTemplateUploadResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionW2lTemplateUploadResultsList.tsx @@ -2,8 +2,6 @@ import React from "react"; import { Link } from "react-router-dom"; import { JobState } from "@storyteller/components/src/jobs/JobStates"; import { W2lTemplateUploadJob } from "@storyteller/components/src/jobs/W2lTemplateUploadJobs"; -import { motion } from "framer-motion"; -import { container, item, sessionItem } from "../../../data/animation"; interface Props { w2lTemplateUploadJobs: Array; @@ -55,15 +53,12 @@ function SessionW2lTemplateUploadResultList(props: Props) { results.push(
- +
Complete! See & use template - +
); } @@ -72,9 +67,9 @@ function SessionW2lTemplateUploadResultList(props: Props) { let title = ; if (results.length !== 0) { title = ( - +

W2L Template Upload Status - +

); } @@ -85,12 +80,12 @@ function SessionW2lTemplateUploadResultList(props: Props) { } return ( - +
{title}
{results}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/_common/comments/CommentList.tsx b/packages/fakeyou.com/src/v2/view/_common/comments/CommentList.tsx index 1e4817f5d8..62932f9906 100644 --- a/packages/fakeyou.com/src/v2/view/_common/comments/CommentList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/comments/CommentList.tsx @@ -3,8 +3,7 @@ import { formatDistance } from "date-fns"; import { Comment } from "@storyteller/components/src/api/comments/ListComments"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { SafeDeleteCommentButton } from "./SafeDeleteCommentButton"; -import { motion } from "framer-motion"; -import { container, item } from "../../../../data/animation"; + import { Gravatar } from "@storyteller/components/src/elements/Gravatar"; import { Link } from "react-router-dom"; @@ -60,7 +59,7 @@ function CommentList(props: Props) { let profileLink = `/profile/${comment.username}`; rows.push( - +
@@ -91,19 +90,14 @@ function CommentList(props: Props) {
-
+ ); }); return ( - + {rows} - +
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/about/about_page/AboutPage.tsx b/packages/fakeyou.com/src/v2/view/pages/about/about_page/AboutPage.tsx index 7919e99b4f..66d3b92852 100644 --- a/packages/fakeyou.com/src/v2/view/pages/about/about_page/AboutPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/about/about_page/AboutPage.tsx @@ -1,7 +1,6 @@ import React from "react"; import { Link } from "react-router-dom"; -import { motion } from "framer-motion"; -import { container, item, image, panel } from "../../../../../data/animation"; + import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -12,40 +11,37 @@ function AboutPage(props: Props) { usePrefixedDocumentTitle("About Us"); return ( - +
-
- - A Glimpse of the Future - +

A Glimpse of the Future

- +

We're building FakeYou as just one component of a broad set of production and creative tooling. - +

- +

About FakeYou

@@ -306,8 +302,8 @@ function AboutPage(props: Props) {
-
- +
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/about/guide_page/GuidePage.tsx b/packages/fakeyou.com/src/v2/view/pages/about/guide_page/GuidePage.tsx index 27ef2d95ab..b9a6114e7f 100644 --- a/packages/fakeyou.com/src/v2/view/pages/about/guide_page/GuidePage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/about/guide_page/GuidePage.tsx @@ -1,6 +1,5 @@ import React from "react"; -import { motion } from "framer-motion"; -import { container, item, panel, image } from "../../../../../data/animation"; + import { Link } from "react-router-dom"; import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"; import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; @@ -13,51 +12,45 @@ function GuidePage(props: Props) { usePrefixedDocumentTitle("Guide to all things Deep Fake"); return ( - +
-
- - FakeYou TTS Guide - +

FakeYou TTS Guide

- +

How to generate the best sounding TTS

-
+

- +
- +
- +

Quick Tips

@@ -150,9 +143,9 @@ function GuidePage(props: Props) {
-
+
- +

Generate your TTS now!

@@ -165,8 +158,8 @@ function GuidePage(props: Props) {
-
-
+ + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/about/privacy_page/PrivacyPage.tsx b/packages/fakeyou.com/src/v2/view/pages/about/privacy_page/PrivacyPage.tsx index c76ef2328f..05b1dfbef0 100644 --- a/packages/fakeyou.com/src/v2/view/pages/about/privacy_page/PrivacyPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/about/privacy_page/PrivacyPage.tsx @@ -1,6 +1,5 @@ import React from "react"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -11,25 +10,19 @@ function PrivacyPage(props: Props) { usePrefixedDocumentTitle("Privacy Statement"); return ( - +
- +

FakeYou Privacy Statement - - +

+

Updated: November 18, 2022 - +

- +

FakeYou and You

@@ -1216,8 +1209,8 @@ function PrivacyPage(props: Props) {

- - +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/about/terms_page/TermsPage.tsx b/packages/fakeyou.com/src/v2/view/pages/about/terms_page/TermsPage.tsx index c15526bceb..7457a3d266 100644 --- a/packages/fakeyou.com/src/v2/view/pages/about/terms_page/TermsPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/about/terms_page/TermsPage.tsx @@ -1,6 +1,5 @@ import React from "react"; -import { motion } from "framer-motion"; -import { container, item, panel, image } from "../../../../../data/animation"; + import { ThirdPartyLinks } from "@storyteller/components/src/constants/ThirdPartyLinks"; import { Link } from "react-router-dom"; import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; @@ -13,39 +12,36 @@ function TermsPage(props: Props) { usePrefixedDocumentTitle("Terms of Use"); return ( - +
-
- - Terms and Conditions - +

Terms and Conditions

- +

Please use this technology responsibly.

-
+

- +

Terms and Conditions of Use

@@ -1175,8 +1171,8 @@ function TermsPage(props: Props) {

support@storyteller.io

- - +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/category/CreateCategoryPage.tsx b/packages/fakeyou.com/src/v2/view/pages/category/CreateCategoryPage.tsx index 05f28dd15b..88badef71e 100644 --- a/packages/fakeyou.com/src/v2/view/pages/category/CreateCategoryPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/category/CreateCategoryPage.tsx @@ -10,8 +10,7 @@ import { } from "@storyteller/components/src/api/category/CreateCategory"; import { BackLink } from "../../_common/BackLink"; import { WebUrl } from "../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; const DEFAULT_CAN_DIRECTLY_HAVE_MODELS = true; @@ -195,35 +194,33 @@ function CreateCategoryPage(props: Props) { if (props.sessionWrapper.canEditCategories()) { moderateCategoriesLink = ( <> - +
Moderate categories - +
); } return ( - +
- - {categoryActionName} Category - - +

{categoryActionName} Category

+
- +
{errorFlash} - +
@@ -259,15 +256,15 @@ function CreateCategoryPage(props: Props) {
- +
- - +
+ {moderateCategoriesLink} -
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/channels/Channels.tsx b/packages/fakeyou.com/src/v2/view/pages/channels/Channels.tsx index 1a66853a50..e98293976b 100644 --- a/packages/fakeyou.com/src/v2/view/pages/channels/Channels.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/channels/Channels.tsx @@ -1,10 +1,10 @@ import React from "react"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; -import { motion } from "framer-motion"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { Link } from "react-router-dom"; -import { container, item } from "../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface Props { @@ -17,7 +17,7 @@ function ChannelsPage(props: Props) { PosthogClient.recordPageview(); let videoBlock = ( - +
- +
); return ( - - - Channels - +
+

Channels

{videoBlock} @@ -65,7 +58,7 @@ function ChannelsPage(props: Props) { {videoBlock} {videoBlock}
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/character/trump/TrumpTtsPage.tsx b/packages/fakeyou.com/src/v2/view/pages/character/trump/TrumpTtsPage.tsx index 4431b59f2f..955ebdcfc0 100644 --- a/packages/fakeyou.com/src/v2/view/pages/character/trump/TrumpTtsPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/character/trump/TrumpTtsPage.tsx @@ -31,8 +31,7 @@ import { faDeleteLeft, faVolumeHigh, } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, panel } from "../../../../../data/animation"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { TtsPageHero } from "./TrumpTtsPageHero"; import { Analytics } from "../../../../../common/Analytics"; @@ -167,7 +166,7 @@ function TrumpTtsPage(props: Props) { let trumpModels = models.filter((model) => { return PAGE_MODEL_TOKENS.has(model.model_token); - }) + }); let model = trumpModels[Math.floor(Math.random() * trumpModels.length)]; @@ -366,24 +365,27 @@ function TrumpTtsPage(props: Props) { let trumpModels = props.ttsModels.filter((model) => { return PAGE_MODEL_TOKENS.has(model.model_token); - }) + }); let maybeSelectedModel = props.maybeSelectedTtsModel; - if (maybeSelectedModel !== undefined && !PAGE_MODEL_TOKENS.has(maybeSelectedModel.model_token)) { - // If we don't select a trump model by default (which is rare), the list will be empty. + if ( + maybeSelectedModel !== undefined && + !PAGE_MODEL_TOKENS.has(maybeSelectedModel.model_token) + ) { + // If we don't select a trump model by default (which is rare), the list will be empty. // We'll set it here. maybeSelectedModel = trumpModels[0]; } return ( - +
- +
@@ -490,8 +492,8 @@ function TrumpTtsPage(props: Props) {
-
- +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/clone_voice_requests/VoiceCloneRequestPage.tsx b/packages/fakeyou.com/src/v2/view/pages/clone_voice_requests/VoiceCloneRequestPage.tsx index 44ed4f4e66..cd36da5690 100644 --- a/packages/fakeyou.com/src/v2/view/pages/clone_voice_requests/VoiceCloneRequestPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/clone_voice_requests/VoiceCloneRequestPage.tsx @@ -23,8 +23,6 @@ import { } from "@storyteller/components/src/api/clone_requests/CheckVoiceCloneApplication"; import { Link } from "react-router-dom"; import { WebUrl } from "../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, image, panel } from "../../../../data/animation"; import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -251,32 +249,27 @@ function VoiceCloneRequestPage(props: Props) {
-
- - Professionally Clone Your Voice - - - (or any voice) for just $70 - +

Professionally Clone Your Voice

+

(or any voice) for just $70

- +

Want a Custom Voice You Can Use? - - +

+

For Music, Videos, Twitch Rewards, API, Friends, Family… whatever you want! - +

@@ -342,10 +335,10 @@ function VoiceCloneRequestPage(props: Props) { } return ( - +
{header} - +

Clone Your Voice

@@ -658,8 +651,8 @@ function VoiceCloneRequestPage(props: Props) {
-
- +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/contest/CommunityCommissionsPage.tsx b/packages/fakeyou.com/src/v2/view/pages/contest/CommunityCommissionsPage.tsx index 403cdb71ed..5dfb8f466f 100644 --- a/packages/fakeyou.com/src/v2/view/pages/contest/CommunityCommissionsPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/contest/CommunityCommissionsPage.tsx @@ -1,7 +1,6 @@ import React from "react"; import { Link } from "react-router-dom"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faWaveformLines } from "@fortawesome/pro-solid-svg-icons"; @@ -15,7 +14,7 @@ function CommunityCommissionsPage(props: Props) { PosthogClient.recordPageview(); return ( - +
@@ -31,14 +30,11 @@ function CommunityCommissionsPage(props: Props) {
- +

Voice to Voice
Community Commissions - +

@@ -70,7 +66,7 @@ function CommunityCommissionsPage(props: Props) {

- +

Details

@@ -108,8 +104,8 @@ function CommunityCommissionsPage(props: Props) {
- - +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/contribute/ContributeIndexPage.tsx b/packages/fakeyou.com/src/v2/view/pages/contribute/ContributeIndexPage.tsx index 71d0f6aab9..78721171c2 100644 --- a/packages/fakeyou.com/src/v2/view/pages/contribute/ContributeIndexPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/contribute/ContributeIndexPage.tsx @@ -13,8 +13,7 @@ import { faTags, faHandsHelping, } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { PageHeader } from "../../_common/PageHeader"; import { @@ -57,20 +56,20 @@ function ContributeIndexPage(props: Props) { ); return ( - +
{/*
- +

{t("pages.contributeIndex.heroTitle")} - - +

+

You make FakeYou better by contributing - - +

+

{t("pages.contributeIndex.introText")} - +

*/} - +

@@ -134,9 +133,9 @@ function ContributeIndexPage(props: Props) {

-
+
- +

@@ -156,7 +155,7 @@ function ContributeIndexPage(props: Props) {

- +

@@ -177,7 +176,7 @@ function ContributeIndexPage(props: Props) {

-
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/firehose/FirehoseEventListPage.tsx b/packages/fakeyou.com/src/v2/view/pages/firehose/FirehoseEventListPage.tsx index b7ac7918bf..1c7b6bf11a 100644 --- a/packages/fakeyou.com/src/v2/view/pages/firehose/FirehoseEventListPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/firehose/FirehoseEventListPage.tsx @@ -15,8 +15,8 @@ import { faDiscord, faTwitch, } from "@fortawesome/free-brands-svg-icons"; -import { motion } from "framer-motion"; -import { duration, delay, container, item } from "../../../../data/animation"; +import { duration, delay } from "../../../../data/animation"; + import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -60,7 +60,6 @@ function FirehoseEventListPage(props: Props) { [] ); - const fetchEvents = () => { const api = new ApiConfig(); const endpointUrl = api.firehoseEvents(); @@ -324,19 +323,17 @@ function FirehoseEventListPage(props: Props) { usePrefixedDocumentTitle("Firehose Event Feed"); return ( - +
- - Firehose Event Feed - - +

Firehose Event Feed

+

The latest FakeYou events refreshed every few seconds. - - +

+

As you can see, we're really popular. But we owe it to you, our users. Thank you! - +

@@ -345,7 +342,7 @@ function FirehoseEventListPage(props: Props) {
    {eventItems}
-
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/landing/LandingPage.tsx b/packages/fakeyou.com/src/v2/view/pages/landing/LandingPage.tsx index d11856ce7a..0c2b745632 100644 --- a/packages/fakeyou.com/src/v2/view/pages/landing/LandingPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/landing/LandingPage.tsx @@ -1,7 +1,6 @@ import React, { useMemo } from "react"; import { Link } from "react-router-dom"; -import { motion } from "framer-motion"; -import { container } from "../../../../data/animation"; + import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { t } from "i18next"; @@ -145,7 +144,7 @@ function LandingPage(props: Props) { }, []); return ( - +
{/* Community Commissions Alert */} {/*
@@ -516,7 +515,7 @@ function LandingPage(props: Props) { />
- +
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/leaderboard/LeaderboardPage.tsx b/packages/fakeyou.com/src/v2/view/pages/leaderboard/LeaderboardPage.tsx index 399adeab1a..8c794eae8b 100644 --- a/packages/fakeyou.com/src/v2/view/pages/leaderboard/LeaderboardPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/leaderboard/LeaderboardPage.tsx @@ -12,8 +12,7 @@ import { LeaderboardLookupError, } from "@storyteller/components/src/api/leaderboard/GetLeaderboard"; import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"; -import { motion } from "framer-motion"; -import { container, item, panel } from "data/animation"; + import { usePrefixedDocumentTitle } from "common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -32,7 +31,7 @@ function LeaderboardPage(props: Props) { Array | undefined >(undefined); const [retryCount, setRetryCount] = useState(0); - + PosthogClient.recordPageview(); const getLeaderboard = useCallback(async () => { @@ -121,23 +120,19 @@ function LeaderboardPage(props: Props) { } return ( - +
- - Leaderboard - - - Our most frequent contributors! - - +

Leaderboard

+

Our most frequent contributors!

+

Want to be on the leaderboard?{" "} Join our Discord and learn more! - +

- +

TTS Models Uploaded

@@ -146,9 +141,9 @@ function LeaderboardPage(props: Props) {
- +
- +

W2L Templates Uploaded

@@ -157,8 +152,8 @@ function LeaderboardPage(props: Props) {
- - +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/login/LoginPage.tsx b/packages/fakeyou.com/src/v2/view/pages/login/LoginPage.tsx index f783d05cf6..03855613f7 100644 --- a/packages/fakeyou.com/src/v2/view/pages/login/LoginPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/login/LoginPage.tsx @@ -9,8 +9,7 @@ import { } from "@storyteller/components/src/api/session/CreateSession"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faUser, faKey } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, panel } from "../../../../data/animation"; + import { Analytics } from "../../../../common/Analytics"; import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -89,11 +88,8 @@ function LoginPage(props: Props) { } return ( - - +
+

Login

@@ -138,10 +134,7 @@ function LoginPage(props: Props) {

Don’t have an account?   - + Create an account now.

@@ -149,8 +142,8 @@ function LoginPage(props: Props) {
- - +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/news/NewsPage.tsx b/packages/fakeyou.com/src/v2/view/pages/news/NewsPage.tsx index cd154f01a8..0415d608bd 100644 --- a/packages/fakeyou.com/src/v2/view/pages/news/NewsPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/news/NewsPage.tsx @@ -1,8 +1,8 @@ import React, { useEffect } from "react"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; -import { motion } from "framer-motion"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; -import { container, item } from "../../../../data/animation"; + import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { TwitchPlayer, TwitchChat } from "react-twitch-embed"; import { Link } from "react-router-dom"; @@ -112,18 +112,18 @@ function NewsPage(props: Props) { } return ( - +
{/*
- +

Media Feed - +

*/} {/* Feed Content */} - +
.

-
+
{/* Side column */} @@ -191,7 +191,7 @@ function NewsPage(props: Props) {
-
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/patrons/PatronPage.tsx b/packages/fakeyou.com/src/v2/view/pages/patrons/PatronPage.tsx index bce76cfef6..be40092e7b 100644 --- a/packages/fakeyou.com/src/v2/view/pages/patrons/PatronPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/patrons/PatronPage.tsx @@ -4,8 +4,7 @@ import { PATRONS } from "../../../../data/Patrons"; import { PatreonLink } from "@storyteller/components/src/elements/PatreonLink"; 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"; import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -19,25 +18,20 @@ function PatronPage(props: Props) { PosthogClient.recordPageview(); return ( - +
- - Thanks to our Patrons! - - +

Thanks to our Patrons!

+

Our Patrons help support our work. - - +

+

Our Patrons help pay offset (but not completely cover) our expensive server bills. - +

- +
-
- +

Our Patrons

@@ -81,9 +74,9 @@ function PatronPage(props: Props) {
-
+
- +

Patrons will get first looks at new features, get dedicated access @@ -95,8 +88,8 @@ function PatronPage(props: Props) {

- - +
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutCancelPage.tsx b/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutCancelPage.tsx index 2f667298e2..e988d7d002 100644 --- a/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutCancelPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutCancelPage.tsx @@ -1,7 +1,6 @@ import React from "react"; import { Link } from "react-router-dom"; -import { motion } from "framer-motion"; -import { container, item, image } from "../../../../data/animation"; + import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -14,44 +13,41 @@ function CheckoutCancelPage(props: Props) { PosthogClient.recordPageview(); return ( - +
-
- - Oh no! - +

Oh no!

- +

It's okay if you don't want to support FakeYou right now, but we'd appreciate it if you reconsider us in the future. - +


- +

Paid plans go directly to helping us afford more GPUs, engineering, and research talent. - +


- +

We're trying to build a film and music production system that you can use to make any content you dream up. Please consider supporting us monetarily. - +

@@ -71,7 +67,7 @@ function CheckoutCancelPage(props: Props) {
-
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutSuccessPage.tsx b/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutSuccessPage.tsx index 32aed47557..ddb681dfb8 100644 --- a/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutSuccessPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/premium/CheckoutSuccessPage.tsx @@ -1,7 +1,6 @@ import React from "react"; import { Link } from "react-router-dom"; -import { motion } from "framer-motion"; -import { container, item, image } from "../../../../data/animation"; + import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -14,44 +13,39 @@ function CheckoutSuccessPage(props: Props) { PosthogClient.recordPageview(); return ( - +
-
- - Thank you! - +

Thank you!


- +

We're grateful you're helping FakeYou build the future creative suite. We're building tools for small creators and have an eye on building a full AI-powered Hollywood and music production studio. - +


- - Your support helps us immensely! - +

Your support helps us immensely!


- +

Please give it a few minutes for your purchase to take effect. - +

@@ -64,7 +58,7 @@ function CheckoutSuccessPage(props: Props) {
-
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/premium/PortalSuccessPage.tsx b/packages/fakeyou.com/src/v2/view/pages/premium/PortalSuccessPage.tsx index 1230968680..0eae02b59c 100644 --- a/packages/fakeyou.com/src/v2/view/pages/premium/PortalSuccessPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/premium/PortalSuccessPage.tsx @@ -1,7 +1,6 @@ import React from "react"; import { Link } from "react-router-dom"; -import { motion } from "framer-motion"; -import { container, item, image } from "../../../../data/animation"; + import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -14,35 +13,28 @@ function PortalSuccessPage(props: Props) { PosthogClient.recordPageview(); return ( - +
-
- - Thank You! - +

Thank You!

- - Your support means a lot to us. - - - Please continue to enjoy FakeYou! - +

Your support means a lot to us.

+

Please continue to enjoy FakeYou!

@@ -55,7 +47,7 @@ function PortalSuccessPage(props: Props) {
-
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/premium/PricingPage.tsx b/packages/fakeyou.com/src/v2/view/pages/premium/PricingPage.tsx index 2605282010..039364da46 100644 --- a/packages/fakeyou.com/src/v2/view/pages/premium/PricingPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/premium/PricingPage.tsx @@ -10,8 +10,7 @@ import { CreateStripePortalRedirectIsError, CreateStripePortalRedirectIsSuccess, } from "@storyteller/components/src/api/premium/CreateStripePortalRedirect"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { FakeYouFrontendEnvironment } from "@storyteller/components/src/env/FakeYouFrontendEnvironment"; import { Analytics } from "../../../../common/Analytics"; import { WebUrl } from "../../../../common/WebUrl"; @@ -148,26 +147,21 @@ function PricingPage(props: Props) { } return ( - +
- - Pricing - +

Pricing

{/*

By purchasing FakeYou premium, you help us build more!

*/} - +
By purchasing FakeYou premium, you help us build more! - +
{/* Starter Tier */} - {/* + {/*

{FYP.starter.tier} @@ -218,11 +212,11 @@ function PricingPage(props: Props) { })}

- +
*/} {/* Plus Tier */} - +

{FYP.plus.tier}

- +
{/* Pro Tier */} - +

{FYP.pro.tier}

- +
{/* Elite Tier */} - +

{FYP.elite.tier} @@ -609,7 +603,7 @@ function PricingPage(props: Props) { + Future feature updates

- +
{unsubscribeSection} @@ -719,7 +713,7 @@ function PricingPage(props: Props) {
*/} -
+ ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/product_usage_info/ProductUsageInfoPage.tsx b/packages/fakeyou.com/src/v2/view/pages/product_usage_info/ProductUsageInfoPage.tsx index 998675c1bf..fdbf131bca 100644 --- a/packages/fakeyou.com/src/v2/view/pages/product_usage_info/ProductUsageInfoPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/product_usage_info/ProductUsageInfoPage.tsx @@ -1,7 +1,6 @@ import React, { useState } from "react"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; -import { motion } from "framer-motion"; -import { container, panel } from "data/animation"; + import { usePrefixedDocumentTitle } from "common/UsePrefixedDocumentTitle"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -61,11 +60,8 @@ function ProductUsageInfoPage(props: Props) { }; return ( - - +
+

Product Usage Survey


@@ -138,8 +134,8 @@ function ProductUsageInfoPage(props: Props) {
- - +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_ban/ProfileBanFc.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_ban/ProfileBanFc.tsx index ecb82a014f..870231eae0 100644 --- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_ban/ProfileBanFc.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_ban/ProfileBanFc.tsx @@ -9,8 +9,7 @@ import { User, } from "@storyteller/components/src/api/user/GetUserByUsername"; import { BackLink } from "../../../_common/BackLink"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface Props { @@ -111,17 +110,15 @@ function ProfileBanFc(props: Props) { let isDisabled = userData === undefined; return ( - +
- - Profile & Preferences - - +

Profile & Preferences

+
- +
- +
@@ -164,21 +161,21 @@ function ProfileBanFc(props: Props) {
- +
- +
- +
- +

Notes on banned users:

- - +
+
); } diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_edit/ProfileEditFc.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_edit/ProfileEditFc.tsx index 34d137f985..8f15179151 100644 --- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_edit/ProfileEditFc.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_edit/ProfileEditFc.tsx @@ -19,8 +19,7 @@ import { faGlobe, } from "@fortawesome/free-solid-svg-icons"; import { BackLink } from "../../../_common/BackLink"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; const DEFAULT_VISIBILITY = "public"; @@ -63,7 +62,7 @@ interface UserPayload { function ProfileEditFc(props: Props) { const { username } = useParams() as { username: string }; PosthogClient.recordPageview(); - + const userProfilePage = `/profile/${username}`; const history = useHistory(); @@ -237,17 +236,15 @@ function ProfileEditFc(props: Props) { ); return ( - +
- - Profile & Preferences - - +

Profile & Preferences

+
- +
- +
@@ -301,7 +298,7 @@ function ProfileEditFc(props: Props) {
- +

Profile Picture

@@ -323,9 +320,9 @@ function ProfileEditFc(props: Props) {

- +
- +

Profile Details

@@ -507,15 +504,15 @@ function ProfileEditFc(props: Props) {
-
+
- +
- +
- + - +

Cancel My Subscription

@@ -527,8 +524,8 @@ function ProfileEditFc(props: Props) {

-
-
+ + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/ProfilePage.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/ProfilePage.tsx index ad9e218f24..b09b67bfe5 100644 --- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/ProfilePage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/ProfilePage.tsx @@ -8,43 +8,49 @@ import { ProfileW2lInferenceResultsListFc } from "./Profile_W2lInferenceResultLi import { ProfileW2lTemplateListFc } from "./Profile_W2lTemplateListFc"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; -import { Route, Switch, useLocation, useParams, useRouteMatch } from "react-router-dom"; +import { + Route, + Switch, + useLocation, + useParams, + useRouteMatch, +} from "react-router-dom"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { - faDiscord, - faGithub, - faTwitch, - faTwitter, + faDiscord, + faGithub, + faTwitch, + faTwitter, } from "@fortawesome/free-brands-svg-icons"; import { - faBan, - faGear, - faGlobe, - faDollarSign, - faStar, + faBan, + faGear, + faGlobe, + faDollarSign, + faStar, } from "@fortawesome/free-solid-svg-icons"; import { - GetUserByUsername, - GetUserByUsernameIsErr, - GetUserByUsernameIsOk, - User, - UserLookupError, + GetUserByUsername, + GetUserByUsernameIsErr, + GetUserByUsernameIsOk, + User, + UserLookupError, } from "@storyteller/components/src/api/user/GetUserByUsername"; import { format } from "date-fns"; import { WebUrl } from "../../../../../common/WebUrl"; -import { container, item, panel } from "../../../../../data/animation"; + import Tippy from "@tippyjs/react"; import "tippy.js/dist/tippy.css"; -import { motion } from "framer-motion"; + import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; import { faCalendarAlt } from "@fortawesome/pro-solid-svg-icons"; import { CommentComponent } from "../../../_common/comments/CommentComponent"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface Props { - sessionWrapper: SessionWrapper; - sessionSubscriptionsWrapper: SessionSubscriptionsWrapper; + sessionWrapper: SessionWrapper; + sessionSubscriptionsWrapper: SessionSubscriptionsWrapper; } // function copyToClipboard(username: string): any { @@ -52,425 +58,474 @@ interface Props { // } function ProfilePage(this: any, props: Props) { - const { username }: { username: string } = useParams(); - PosthogClient.recordPageview(); + const { username }: { username: string } = useParams(); + PosthogClient.recordPageview(); - const { pathname } = useLocation(); - const { url } = useRouteMatch(); + const { pathname } = useLocation(); + const { url } = useRouteMatch(); - const [userData, setUserData] = useState(undefined); - const [notFoundState, setNotFoundState] = useState(false); + const [userData, setUserData] = useState(undefined); + const [notFoundState, setNotFoundState] = useState(false); - const getUser = useCallback(async (username) => { - const response = await GetUserByUsername(username); - if (GetUserByUsernameIsOk(response)) { - setUserData(response); - } else if (GetUserByUsernameIsErr(response)) { - switch (response) { - case UserLookupError.NotFound: - setNotFoundState(true); - break; - } + const getUser = useCallback(async (username) => { + const response = await GetUserByUsername(username); + if (GetUserByUsernameIsOk(response)) { + setUserData(response); + } else if (GetUserByUsernameIsErr(response)) { + switch (response) { + case UserLookupError.NotFound: + setNotFoundState(true); + break; } - }, []); + } + }, []); - useEffect(() => { - getUser(username); - }, [username, getUser]); + useEffect(() => { + getUser(username); + }, [username, getUser]); - const documentTitle = - userData?.display_name === undefined - ? undefined - : `${userData.display_name}`; - usePrefixedDocumentTitle(documentTitle); + const documentTitle = + userData?.display_name === undefined + ? undefined + : `${userData.display_name}`; + usePrefixedDocumentTitle(documentTitle); - if (notFoundState) { - return ( -
-
-

User not found

-
- - Back to main - -
-
-
- ); - } - - if (!userData) { - return
; - } - - let userEmailHash = userData.email_gravatar_hash; - - let editProfileButton = undefined; - - let banUserButton = undefined; - - let upgradeButton = undefined; - - if (props.sessionWrapper.isLoggedIn()) { - if (props.sessionWrapper.userTokenMatches(userData.user_token)) { - if (!props.sessionSubscriptionsWrapper.hasPaidFeatures()) { - const upgradeLinkUrl = WebUrl.pricingPage(); - - upgradeButton = ( - <> - - - Upgrade - - - ); - } - } - } - - if (props.sessionWrapper.canBanUsers()) { - const currentlyBanned = userData.maybe_moderator_fields?.is_banned; - const banLinkUrl = WebUrl.userProfileBanPage(userData.username); - const buttonLabel = currentlyBanned ? "Unban" : "Ban"; - const banButtonCss = currentlyBanned - ? "btn btn-secondary" - : "btn btn-destructive"; - - banUserButton = ( - <> - - - {buttonLabel} + if (notFoundState) { + return ( +
+
+

User not found

+
+ + Back to main - - ); - } - - let profileButtonsMobile = ; - - if (props.sessionWrapper.canEditUserProfile(userData.username)) { - const editLinkUrl = WebUrl.userProfileEditPage(userData.username); - - // Mods shouldn't edit preferences. - const buttonLabel = props.sessionWrapper.userTokenMatches( - userData.user_token - ) - ? "Edit Profile & Preferences" - : "Edit Profile"; - - editProfileButton = ( - <> - - - {buttonLabel} - - - ); - - profileButtonsMobile = ( -
-
- {upgradeButton} - {editProfileButton} - {banUserButton} -
-
- ); - } - - let profileDesc = ( - - No profile description. - - ); - - if (!!userData.profile_rendered_html) { - profileDesc = ( - - ); - } - - let profileRows: Array = []; - let profileJoinDate: Array = []; - - const createdAt = new Date(userData.created_at); - const joinDate = format(createdAt, "LLLL y"); - profileJoinDate.push( -
- -

Joined {joinDate}

+
+
- ); + ); + } - if (userData.website_url !== undefined && userData.website_url !== null) { - let websiteUrl = {userData.website_url}; - if ( - userData.website_url?.startsWith("http://") || - userData.website_url?.startsWith("https://") - ) { - websiteUrl = ( - - - - - - ); - } + if (!userData) { + return
; + } - profileRows.push(
{websiteUrl}
); - } + let userEmailHash = userData.email_gravatar_hash; - if (userData.twitch_username) { - let twitchUrl = `https://twitch.com/${userData.twitch_username}`; - let twitchLink = ( - - - - - - ); + let editProfileButton = undefined; - profileRows.push(
{twitchLink}
); - } + let banUserButton = undefined; - if (userData.twitter_username) { - let twitterUrl = `https://twitter.com/${userData.twitter_username}`; - let twitterLink = ( - - - - - - ); - profileRows.push(
{twitterLink}
); - } + let upgradeButton = undefined; - if (userData.discord_username) { - profileRows.push( - - Discord -
-

{userData.discord_username}

-
- } - interactive - hideOnClick - placement="bottom" - theme="fakeyou" - arrow={false} - > - - - - - ); - } + if (props.sessionWrapper.isLoggedIn()) { + if (props.sessionWrapper.userTokenMatches(userData.user_token)) { + if (!props.sessionSubscriptionsWrapper.hasPaidFeatures()) { + const upgradeLinkUrl = WebUrl.pricingPage(); - if (userData.github_username) { - let githubUrl = `https://github.com/${userData.github_username}`; - let githubLink = ( - - - - - - ); - profileRows.push(
{githubLink}
); - } - - if (userData.cashapp_username) { - // NB: URL includes a dollar sign - let cashAppUrl = `https://cash.me/$${userData.cashapp_username}`; - let cashAppLink = ( - - - - - - ); - profileRows.push(
{cashAppLink}
); - } - - const Badges = () => { - return userData.badges.length ?
    {userData.badges.map((badge) =>
  • {badge.title}
  • )}
:
None yet
- }; - - const Comments = () =>
- -
; - - const tabs = [ - { Component: ProfileTtsInferenceResultsListFc, val: 'ttsresults', txt: 'TTS Results' }, - { Component: ProfileW2lInferenceResultsListFc, val: 'w2lresults', txt: 'Lipsync Results' }, - { Component: ProfileTtsModelListFc, val: 'uploadedtts', txt: 'Uploaded TTS Models' }, - { Component: ProfileW2lTemplateListFc, val: 'uploadedw2l', txt: 'Uploaded Templates' }, - { Component: Badges, val: 'badges', txt: 'Badges' }, - { Component: Comments, val: 'comments', txt: 'Comments' } - ]; - - const txtToUrl = (txt = '') => txt.replaceAll(' ','-').toLowerCase(); - - const tabLinks = tabs.map(({ val, txt },key) => { - let subParam = pathname.split(url + '/')[1] || ''; - let isActive = txtToUrl(txt) === subParam || (!subParam && !key); - - return
  • - - { txt } + upgradeButton = ( + <> + + + Upgrade -
  • ; - }); + + ); + } + } + } - const BaseRoute = ({ baseUrl }: { baseUrl?: string }) => { - return - - - - ; - }; + if (props.sessionWrapper.canBanUsers()) { + const currentlyBanned = userData.maybe_moderator_fields?.is_banned; + const banLinkUrl = WebUrl.userProfileBanPage(userData.username); + const buttonLabel = currentlyBanned ? "Unban" : "Ban"; + const banButtonCss = currentlyBanned + ? "btn btn-secondary" + : "btn btn-destructive"; - const tabPanels = tabs.map(({ Component, txt, val },key) => { - let subRoute = `${url}/${txtToUrl(txt)}` - return !key ? BaseRoute({ baseUrl: subRoute }) : - - - + banUserButton = ( + <> + + + {buttonLabel} + + + ); + } + + let profileButtonsMobile = ; + + if (props.sessionWrapper.canEditUserProfile(userData.username)) { + const editLinkUrl = WebUrl.userProfileEditPage(userData.username); + + // Mods shouldn't edit preferences. + const buttonLabel = props.sessionWrapper.userTokenMatches( + userData.user_token + ) + ? "Edit Profile & Preferences" + : "Edit Profile"; + + editProfileButton = ( + <> + + + {buttonLabel} + + + ); + + profileButtonsMobile = ( +
    +
    + {upgradeButton} + {editProfileButton} + {banUserButton} +
    +
    + ); + } + + let profileDesc = ( +
    + No profile description. +
    + ); + + if (!!userData.profile_rendered_html) { + profileDesc = ( +
    + ); + } + + let profileRows: Array = []; + let profileJoinDate: Array = []; + + const createdAt = new Date(userData.created_at); + const joinDate = format(createdAt, "LLLL y"); + profileJoinDate.push( +
    + +

    Joined {joinDate}

    +
    + ); + + if (userData.website_url !== undefined && userData.website_url !== null) { + let websiteUrl = {userData.website_url}; + if ( + userData.website_url?.startsWith("http://") || + userData.website_url?.startsWith("https://") + ) { + websiteUrl = ( + + + + + + ); + } + + profileRows.push(
    {websiteUrl}
    ); + } + + if (userData.twitch_username) { + let twitchUrl = `https://twitch.com/${userData.twitch_username}`; + let twitchLink = ( + + + + + + ); + + profileRows.push(
    {twitchLink}
    ); + } + + if (userData.twitter_username) { + let twitterUrl = `https://twitter.com/${userData.twitter_username}`; + let twitterLink = ( + + + + + + ); + profileRows.push(
    {twitterLink}
    ); + } + + if (userData.discord_username) { + profileRows.push( + + Discord +
    +

    {userData.discord_username}

    +
    + } + interactive + hideOnClick + placement="bottom" + theme="fakeyou" + arrow={false} + > + + + + + ); + } + + if (userData.github_username) { + let githubUrl = `https://github.com/${userData.github_username}`; + let githubLink = ( + + + + + + ); + profileRows.push(
    {githubLink}
    ); + } + + if (userData.cashapp_username) { + // NB: URL includes a dollar sign + let cashAppUrl = `https://cash.me/$${userData.cashapp_username}`; + let cashAppLink = ( + + + + + + ); + profileRows.push(
    {cashAppLink}
    ); + } + + const Badges = () => { + return userData.badges.length ? ( +
      + {userData.badges.map((badge) => ( +
    • {badge.title}
    • + ))} +
    + ) : ( +
    None yet
    + ); + }; + + const Comments = () => ( +
    + +
    + ); + + const tabs = [ + { + Component: ProfileTtsInferenceResultsListFc, + val: "ttsresults", + txt: "TTS Results", + }, + { + Component: ProfileW2lInferenceResultsListFc, + val: "w2lresults", + txt: "Lipsync Results", + }, + { + Component: ProfileTtsModelListFc, + val: "uploadedtts", + txt: "Uploaded TTS Models", + }, + { + Component: ProfileW2lTemplateListFc, + val: "uploadedw2l", + txt: "Uploaded Templates", + }, + { Component: Badges, val: "badges", txt: "Badges" }, + { Component: Comments, val: "comments", txt: "Comments" }, + ]; + + const txtToUrl = (txt = "") => txt.replaceAll(" ", "-").toLowerCase(); + + const tabLinks = tabs.map(({ val, txt }, key) => { + let subParam = pathname.split(url + "/")[1] || ""; + let isActive = txtToUrl(txt) === subParam || (!subParam && !key); + + return ( +
  • + + {txt} + +
  • + ); + }); + + const BaseRoute = ({ baseUrl }: { baseUrl?: string }) => { + return ( + +
    + +
    - }); + ); + }; - return ( - -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -

    - {userData.display_name} -

    -
    - {banUserButton} - {upgradeButton} - {editProfileButton} -
    -
    -
    {profileJoinDate}
    -
    {profileDesc}
    -
    - {profileRows} -
    -
    -
    -
    + const tabPanels = tabs.map(({ Component, txt, val }, key) => { + let subRoute = `${url}/${txtToUrl(txt)}`; + return !key ? ( + BaseRoute({ baseUrl: subRoute }) + ) : ( + +
    + +
    +
    + ); + }); - {profileButtonsMobile} - -
    -
    - - { tabLinks } - -
    - - { tabPanels } - {} - -
    + return ( +
    +
    +
    +
    +
    +
    -
    - - ); +
    + +
    +
    +
    +
    +

    + {userData.display_name} +

    +
    + {banUserButton} + {upgradeButton} + {editProfileButton} +
    +
    +
    {profileJoinDate}
    +
    {profileDesc}
    +
    + {profileRows} +
    +
    +
    +
    + + {profileButtonsMobile} + +
    +
    +
      + {tabLinks} +
    +
    + + {tabPanels} + {} + +
    +
    +
    +
    + ); } export { ProfilePage }; diff --git a/packages/fakeyou.com/src/v2/view/pages/signup/SignupPage.tsx b/packages/fakeyou.com/src/v2/view/pages/signup/SignupPage.tsx index 5a573e1906..8814ee86b4 100644 --- a/packages/fakeyou.com/src/v2/view/pages/signup/SignupPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/signup/SignupPage.tsx @@ -10,8 +10,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faUser, faEnvelope, faKey } from "@fortawesome/free-solid-svg-icons"; import { Link, useHistory } from "react-router-dom"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; -import { motion } from "framer-motion"; -import { container, panel } from "../../../../data/animation"; + import { Analytics } from "../../../../common/Analytics"; import queryString from "query-string"; import { WebUrl } from "../../../../common/WebUrl"; @@ -71,8 +70,7 @@ function SignupPage(props: Props) { usernameInvalidReason = t("account.SignUpPage.errors.usernameTooShort"); } else if (newUsername.length > 15) { usernameValid = FieldTriState.FALSE; - usernameInvalidReason = t("account.SignUpPage.errors.usernameTooLong") - + usernameInvalidReason = t("account.SignUpPage.errors.usernameTooLong"); } else { usernameValid = FieldTriState.TRUE; } @@ -100,7 +98,6 @@ function SignupPage(props: Props) { } else if (!newEmail.includes("@")) { emailValid = FieldTriState.FALSE; emailInvalidReason = t("account.SignUpPage.errors.emailInvalid"); - } else { emailValid = FieldTriState.TRUE; } @@ -133,8 +130,9 @@ function SignupPage(props: Props) { if (newPassword !== passwordConfirmation) { passwordConfirmationValid = FieldTriState.FALSE; - passwordConfirmationInvalidReason = t("account.SignUpPage.errors.passwordsDoNotMatch"); - + passwordConfirmationInvalidReason = t( + "account.SignUpPage.errors.passwordsDoNotMatch" + ); } else { passwordConfirmationValid = FieldTriState.TRUE; passwordConfirmationInvalidReason = ""; @@ -163,7 +161,9 @@ function SignupPage(props: Props) { if (newPasswordConfirmation.length > 1) { if (newPasswordConfirmation !== password) { passwordConfirmationValid = FieldTriState.FALSE; - passwordConfirmationInvalidReason = t("account.SignUpPage.errors.passwordsDoNotMatch"); + passwordConfirmationInvalidReason = t( + "account.SignUpPage.errors.passwordsDoNotMatch" + ); } else { passwordConfirmationValid = FieldTriState.TRUE; passwordConfirmationInvalidReason = ""; @@ -254,7 +254,7 @@ function SignupPage(props: Props) { }; const afterSignupRedirect = async () => { - const maybeInternalPlanKey = parsedQueryString['sub'] as string | undefined; + const maybeInternalPlanKey = parsedQueryString["sub"] as string | undefined; if (maybeInternalPlanKey !== undefined) { return await BeginStripeCheckoutFlow(maybeInternalPlanKey); @@ -264,7 +264,7 @@ function SignupPage(props: Props) { history.push(redirectUrl); return true; - } + }; usePrefixedDocumentTitle("Create an account"); @@ -346,11 +346,8 @@ function SignupPage(props: Props) { } return ( - - +
    +

    {t("account.SignUpPage.signUpTitle")} @@ -369,7 +366,9 @@ function SignupPage(props: Props) { @@ -387,7 +386,9 @@ function SignupPage(props: Props) { @@ -405,7 +406,9 @@ function SignupPage(props: Props) { @@ -423,7 +426,9 @@ function SignupPage(props: Props) { @@ -451,8 +456,8 @@ function SignupPage(props: Props) {

    - - +
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_edit_categories/TtsEditCategoriesPage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_edit_categories/TtsEditCategoriesPage.tsx index 2aaae5aae3..6e2ff43ecc 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_edit_categories/TtsEditCategoriesPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_edit_categories/TtsEditCategoriesPage.tsx @@ -32,8 +32,7 @@ import { faXmark, } from "@fortawesome/free-solid-svg-icons"; import { useParams, Link } from "react-router-dom"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface Props { @@ -259,25 +258,20 @@ function TtsEditCategoriesPage(props: Props) { } return ( - +
    - - Edit Categories - - - {" "} - TTS Model: {ttsModel.title}{" "} - - +

    Edit Categories

    +

    TTS Model: {ttsModel.title}

    +

    - +

    {errorFlash} - +

    Current categories

    @@ -287,9 +281,9 @@ function TtsEditCategoriesPage(props: Props) {
    - +
    - +

    Add new category

    @@ -307,8 +301,8 @@ function TtsEditCategoriesPage(props: Props) {
    -
    -
    +
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_delete/TtsModelDeletePage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_delete/TtsModelDeletePage.tsx index 40ad4eb35e..57b179c5a0 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_delete/TtsModelDeletePage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_delete/TtsModelDeletePage.tsx @@ -4,8 +4,7 @@ import { WebUrl } from "../../../../../common/WebUrl"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { useParams, Link, useHistory } from "react-router-dom"; import { BackLink } from "../../../_common/BackLink"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface TtsModelViewResponsePayload { @@ -215,19 +214,17 @@ function TtsModelDeletePage(props: Props) { } return ( - +
    - - {h1Title} - - +

    {h1Title}

    +

    - +

    - +
    @@ -273,14 +270,12 @@ function TtsModelDeletePage(props: Props) { - +
    - - {formLabel} - - - - + +
    + + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_edit/TtsModelEditPage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_edit/TtsModelEditPage.tsx index cf83aa6946..eeac2a7ab6 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_edit/TtsModelEditPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_edit/TtsModelEditPage.tsx @@ -35,8 +35,7 @@ import { TEXT_PIPELINE_NAMES, TEXT_PIPELINE_NAMES_FOR_MODERATORS, } from "@storyteller/components/src/constants/TextPipeline"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { faFunction } from "@fortawesome/pro-solid-svg-icons"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -468,19 +467,17 @@ function TtsModelEditPage(props: Props) { } return ( - +
    - - Edit Model - - +

    Edit Model

    +

    - +

    - +
    @@ -627,12 +624,12 @@ function TtsModelEditPage(props: Props) {
    - +
    - +
    -
    - + +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx index bc3e8f60b1..655fa10302 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_list/TtsModelListPage.tsx @@ -7,7 +7,10 @@ import { SessionTtsModelUploadResultList } from "../../../_common/SessionTtsMode import { SessionW2lInferenceResultList } from "../../../_common/SessionW2lInferenceResultsList"; import { SessionW2lTemplateUploadResultList } from "../../../_common/SessionW2lTemplateUploadResultsList"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; -import { FrontendInferenceJobType, InferenceJob } from "@storyteller/components/src/jobs/InferenceJob"; +import { + FrontendInferenceJobType, + InferenceJob, +} from "@storyteller/components/src/jobs/InferenceJob"; import { TtsInferenceJob } from "@storyteller/components/src/jobs/TtsInferenceJobs"; import { TtsModelUploadJob } from "@storyteller/components/src/jobs/TtsModelUploadJobs"; import { W2lInferenceJob } from "@storyteller/components/src/jobs/W2lInferenceJobs"; @@ -44,8 +47,7 @@ import { } from "@fortawesome/free-solid-svg-icons"; import { GenericNotice } from "./notices/GenericNotice"; import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"; -import { motion } from "framer-motion"; -import { container, panel } from "../../../../../data/animation"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { TtsPageHero } from "./TtsPageHero"; import { Analytics } from "../../../../../common/Analytics"; @@ -93,7 +95,10 @@ interface Props { isShowingBootstrapLanguageNotice: boolean; clearBootstrapLanguageNotice: () => void; - enqueueInferenceJob: (jobToken: string, frontendInferenceJobType: FrontendInferenceJobType) => void; + enqueueInferenceJob: ( + jobToken: string, + frontendInferenceJobType: FrontendInferenceJobType + ) => void; inferenceJobs: Array; inferenceJobsByCategory: Map>; @@ -303,11 +308,13 @@ function TtsModelListPage(props: Props) { setMaybeTtsError(undefined); if (response.inference_job_token_type === "generic") { - props.enqueueInferenceJob(response.inference_job_token, FrontendInferenceJobType.TextToSpeech); + props.enqueueInferenceJob( + response.inference_job_token, + FrontendInferenceJobType.TextToSpeech + ); } else { props.enqueueTtsJob(response.inference_job_token); } - } else if (GenerateTtsAudioIsError(response)) { setMaybeTtsError(response.error); } @@ -469,7 +476,8 @@ function TtsModelListPage(props: Props) { } // NB: If the text is too long, don't allow submission - let remainingCharactersButtonDisabled = props.textBuffer.trim().length > + let remainingCharactersButtonDisabled = + props.textBuffer.trim().length > props.sessionSubscriptionsWrapper.ttsMaximumLength(); let noTextInputButtonDisabled = props.textBuffer.trim() === ""; @@ -499,7 +507,7 @@ function TtsModelListPage(props: Props) { } return ( - +
    {bootstrapLanguageNotice} {pleaseFollowNotice} @@ -515,7 +523,7 @@ function TtsModelListPage(props: Props) { sessionSubscriptionsWrapper={props.sessionSubscriptionsWrapper} /> - +
    @@ -615,7 +623,11 @@ function TtsModelListPage(props: Props) {
    */} - +
    - +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_view/TtsModelViewPage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_view/TtsModelViewPage.tsx index 6d4f475362..a9be2331f1 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_view/TtsModelViewPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_model_view/TtsModelViewPage.tsx @@ -48,8 +48,7 @@ import { faBarsStaggered, faLock, } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { TwitterShareButton, @@ -344,7 +343,7 @@ function TtsModelViewPage(props: Props) { if (!!ttsModel?.description_rendered_html) { modelDescription = ( <> - +

    Model Description

    @@ -355,7 +354,7 @@ function TtsModelViewPage(props: Props) { />
    - +
    ); } @@ -416,7 +415,7 @@ function TtsModelViewPage(props: Props) { modelCategoriesSection = ( <> - +

    Model Categories

    @@ -424,7 +423,7 @@ function TtsModelViewPage(props: Props) { {editModelCategoriesButton}
    - +
    ); } @@ -706,12 +705,10 @@ function TtsModelViewPage(props: Props) { //const createdAtRelative = createdAt !== undefined ? formatDistance(createdAt, new Date(), { addSuffix: true }) : undefined; return ( - +
    - - {title} - +

    {title}

    {/* Rate Voice Model Buttons */}
    {ratingButtons} @@ -723,16 +720,16 @@ function TtsModelViewPage(props: Props) { />
    - +
    - +
    {modelDescription}
    {modelCategoriesSection}
    - +

    TTS Model Details

    @@ -781,9 +778,9 @@ function TtsModelViewPage(props: Props) {
    - +
    - +

    Vocoder Details

    @@ -792,18 +789,18 @@ function TtsModelViewPage(props: Props) {
    - +
    - {moderatorRows} +
    {moderatorRows}
    - +
    {editModelButton} {deleteModelButton}
    - +
    - +

    Use Model

    @@ -832,17 +829,15 @@ function TtsModelViewPage(props: Props) {
    - +
    - - {socialSharing} - +
    {socialSharing}
    - +
    - +
    - +

    Comments

    @@ -853,9 +848,9 @@ function TtsModelViewPage(props: Props) { />
    - +
    - +

    Session TTS Results @@ -865,8 +860,8 @@ function TtsModelViewPage(props: Props) { ttsInferenceJobs={props.ttsInferenceJobs} sessionSubscriptionsWrapper={props.sessionSubscriptionsWrapper} /> - - +

    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_delete/TtsResultDeletePage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_delete/TtsResultDeletePage.tsx index e394139419..f5b5fccc48 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_delete/TtsResultDeletePage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_delete/TtsResultDeletePage.tsx @@ -4,8 +4,7 @@ import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapp import { useParams, Link, useHistory } from "react-router-dom"; import { Gravatar } from "@storyteller/components/src/elements/Gravatar"; import { WebUrl } from "../../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface TtsInferenceResultResponsePayload { @@ -187,17 +186,15 @@ function TtsResultDeletePage(props: Props) { : "Delete TTS Result (hides from everyone but mods)"; return ( - +
    - - {h1Title} - - +

    {h1Title}

    +
    < Back to result - +
    - +
    @@ -241,14 +238,12 @@ function TtsResultDeletePage(props: Props) { - +
    - - {formLabel} - - - - +

    {formLabel}

    +
    + + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_edit/TtsResultEditPage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_edit/TtsResultEditPage.tsx index 15808360f7..c691fd5feb 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_edit/TtsResultEditPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_edit/TtsResultEditPage.tsx @@ -5,8 +5,7 @@ import { useParams, Link, useHistory } from "react-router-dom"; import { WebUrl } from "../../../../../common/WebUrl"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; const DEFAULT_VISIBILITY = "public"; @@ -152,17 +151,15 @@ function TtsResultEditPage(props: Props) { ); return ( - +
    - - Edit Result Visibility - - +

    Edit Result Visibility

    +
    < Back to result - +
    - +
    @@ -186,12 +183,12 @@ function TtsResultEditPage(props: Props) {
    - +
    - +
    - -
    + + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_view/TtsResultViewPage.tsx b/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_view/TtsResultViewPage.tsx index 4ecbb758cc..8acbb7384a 100644 --- a/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_view/TtsResultViewPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/tts/tts_result_view/TtsResultViewPage.tsx @@ -24,8 +24,7 @@ import { faEyeSlash, faUser, } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { Analytics } from "../../../../../common/Analytics"; import { TwitterShareButton, @@ -431,12 +430,10 @@ function TtsResultViewPage(props: Props) { ); return ( - +
    - - {headingTitle} - +

    {headingTitle}

    {/* Rate Result Buttons */} {/* Commented out because not ready yet. */} {/*
    @@ -478,16 +475,16 @@ function TtsResultViewPage(props: Props) {
    */} - +

    - +

    - +
    {subtitle}
    @@ -495,7 +492,7 @@ function TtsResultViewPage(props: Props) { {downloadButton}
    - +
    {/* Without wavesurfer, */} - - {socialSharing} - +
    {socialSharing}
    - +

    Spectrogram

    - +
    - +

    Result Details

    @@ -552,9 +547,9 @@ function TtsResultViewPage(props: Props) {
    - +
    - +

    Model Used

    @@ -584,25 +579,25 @@ function TtsResultViewPage(props: Props) {
    - +
    - {moderatorRows} +
    {moderatorRows}
    - +
    {editButton} {deleteButton}
    - +

    - +

    - +
    - - +
    +
    - +

    Comments

    @@ -613,8 +608,8 @@ function TtsResultViewPage(props: Props) { />
    - - +
    + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/upload/UploadTtsModelPage.tsx b/packages/fakeyou.com/src/v2/view/pages/upload/UploadTtsModelPage.tsx index b011a6097a..d26349e343 100644 --- a/packages/fakeyou.com/src/v2/view/pages/upload/UploadTtsModelPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/upload/UploadTtsModelPage.tsx @@ -9,8 +9,7 @@ import { v4 as uuidv4 } from "uuid"; import { BackLink } from "../../_common/BackLink"; import { Link } from "react-router-dom"; import { WebUrl } from "../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface Props { @@ -120,23 +119,21 @@ function UploadTtsModelPage(props: Props) { }; return ( - +
    - - Upload Voice (TTS Model) - - This works just like YouTube! - +

    Upload Voice (TTS Model)

    +

    This works just like YouTube!

    +
    - +
    - +
    Content Creator Rewards! {/*

    You can help FakeYou grow by uploading Tacotron2 models. @@ -149,12 +146,9 @@ function UploadTtsModelPage(props: Props) { featured roles in Discord, queue priority, and more!

    -
    +
    - +

    If you're new to voice cloning, join our{" "} @@ -180,18 +174,15 @@ function UploadTtsModelPage(props: Props) { Please do not upload voices that you didn't train yourself or voices of individuals who wish to not be voice cloned. We'll post a list of banned voices soon.

    */} - +
    - +
    - {/* Model Type */}
    - +
    @@ -242,20 +229,19 @@ function UploadTtsModelPage(props: Props) {

    {downloadUrlInvalidReason}

    -
    - +
    - - +
    + -
    + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/upload/UploadVocoderPage.tsx b/packages/fakeyou.com/src/v2/view/pages/upload/UploadVocoderPage.tsx index 6b5debd149..324dc36e1e 100644 --- a/packages/fakeyou.com/src/v2/view/pages/upload/UploadVocoderPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/upload/UploadVocoderPage.tsx @@ -10,8 +10,7 @@ import { v4 as uuidv4 } from "uuid"; import { BackLink } from "../../_common/BackLink"; import { Link } from "react-router-dom"; import { WebUrl } from "../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { VocoderUploadJob } from "@storyteller/components/src/jobs/VocoderUploadJobs"; import { SessionVocoderUploadResultList } from "../../_common/SessionVocoderUploadResultsList"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -88,26 +87,21 @@ function UploadVocoderPage(props: Props) { }; return ( - +
    - - Upload Vocoder Model - - Make your voice sound better! - +

    Upload Vocoder Model

    +

    Make your voice sound better!

    +
    - +
    - +

    If you're new to voice cloning, join our{" "} @@ -127,9 +121,9 @@ function UploadVocoderPage(props: Props) { Please do not upload voices that you didn't train yourself or voices of individuals who wish to not be voice cloned. We'll post a list of banned voices soon.

    */} - +
    - +
    @@ -172,15 +166,15 @@ function UploadVocoderPage(props: Props) {
    - +
    - - +
    + -
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/upload/UploadVoiceConversionModel.tsx b/packages/fakeyou.com/src/v2/view/pages/upload/UploadVoiceConversionModel.tsx index 83a7c516b8..e3a64de22a 100644 --- a/packages/fakeyou.com/src/v2/view/pages/upload/UploadVoiceConversionModel.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/upload/UploadVoiceConversionModel.tsx @@ -10,8 +10,7 @@ import { v4 as uuidv4 } from "uuid"; import { BackLink } from "../../_common/BackLink"; import { Link } from "react-router-dom"; import { WebUrl } from "../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { VoiceConversionModelUploadJob } from "@storyteller/components/src/jobs/VoiceConversionModelUploadJob"; import { SessionVoiceConversionModelUploadResultList } from "../../_common/SessionVoiceConversionModelUploadResultsList"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -93,28 +92,21 @@ function UploadVoiceConversionModel(props: Props) { }; return ( - +
    - - Upload Voice to Voice Model - - - Transform your voice into another! - - +

    Upload Voice to Voice Model

    +

    Transform your voice into another!

    +
    - +
    - +

    If you're new to voice cloning, join our{" "} @@ -129,18 +121,15 @@ function UploadVoiceConversionModel(props: Props) { able to use it from the main page. Others will be able to use it too, and you'll get credited.

    - +
    - +
    - {/* Model Type */}
    - +
    @@ -195,15 +180,15 @@ function UploadVoiceConversionModel(props: Props) {
    - +
    - - +
    + -
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lPhotoPage.tsx b/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lPhotoPage.tsx index 8e4352872f..fd834b603a 100644 --- a/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lPhotoPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lPhotoPage.tsx @@ -7,8 +7,7 @@ import { v4 as uuidv4 } from "uuid"; import { SessionW2lTemplateUploadResultList } from "../../_common/SessionW2lTemplateUploadResultsList"; import { BackLink } from "../../_common/BackLink"; import { WebUrl } from "../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface W2lTemplateUploadJobResponsePayload { @@ -93,30 +92,28 @@ function UploadW2lPhotoPage(props: Props) { }; return ( - +
    - - Upload Photo (w2l template) - - +

    Upload Photo (w2l template)

    +
    - +
    - +

    The photos you upload can be used for lipsyncing with audio using the Wav2Lip model. In the future, you'll be able to use these for first-order-model and much more!

    - +
    - +
    @@ -158,21 +155,21 @@ function UploadW2lPhotoPage(props: Props) {
    - +
    - +
    {/*
    */} - + -
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lVideoPage.tsx b/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lVideoPage.tsx index 98fa7d3882..e844ac695d 100644 --- a/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lVideoPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/upload/UploadW2lVideoPage.tsx @@ -7,8 +7,7 @@ import { useHistory } from "react-router-dom"; import { v4 as uuidv4 } from "uuid"; import { BackLink } from "../../_common/BackLink"; import { WebUrl } from "../../../../common/WebUrl"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface W2lTemplateUploadJobResponsePayload { @@ -93,29 +92,27 @@ function UploadW2lVideoPage(props: Props) { }; return ( - +
    - - Upload Video (w2l template) - - +

    Upload Video (w2l template)

    +
    - +
    - +

    The videos you upload can be used for lipsyncing with audio using the Wav2Lip model.

    - +
    - +
    @@ -157,21 +154,21 @@ function UploadW2lVideoPage(props: Props) {
    - +
    - +
    {/*
    */} - + -
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/vc/vc_model_list/VcModelListPage.tsx b/packages/fakeyou.com/src/v2/view/pages/vc/vc_model_list/VcModelListPage.tsx index 373690fb4f..295003e972 100644 --- a/packages/fakeyou.com/src/v2/view/pages/vc/vc_model_list/VcModelListPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/vc/vc_model_list/VcModelListPage.tsx @@ -1,9 +1,9 @@ import React, { useState, useEffect, useCallback } from "react"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { motion } from "framer-motion"; + import { v4 as uuidv4 } from "uuid"; -import { container, panel } from "../../../../../data/animation"; + import { SessionSubscriptionsWrapper } from "@storyteller/components/src/session/SessionSubscriptionsWrapper"; import { VcPageHero } from "./components/VcPageHero"; import { @@ -74,8 +74,9 @@ function VcModelListPage(props: Props) { const [autoConvertF0, setAutoConvertF0] = useState(false); - const [maybeF0MethodOverride, setMaybeF0MethodOverride] = - useState(undefined); + const [maybeF0MethodOverride, setMaybeF0MethodOverride] = useState< + EnqueueVoiceConversionFrequencyMethod | undefined + >(undefined); const [semitones, setSemitones] = useState(0); @@ -199,9 +200,7 @@ function VcModelListPage(props: Props) { changeConvertIdempotencyToken(); }; - const handleAutoF0Change = ( - ev: React.FormEvent - ) => { + const handleAutoF0Change = (ev: React.FormEvent) => { const value = (ev.target as HTMLInputElement).checked; setAutoConvertF0(value); changeConvertIdempotencyToken(); @@ -217,13 +216,13 @@ function VcModelListPage(props: Props) { props.maybeSelectedVoiceConversionModel !== undefined; return ( - +
    - {/* + {/*
    @@ -234,9 +233,9 @@ function VcModelListPage(props: Props) { See details
    - */} +
    */} - +
    - -
    @@ -440,14 +442,17 @@ function VcModelListPage(props: Props) { />
    - -
    @@ -508,8 +513,8 @@ function VcModelListPage(props: Props) { {/*
    */} - - +
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_delete/W2lResultDeletePage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_delete/W2lResultDeletePage.tsx index 32b5c2ccdb..63e7a2d9cf 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_delete/W2lResultDeletePage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_delete/W2lResultDeletePage.tsx @@ -8,8 +8,7 @@ import { GetW2lResultIsOk, W2lResult, } from "@storyteller/components/src/api/w2l/GetW2lResult"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface Props { @@ -106,17 +105,15 @@ function W2lResultDeletePage(props: Props) { const durationSeconds = (w2lInferenceResult?.duration_millis || 0) / 1000; return ( - +
    - - {h1Title} - - +

    {h1Title}

    +
    < Back to result - +
    - +
    @@ -148,14 +145,12 @@ function W2lResultDeletePage(props: Props) { - +
    - - {formLabel} - - - - +

    {formLabel}

    +
    + + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_edit/W2lResultEditPage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_edit/W2lResultEditPage.tsx index c751ae20ad..41df4deb05 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_edit/W2lResultEditPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_edit/W2lResultEditPage.tsx @@ -5,8 +5,7 @@ import { useParams, Link, useHistory } from "react-router-dom"; import { WebUrl } from "../../../../../common/WebUrl"; import { VisibleIconFc } from "../../../_icons/VisibleIcon"; import { HiddenIconFc } from "../../../_icons/HiddenIcon"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; const DEFAULT_VISIBILITY = "public"; @@ -148,17 +147,15 @@ function W2lResultEditPage(props: Props) { visibility === "public" ? : ; return ( - +
    - - Edit Result Visibility - - +

    Edit Result Visibility

    +
    < Back to result - +
    - +
    @@ -183,11 +180,11 @@ function W2lResultEditPage(props: Props) {
    - +
    - - - +
    + +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_view/W2lResultViewPage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_view/W2lResultViewPage.tsx index 97761141b1..2e42db0eb0 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_view/W2lResultViewPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_result_view/W2lResultViewPage.tsx @@ -17,8 +17,7 @@ import { import { MetaTags } from "../../../../../common/MetaTags"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faDownload, faEdit, faTrash } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; import { CommentComponent } from "../../../_common/comments/CommentComponent"; import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; @@ -264,24 +263,19 @@ function W2lResultViewPage(props: Props) { ); } return ( - +
    - - Lipsync Result - +

    Lipsync Result

    - +
    - +
    - + - +

    Result Details

    @@ -315,9 +309,9 @@ function W2lResultViewPage(props: Props) {
    - +
    - +

    Template Details

    @@ -344,21 +338,21 @@ function W2lResultViewPage(props: Props) {
    - +
    - {moderatorRows} +
    {moderatorRows}
    - +
    {editButton} {deleteButton}
    - +
    - - +
    +
    - +

    Comments

    @@ -369,8 +363,8 @@ function W2lResultViewPage(props: Props) { />
    - - +
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_approve/W2lTemplateApprovePage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_approve/W2lTemplateApprovePage.tsx index dda63ef6e5..e9c80ce808 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_approve/W2lTemplateApprovePage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_approve/W2lTemplateApprovePage.tsx @@ -10,8 +10,7 @@ import { } from "@storyteller/components/src/api/w2l/GetW2lTemplate"; import { GetW2lTemplateUseCount } from "@storyteller/components/src/api/w2l/GetW2lTemplateUseCount"; import { BackLink } from "../../../_common/BackLink"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; const DEFAULT_APPROVED_STATE = true; @@ -121,19 +120,17 @@ function W2lTemplateApprovePage(props: Props) { } return ( - +
    - - {h1Title} - +

    {h1Title}

    - +
    - +
    - +
    @@ -166,9 +163,9 @@ function W2lTemplateApprovePage(props: Props) {
    - +
    - +
    - +
    - - - +
    + +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_delete/W2lTemplateDeletePage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_delete/W2lTemplateDeletePage.tsx index eb62943b4a..6d33cca9a9 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_delete/W2lTemplateDeletePage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_delete/W2lTemplateDeletePage.tsx @@ -10,8 +10,7 @@ import { } from "@storyteller/components/src/api/w2l/GetW2lTemplate"; import { GetW2lTemplateUseCount } from "@storyteller/components/src/api/w2l/GetW2lTemplateUseCount"; import { BackLink } from "../../../_common/BackLink"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; interface Props { @@ -172,19 +171,17 @@ function W2lTemplateDeletePage(props: Props) { } return ( - +
    - - {h1Title} - +

    {h1Title}

    - +
    - +
    - +
    @@ -222,14 +219,14 @@ function W2lTemplateDeletePage(props: Props) { - +
    - - +
    +

    {formLabel}

    - - - +
    + + ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_edit/W2lTemplateEditPage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_edit/W2lTemplateEditPage.tsx index 2db7695766..680d253c18 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_edit/W2lTemplateEditPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_edit/W2lTemplateEditPage.tsx @@ -11,8 +11,7 @@ import { W2lTemplate, } from "@storyteller/components/src/api/w2l/GetW2lTemplate"; import { BackLink } from "../../../_common/BackLink"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient"; const DEFAULT_VISIBILITY = "public"; @@ -121,7 +120,7 @@ function W2lTemplateEditPage(props: Props) { visibility === "public" ? : ; return ( - +

    Edit Template

    @@ -131,7 +130,7 @@ function W2lTemplateEditPage(props: Props) {
    - +
    @@ -187,12 +186,12 @@ function W2lTemplateEditPage(props: Props) {
    - +
    - +
    -
    - + +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_list/W2lTemplateListPage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_list/W2lTemplateListPage.tsx index bddbce80cc..981dd2a4b5 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_list/W2lTemplateListPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_list/W2lTemplateListPage.tsx @@ -3,19 +3,13 @@ import { ApiConfig } from "@storyteller/components"; import { SessionWrapper } from "@storyteller/components/src/session/SessionWrapper"; import { Link } from "react-router-dom"; import { BucketConfig } from "@storyteller/components/src/api/BucketConfig"; -import { - distance, - duration, - container, - item, - panel, -} from "../../../../../data/animation"; +import { distance, duration } from "../../../../../data/animation"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faChevronLeft, faChevronRight, } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; + import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; import { PageHeader } from "../../../_common/PageHeader"; import { faVideo } from "@fortawesome/pro-solid-svg-icons"; @@ -206,7 +200,7 @@ function W2lTemplateListPage(props: Props) { const titleIcon = ; return ( - +
    - +
    - +
    - +
    @@ -244,9 +238,9 @@ function W2lTemplateListPage(props: Props) {
    - +
    - +
    - +
    - +

    This feature is based on Wav2Lip by by Prajwal, K R and Mukhopadhyay, Rudrabha and Namboodiri, Vinay P. and Jawahar, C.V.

    - - +
    +
    ); } diff --git a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_view/W2lTemplateViewPage.tsx b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_view/W2lTemplateViewPage.tsx index 492ef3f94c..bbec23cbfd 100644 --- a/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_view/W2lTemplateViewPage.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/w2l/w2l_template_view/W2lTemplateViewPage.tsx @@ -23,8 +23,7 @@ import { GetW2lTemplateUseCount } from "@storyteller/components/src/api/w2l/GetW import { BackLink } from "../../../_common/BackLink"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faEdit, faTrash } from "@fortawesome/free-solid-svg-icons"; -import { motion } from "framer-motion"; -import { container, item, panel } from "../../../../../data/animation"; + import { ThirdPartyLinks } from "@storyteller/components/src/constants/ThirdPartyLinks"; import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle"; import { CommentComponent } from "../../../_common/comments/CommentComponent"; @@ -228,7 +227,7 @@ function W2lTemplateViewPage(props: Props) { ) { moderatorRows = ( <> - +

    Moderator Details

    @@ -274,7 +273,7 @@ function W2lTemplateViewPage(props: Props) {
    - +
    ); } @@ -384,7 +383,7 @@ function W2lTemplateViewPage(props: Props) { if (!!w2lTemplate?.description_rendered_html) { templateDescription = ( <> - +

    Model Description

    @@ -396,7 +395,7 @@ function W2lTemplateViewPage(props: Props) { />
    - +
    ); } @@ -413,18 +412,16 @@ function W2lTemplateViewPage(props: Props) { ); return ( - +
    - - Video Lip Sync Template - - Template: {w2lTemplate?.title} - +

    Video Lip Sync Template

    +

    Template: {w2lTemplate?.title}

    +
    - +
    - +

    Upload Audio

    @@ -460,11 +457,11 @@ function W2lTemplateViewPage(props: Props) {
    -
    + - {templateDescription} +
    {templateDescription}
    - +

    Template Details

    @@ -494,9 +491,9 @@ function W2lTemplateViewPage(props: Props) {
    - +
    - +

    Media Details

    @@ -528,25 +525,25 @@ function W2lTemplateViewPage(props: Props) {
    - +
    - {moderatorRows} +
    {moderatorRows}
    - +
    {editButton} {approveButton} {deleteButton}
    - +
    - +
    - +
    - +

    Comments

    @@ -557,12 +554,12 @@ function W2lTemplateViewPage(props: Props) { />
    - +
    -
    +
    ); }