diff --git a/packages/fakeyou/src/data/animation.ts b/packages/fakeyou/src/data/animation.ts index 3c4f0f7b39..2e86fc9b2a 100644 --- a/packages/fakeyou/src/data/animation.ts +++ b/packages/fakeyou/src/data/animation.ts @@ -45,3 +45,12 @@ export const panel = { }, hidden: { opacity: 0, y: 50 }, }; + +export const sessionItem = { + visible: { + opacity: 1, + x: 0, + transition: { duration: 0.75, ease: [0.1, 0.8, 0.44, 1] }, + }, + hidden: { opacity: 0, x: 50 }, +}; diff --git a/packages/fakeyou/src/v2/view/_common/SessionTtsInferenceResultsListFc.tsx b/packages/fakeyou/src/v2/view/_common/SessionTtsInferenceResultsListFc.tsx index f8413866db..012c61a6a5 100644 --- a/packages/fakeyou/src/v2/view/_common/SessionTtsInferenceResultsListFc.tsx +++ b/packages/fakeyou/src/v2/view/_common/SessionTtsInferenceResultsListFc.tsx @@ -9,8 +9,8 @@ import { faList, faMicrophone, } from "@fortawesome/free-solid-svg-icons"; -import { distance, duration } from "../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, sessionItem } from "../../../data/animation"; interface Props { ttsInferenceJobs: Array; @@ -58,13 +58,11 @@ function SessionTtsInferenceResultListFc(props: Props) { results.push(
- -
- -
{stateDescription}
-
-
-
+
+ + {stateDescription} + +
); @@ -79,31 +77,32 @@ function SessionTtsInferenceResultListFc(props: Props) {

{job.title}

*/} - -
-
-
-

- - {job.title} -

-

{job.rawInferenceText}

-
- - - -
- - - Permalink & download - -
+
+ +
+

+ + {job.title} +

+

{job.rawInferenceText}

-
- + + + +
+ + + Permalink & download + +
+ +
); } @@ -116,10 +115,10 @@ function SessionTtsInferenceResultListFc(props: Props) { let title = ; if (results.length !== 0) { title = ( -

+ Session TTS Results -

+ ); } @@ -127,7 +126,7 @@ function SessionTtsInferenceResultListFc(props: Props) { results.reverse(); return ( -
+
{title} @@ -141,7 +140,7 @@ function SessionTtsInferenceResultListFc(props: Props) {
{results}
-
+ ); } diff --git a/packages/fakeyou/src/v2/view/_common/SessionTtsModelUploadResultsListFc.tsx b/packages/fakeyou/src/v2/view/_common/SessionTtsModelUploadResultsListFc.tsx index eb8ffb87dd..628eb9819f 100644 --- a/packages/fakeyou/src/v2/view/_common/SessionTtsModelUploadResultsListFc.tsx +++ b/packages/fakeyou/src/v2/view/_common/SessionTtsModelUploadResultsListFc.tsx @@ -2,8 +2,8 @@ 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 { distance, duration } from "../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, sessionItem, item } from "../../../data/animation"; interface Props { modelUploadJobs: Array; @@ -45,9 +45,7 @@ function SessionTtsModelUploadResultListFc(props: Props) { results.push(
- -
{stateDescription}
-
+
{stateDescription}
); } else { @@ -55,12 +53,15 @@ function SessionTtsModelUploadResultListFc(props: Props) { results.push(
-
+ Complete! See & use TTS model -
+
); } @@ -69,21 +70,19 @@ function SessionTtsModelUploadResultListFc(props: Props) { let title = ; if (results.length !== 0) { title = ( -

+ TTS Model Upload Status -

+ ); } return ( -
- -
-
{title}
-
{results}
-
-
-
+ +
+
{title}
+
{results}
+
+
); } diff --git a/packages/fakeyou/src/v2/view/_common/SessionW2lInferenceResultsListFc.tsx b/packages/fakeyou/src/v2/view/_common/SessionW2lInferenceResultsListFc.tsx index a237cebd1e..65b5b2aea5 100644 --- a/packages/fakeyou/src/v2/view/_common/SessionW2lInferenceResultsListFc.tsx +++ b/packages/fakeyou/src/v2/view/_common/SessionW2lInferenceResultsListFc.tsx @@ -4,8 +4,8 @@ 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 { distance, duration } from "../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, sessionItem } from "../../../data/animation"; interface Props { w2lInferenceJobs: Array; @@ -47,9 +47,9 @@ function SessionW2lInferenceResultListFc(props: Props) { results.push(
- -
{stateDescription}
-
+ + {stateDescription} +
); } else { @@ -57,12 +57,15 @@ function SessionW2lInferenceResultListFc(props: Props) { results.push(
-
+ Complete!{" "} Permalink & download -
+
); } @@ -71,22 +74,20 @@ function SessionW2lInferenceResultListFc(props: Props) { let title = ; if (results.length !== 0) { title = ( -

+ Session W2L Results -

+ ); } return ( -
- -
-
{title}
-
{results}
-
-
-
+ +
+
{title}
+
{results}
+
+
); } diff --git a/packages/fakeyou/src/v2/view/_common/SessionW2lTemplateUploadResultsListFc.tsx b/packages/fakeyou/src/v2/view/_common/SessionW2lTemplateUploadResultsListFc.tsx index 43139ed363..4d70b62474 100644 --- a/packages/fakeyou/src/v2/view/_common/SessionW2lTemplateUploadResultsListFc.tsx +++ b/packages/fakeyou/src/v2/view/_common/SessionW2lTemplateUploadResultsListFc.tsx @@ -2,8 +2,8 @@ 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 { distance, duration } from "../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, sessionItem } from "../../../data/animation"; interface Props { w2lTemplateUploadJobs: Array; @@ -47,9 +47,7 @@ function SessionW2lTemplateUploadResultListFc(props: Props) { results.push(
- -
{stateDescription}
-
+
{stateDescription}
); } else { @@ -57,12 +55,15 @@ function SessionW2lTemplateUploadResultListFc(props: Props) { results.push(
-
+ Complete! See & use template -
+
); } @@ -71,21 +72,19 @@ function SessionW2lTemplateUploadResultListFc(props: Props) { let title = ; if (results.length !== 0) { title = ( -

+ W2L Template Upload Status -

+ ); } return ( -
- -
-
{title}
-
{results}
-
-
-
+ +
+
{title}
+
{results}
+
+
); } diff --git a/packages/fakeyou/src/v2/view/category/CreateCategoryPage.tsx b/packages/fakeyou/src/v2/view/category/CreateCategoryPage.tsx index 34ebbe3958..cc6731790f 100644 --- a/packages/fakeyou/src/v2/view/category/CreateCategoryPage.tsx +++ b/packages/fakeyou/src/v2/view/category/CreateCategoryPage.tsx @@ -10,9 +10,8 @@ import { } from "../../api/category/CreateCategory"; import { BackLink } from "../_common/BackLink"; import { FrontendUrlConfig } from "../../../common/FrontendUrlConfig"; -import { distance, duration, delay, delay2 } from "../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../data/animation"; const DEFAULT_CAN_DIRECTLY_HAVE_MODELS = true; const DEFAULT_CAN_HAVE_SUBCATEGORIES = false; @@ -194,95 +193,79 @@ function CreateCategoryPage(props: Props) { if (props.sessionWrapper.canEditCategories()) { moderateCategoriesLink = ( <> - -
- - Moderate categories - -
-
+ + + Moderate categories + + ); } return ( -
- -
-

{categoryActionName} Category

-
- -
-
-
+ +
+ + {categoryActionName} Category + + + + +
{errorFlash} - -
-
-
-
-
- -
- -
+ +
+
+
+
+ +
+
- -
- - -
- -
-
- - {additionalModFields}
+ +
+ + +
+ +
+
+ + {additionalModFields}
+
-
- -
- - + + + +
{moderateCategoriesLink} -
+ ); } diff --git a/packages/fakeyou/src/v2/view/leaderboard/LeaderboardFc.tsx b/packages/fakeyou/src/v2/view/leaderboard/LeaderboardFc.tsx index 1f80fe8e45..98d7212d21 100644 --- a/packages/fakeyou/src/v2/view/leaderboard/LeaderboardFc.tsx +++ b/packages/fakeyou/src/v2/view/leaderboard/LeaderboardFc.tsx @@ -12,10 +12,9 @@ import { LeaderboardLookupError, } from "../../api/misc/GetLeaderboard"; import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"; -import { distance, delay, duration } from "../../../data/animation"; import { USE_REFRESH } from "../../../Refresh"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../data/animation"; interface Props { sessionWrapper: SessionWrapper; @@ -144,50 +143,44 @@ function LeaderboardFc(props: Props) { } return ( -
+
- -
-

Leaderboard

-

Our most frequent contributors!

-

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

-
-
+
+ + Leaderboard + + + Our most frequent contributors! + + + Want to be on the leaderboard?{" "} + Join our Discord and learn more! + +
- -
-
-

TTS Models Uploaded

-
- - {ttsRows} -
-
+ +
+

TTS Models Uploaded

+
+ + {ttsRows} +
+
-
-
-

W2L Templates Uploaded

-
- - {w2lRows} -
-
+ +
+

W2L Templates Uploaded

+
+ + {w2lRows} +
- -
+ + ); } diff --git a/packages/fakeyou/src/v2/view/profile/profile_ban/ProfileBanFc.tsx b/packages/fakeyou/src/v2/view/profile/profile_ban/ProfileBanFc.tsx index ee611ebe1a..951d24ab8f 100644 --- a/packages/fakeyou/src/v2/view/profile/profile_ban/ProfileBanFc.tsx +++ b/packages/fakeyou/src/v2/view/profile/profile_ban/ProfileBanFc.tsx @@ -9,9 +9,8 @@ import { User, } from "../../../api/user/GetUserByUsername"; import { BackLink } from "../../_common/BackLink"; -import { distance, duration, delay, delay2 } from "../../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; interface Props { sessionWrapper: SessionWrapper; @@ -110,86 +109,74 @@ function ProfileBanFc(props: Props) { let isDisabled = userData === undefined; return ( -
- -
-

Profile & Preferences

-
- -
-
-
+ +
+ + Profile & Preferences + + + + +
-
+
- -
-
-

Ban/Unban User

-
-
-
- -
- -
+
+
+

Ban/Unban User

+
+
+
+ +
+
- -
- -
- -
-
- - {/*

{invalidReason}

*/}
+ +
+ +
+ +
+
+ + {/*

{invalidReason}

*/}
- +
- -
- -
-
+ + +
- +
- -
-

Notes on banned users:

-
    -
  • -
  • -
  • -
-
-
-
+ +

Notes on banned users:

+
    +
  • +
  • +
  • +
+
+ ); } diff --git a/packages/fakeyou/src/v2/view/profile/profile_edit/ProfileEditFc.tsx b/packages/fakeyou/src/v2/view/profile/profile_edit/ProfileEditFc.tsx index eb2e5d67f5..b50ae92281 100644 --- a/packages/fakeyou/src/v2/view/profile/profile_edit/ProfileEditFc.tsx +++ b/packages/fakeyou/src/v2/view/profile/profile_edit/ProfileEditFc.tsx @@ -19,8 +19,8 @@ import { faGlobe, } from "@fortawesome/free-solid-svg-icons"; import { BackLink } from "../../_common/BackLink"; -import { distance, duration, delay, delay2 } from "../../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; const DEFAULT_VISIBILITY = "public"; @@ -234,123 +234,116 @@ function ProfileEditFc(props: Props) { ); return ( -
- -
-

Profile & Preferences

-
- -
-
-
+ +
+ + Profile & Preferences + + + + +
-
+
- -
-
-

Preferences

-
-
-

Control how the site functions.

-
- -
- -
+
+
+

Preferences

+
+
+

Control how the site functions.

+
+ +
+
+
-
- -
- -
+
+ +
+
+
-
-
-

Profile Picture

-
-
- -
-

{userData.username}

-

@{userData.username}

-
+ +
+

Profile Picture

+
+
+ +
+

{userData.username}

+

@{userData.username}

-

- You can set your profile picture on{" "} - gravatar.com. Use the - same email address you did to sign up for FakeYou. (In the - future, we'll support image uploads.) -

+

+ You can set your profile picture on{" "} + gravatar.com. Use the same + email address you did to sign up for FakeYou. (In the future, + we'll support image uploads.) +

+
-
-
-

Profile Details

-
-
-
- -
- +
+ + + +
+
+ -
-
-

Use Model

-
-
- -
- - - -
-
-
-
-
- -
- -
- + + + -
+ ); } diff --git a/packages/fakeyou/src/v2/view/tts/tts_result_delete/TtsResultDeletePage.tsx b/packages/fakeyou/src/v2/view/tts/tts_result_delete/TtsResultDeletePage.tsx index c14365be0b..d3e8bb1ba4 100644 --- a/packages/fakeyou/src/v2/view/tts/tts_result_delete/TtsResultDeletePage.tsx +++ b/packages/fakeyou/src/v2/view/tts/tts_result_delete/TtsResultDeletePage.tsx @@ -4,9 +4,8 @@ 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 { FrontendUrlConfig } from "../../../../common/FrontendUrlConfig"; -import { distance, delay, delay2, duration } from "../../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; interface TtsInferenceResultResponsePayload { success: boolean; @@ -188,18 +187,18 @@ function TtsResultDeletePage(props: Props) { : "Delete TTS Result (hides from everyone but mods)"; return ( -
- -
-

{h1Title}

-
- < Back to result -
-
-
+ +
+ + {h1Title} + + + < Back to result + +
-
- + +
@@ -240,24 +239,16 @@ function TtsResultDeletePage(props: Props) {
- -
+
-
- -
- -

{formLabel}

-
-
-
-
+ + + + {formLabel} + + + + ); } diff --git a/packages/fakeyou/src/v2/view/tts/tts_result_edit/TtsResultEditPage.tsx b/packages/fakeyou/src/v2/view/tts/tts_result_edit/TtsResultEditPage.tsx index ce75d63bd4..f04c594ade 100644 --- a/packages/fakeyou/src/v2/view/tts/tts_result_edit/TtsResultEditPage.tsx +++ b/packages/fakeyou/src/v2/view/tts/tts_result_edit/TtsResultEditPage.tsx @@ -5,9 +5,8 @@ import { useParams, Link, useHistory } from "react-router-dom"; import { FrontendUrlConfig } from "../../../../common/FrontendUrlConfig"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons"; -import { distance, delay, delay2, duration } from "../../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; const DEFAULT_VISIBILITY = "public"; @@ -151,56 +150,46 @@ function TtsResultEditPage(props: Props) { ); return ( -
- -
-

Edit Result Visibility

-
- < Back to result -
-
-
+ +
+ + Edit Result Visibility + + + < Back to result + +
-
+
- -
-
- -
- -
+
+
+ +
+
- -
- -
-
-
+
+ + +
- -
+ + ); } diff --git a/packages/fakeyou/src/v2/view/tts/tts_result_view/TtsResultViewPage.tsx b/packages/fakeyou/src/v2/view/tts/tts_result_view/TtsResultViewPage.tsx index 59eda85008..40e1b733b0 100644 --- a/packages/fakeyou/src/v2/view/tts/tts_result_view/TtsResultViewPage.tsx +++ b/packages/fakeyou/src/v2/view/tts/tts_result_view/TtsResultViewPage.tsx @@ -23,9 +23,8 @@ import { faEye, faEyeSlash, } from "@fortawesome/free-solid-svg-icons"; -import { distance, delay, duration } from "../../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; interface Props { sessionWrapper: SessionWrapper; @@ -125,64 +124,56 @@ function TtsResultViewPage(props: Props) { ) { moderatorRows = ( <> - -
-
-

Moderator Details

-
- - - - - - - - - - - - - - - - - - - - - - - -
Model creator is banned - {ttsInferenceResult?.maybe_moderator_fields - ?.model_creator_is_banned - ? "banned" - : "good standing"} -
Result creator is banned (if user) - {ttsInferenceResult?.maybe_moderator_fields - ?.result_creator_is_banned_if_user - ? "banned" - : "good standing"} -
Result creator IP address - {ttsInferenceResult?.maybe_moderator_fields - ?.result_creator_ip_address || "server error"} -
Mod deleted at (UTC) - {ttsInferenceResult?.maybe_moderator_fields - ?.mod_deleted_at || "not deleted"} -
Result creator deleted at (UTC) - {ttsInferenceResult?.maybe_moderator_fields - ?.result_creator_deleted_at || "not deleted"} -
-
+
+
+

Moderator Details

+
+ + + + + + + + + + + + + + + + + + + + + + + +
Model creator is banned + {ttsInferenceResult?.maybe_moderator_fields + ?.model_creator_is_banned + ? "banned" + : "good standing"} +
Result creator is banned (if user) + {ttsInferenceResult?.maybe_moderator_fields + ?.result_creator_is_banned_if_user + ? "banned" + : "good standing"} +
Result creator IP address + {ttsInferenceResult?.maybe_moderator_fields + ?.result_creator_ip_address || "server error"} +
Mod deleted at (UTC) + {ttsInferenceResult?.maybe_moderator_fields + ?.mod_deleted_at || "not deleted"} +
Result creator deleted at (UTC) + {ttsInferenceResult?.maybe_moderator_fields + ?.result_creator_deleted_at || "not deleted"} +
- +
); } @@ -297,42 +288,36 @@ function TtsResultViewPage(props: Props) { } return ( -
- -
-
-

- {headingTitle} -

+ +
+
+ + {headingTitle} + +
+
+ + +
+ {subtitle} +
- +
- -
-
- {subtitle} - -
-
- - {/* Without wavesurfer, + {/* Without wavesurfer, */} -
-
-

Spectrogram

- + +
+

Spectrogram

+ +
+
+ + +
+

Result Details

+
+ + + + + + + + + + + + + + + + + + + +
Original text + {ttsInferenceResult.raw_inference_text} +
Audio creator{creatorDetails}
Audio duration{durationSeconds} seconds
Visibility{resultVisibility}
+
-
-
-

Result Details

-
- - - - - - - - - - - - - - - - - - - -
Original text - {ttsInferenceResult.raw_inference_text} -
Audio creator{creatorDetails}
Audio duration{durationSeconds} seconds
Visibility{resultVisibility}
-
+ +
+

Model Used

+
+ + + + + + + + + + + + + + + + + + + + {debugRows} + +
Model name + {modelName} +
Model creator{modelCreatorDetails}
Vocoder used{vocoderUsed}
Worker{ttsInferenceResult.generated_by_worker}
+
-
-
-

Model Used

-
- - - - - - - - - - - - - - - - - - + {moderatorRows} - {debugRows} - - -
Model name - {modelName} -
Model creator{modelCreatorDetails}
Vocoder used{vocoderUsed}
Worker{ttsInferenceResult.generated_by_worker}
-
-
+ +
+ {editButton} + {deleteButton}
- - -
{moderatorRows}
- - -
-
- {editButton} - {deleteButton} -
-

- -

-
-
-
+ + + + + ); } diff --git a/packages/fakeyou/src/v2/view/upload/UploadTtsModelFc.tsx b/packages/fakeyou/src/v2/view/upload/UploadTtsModelFc.tsx index ca183f1be2..081d6f15b4 100644 --- a/packages/fakeyou/src/v2/view/upload/UploadTtsModelFc.tsx +++ b/packages/fakeyou/src/v2/view/upload/UploadTtsModelFc.tsx @@ -9,9 +9,8 @@ import { v4 as uuidv4 } from "uuid"; import { BackLink } from "../_common/BackLink"; import { Link } from "react-router-dom"; import { FrontendUrlConfig } from "../../../common/FrontendUrlConfig"; -import { distance, delay, duration } from "../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../data/animation"; interface Props { sessionWrapper: SessionWrapper; @@ -111,128 +110,125 @@ function UploadTtsModelFc(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. + +

+ Content Creator Rewards! + {/*

You can help FakeYou grow by uploading Tacotron2 models. The person that uploads the most models will get $100, the person that uploads the most popular model will get $100, and a number of other lucky winners will be chosen at random to recieve cash prizes. Uploaders will also get queue priority!

*/} -
- As you upload and help us grow, you'll earn unique perks such as - featured roles in Discord, queue priority, and more! -
+
+ As you upload and help us grow, you'll earn unique perks such as + featured roles in Discord, queue priority, and more!
- + - -
-

- If you're new to voice cloning, join our{" "} - - - {" "} - to get started. We have a friendly community that can help you start - creating your own voices of your favorite characters. -

+ +

+ If you're new to voice cloning, join our{" "} + + + {" "} + to get started. We have a friendly community that can help you start + creating your own voices of your favorite characters. +

- {/* TODO TEMP (2022-03-08)

+ {/* TODO TEMP (2022-03-08)

FakeYou currently supports Tacotron 2, GlowTTS, and a custom synthesizer architecture that we intend to open source. We'll soon add TalkNet, custom vocoder uploads, and more model architectures.

*/} -

- Once your voice is successfully uploaded, you'll be able to start - using it and sharing it with others. You'll also be able to edit the - title, tags, and vocoder used, so don't worry if you typo something. -

+

+ Once your voice is successfully uploaded, you'll be able to start + using it and sharing it with others. You'll also be able to edit the + title, tags, and vocoder used, so don't worry if you typo something. +

- {/* TODO TEMP (2022-03-08)

+ {/* TODO TEMP (2022-03-08)

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.

*/} -
-
+ -
- -
-
-
-
- -
- -
-

{titleInvalidReason}

-
- - {/* - https://drive.google.com/file/d/{TOKEN}/view?usp=sharing - */} -
- -
- -
-

{downloadUrlInvalidReason}

+ +
+
+
+
+ +
+
+

{titleInvalidReason}

- {/*
+ {/* + https://drive.google.com/file/d/{TOKEN}/view?usp=sharing + */} +
+ +
+ +
+

{downloadUrlInvalidReason}

+
+
+ + {/*
*/} -
+
-
- -
- - + + + +
-
+ ); } diff --git a/packages/fakeyou/src/v2/view/upload/UploadW2lPhotoFc.tsx b/packages/fakeyou/src/v2/view/upload/UploadW2lPhotoFc.tsx index 092dad2c14..1dad169f11 100644 --- a/packages/fakeyou/src/v2/view/upload/UploadW2lPhotoFc.tsx +++ b/packages/fakeyou/src/v2/view/upload/UploadW2lPhotoFc.tsx @@ -7,8 +7,8 @@ import { v4 as uuidv4 } from "uuid"; import { SessionW2lTemplateUploadResultListFc } from "../_common/SessionW2lTemplateUploadResultsListFc"; import { BackLink } from "../_common/BackLink"; import { FrontendUrlConfig } from "../../../common/FrontendUrlConfig"; -import { distance, delay, duration } from "../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../data/animation"; interface W2lTemplateUploadJobResponsePayload { success: boolean; @@ -91,91 +91,86 @@ function UploadW2lPhotoFc(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! -

-
-
+ +

+ 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! +

+
-
- -
-
-
-
- -
- -
-

{titleInvalidReason}

+ +
+
+
+
+ +
+
+

{titleInvalidReason}

+
- {/* + {/* https://drive.google.com/file/d/{TOKEN}/view?usp=sharing */} -
- -
- -
-

{downloadUrlInvalidReason}

+
+ +
+
+

{downloadUrlInvalidReason}

+
-
- -
+ + + - {/*
+ {/*
*/} - - + -
+ ); } diff --git a/packages/fakeyou/src/v2/view/upload/UploadW2lVideoFc.tsx b/packages/fakeyou/src/v2/view/upload/UploadW2lVideoFc.tsx index 309dc140a2..38b27e8008 100644 --- a/packages/fakeyou/src/v2/view/upload/UploadW2lVideoFc.tsx +++ b/packages/fakeyou/src/v2/view/upload/UploadW2lVideoFc.tsx @@ -7,8 +7,8 @@ import { useHistory } from "react-router-dom"; import { v4 as uuidv4 } from "uuid"; import { BackLink } from "../_common/BackLink"; import { FrontendUrlConfig } from "../../../common/FrontendUrlConfig"; -import { distance, delay, duration } from "../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../data/animation"; interface W2lTemplateUploadJobResponsePayload { success: boolean; @@ -91,89 +91,85 @@ function UploadW2lVideoFc(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. -

-
-
+ +

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

+
-
- -
-
-
-
- -
- -
-

{titleInvalidReason}

+ +
+
+
+
+ +
+
+

{titleInvalidReason}

+
- {/* + {/* https://drive.google.com/file/d/{TOKEN}/view?usp=sharing */} -
- -
- -
-

{downloadUrlInvalidReason}

+
+ +
+
+

{downloadUrlInvalidReason}

+
-
- -
+ + + - {/*
+ {/*
*/} - - + -
+ ); } diff --git a/packages/fakeyou/src/v2/view/w2l/w2l_result_delete/W2lResultDeleteFc.tsx b/packages/fakeyou/src/v2/view/w2l/w2l_result_delete/W2lResultDeleteFc.tsx index a30fc05e49..3dd016098b 100644 --- a/packages/fakeyou/src/v2/view/w2l/w2l_result_delete/W2lResultDeleteFc.tsx +++ b/packages/fakeyou/src/v2/view/w2l/w2l_result_delete/W2lResultDeleteFc.tsx @@ -8,9 +8,8 @@ import { GetW2lResultIsOk, W2lResult, } from "../../../api/w2l/GetW2lResult"; -import { distance, delay, duration } from "../../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; interface Props { sessionWrapper: SessionWrapper; @@ -105,23 +104,17 @@ function W2lResultDeleteFc(props: Props) { const durationSeconds = (w2lInferenceResult?.duration_millis || 0) / 1000; return ( -
- -
-

{h1Title}

-
- < Back to result -
-
-
+ +
+ + {h1Title} + + + < Back to result + +
- +
@@ -153,14 +146,14 @@ function W2lResultDeleteFc(props: Props) { -
-
- -

{formLabel}

- -
- - + + + + {formLabel} + + + + ); } diff --git a/packages/fakeyou/src/v2/view/w2l/w2l_result_edit/W2lResultEditFc.tsx b/packages/fakeyou/src/v2/view/w2l/w2l_result_edit/W2lResultEditFc.tsx index d3968a300d..cd6b88f021 100644 --- a/packages/fakeyou/src/v2/view/w2l/w2l_result_edit/W2lResultEditFc.tsx +++ b/packages/fakeyou/src/v2/view/w2l/w2l_result_edit/W2lResultEditFc.tsx @@ -5,9 +5,8 @@ import { useParams, Link, useHistory } from "react-router-dom"; import { FrontendUrlConfig } from "../../../../common/FrontendUrlConfig"; import { VisibleIconFc } from "../../_icons/VisibleIcon"; import { HiddenIconFc } from "../../_icons/HiddenIcon"; -import { distance, delay, duration } from "../../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; const DEFAULT_VISIBILITY = "public"; @@ -147,54 +146,46 @@ function W2lResultEditFc(props: Props) { visibility === "public" ? : ; return ( -
- -
-

Edit Result Visibility

-
- < Back to result + +
+ + Edit Result Visibility + + + < Back to result + +
+ + +
+
+
+
+ +
+ +
+
+
- - - -
-
-
-
-
- -
- -
-
-
-
-
-
- -
- -
-
+ + + + + ); } diff --git a/packages/fakeyou/src/v2/view/w2l/w2l_result_view/W2lResultViewFc.tsx b/packages/fakeyou/src/v2/view/w2l/w2l_result_view/W2lResultViewFc.tsx index 681c46d147..8cd7a0a7ac 100644 --- a/packages/fakeyou/src/v2/view/w2l/w2l_result_view/W2lResultViewFc.tsx +++ b/packages/fakeyou/src/v2/view/w2l/w2l_result_view/W2lResultViewFc.tsx @@ -17,9 +17,8 @@ import { import { MetaTags } from "../../../../common/MetaTags"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faDownload, faEdit, faTrash } from "@fortawesome/free-solid-svg-icons"; -import { distance, delay, duration } from "../../../../data/animation"; - -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; interface Props { sessionWrapper: SessionWrapper; @@ -95,58 +94,56 @@ function W2lResultViewFc(props: Props) { ) { moderatorRows = ( <> - -
-
-

Moderator Details

-
-
- - - - - - - - - - - - - - - - - - - - - - -
Template creator is banned - {w2lInferenceResult?.maybe_moderator_fields - ?.template_creator_is_banned - ? "banned" - : "good standing"} -
Result creator is banned (if user) - {w2lInferenceResult?.maybe_moderator_fields - ?.result_creator_is_banned_if_user - ? "banned" - : "good standing"} -
Result creator IP address - {w2lInferenceResult?.maybe_moderator_fields - ?.result_creator_ip_address || "server error"} -
Mod deleted at (UTC) - {w2lInferenceResult?.maybe_moderator_fields - ?.mod_deleted_at || "not deleted"} -
Result creator deleted at (UTC) - {w2lInferenceResult?.maybe_moderator_fields - ?.result_creator_deleted_at || "not deleted"} -
-
+
+
+

Moderator Details

+
+ + + + + + + + + + + + + + + + + + + + + + + +
Template creator is banned + {w2lInferenceResult?.maybe_moderator_fields + ?.template_creator_is_banned + ? "banned" + : "good standing"} +
Result creator is banned (if user) + {w2lInferenceResult?.maybe_moderator_fields + ?.result_creator_is_banned_if_user + ? "banned" + : "good standing"} +
Result creator IP address + {w2lInferenceResult?.maybe_moderator_fields + ?.result_creator_ip_address || "server error"} +
Mod deleted at (UTC) + {w2lInferenceResult?.maybe_moderator_fields + ?.mod_deleted_at || "not deleted"} +
Result creator deleted at (UTC) + {w2lInferenceResult?.maybe_moderator_fields + ?.result_creator_deleted_at || "not deleted"} +
- +
); } @@ -256,102 +253,100 @@ function W2lResultViewFc(props: Props) { ); } return ( -
- -
-

- Lipsync Result -

-
-
+ +
+ + Lipsync Result + +
- -
- -
+ + + - + + + {" "} + + Download File + + -
-
-

Result Details

-
- - - - - - - - - - - - - - - -
Creator{creatorDetails}
Duration{durationSeconds} seconds
Visibility{resultVisibility}
-
+ +
+

Result Details

+
+ + + + + + + + + + + + + + + +
Creator{creatorDetails}
Duration{durationSeconds} seconds
Visibility{resultVisibility}
-
-
-

Template Details

-
- - - - - - - - - - - - - - - -
Template used - {templateName} -
Template creator{templateCreatorDetails}
Dimensions - {w2lInferenceResult?.frame_width} x{" "} - {w2lInferenceResult?.frame_height} -
-
+ + + +
+

Template Details

+
+ + + + + + + + + + + + + + + +
Template used + {templateName} +
Template creator{templateCreatorDetails}
Dimensions + {w2lInferenceResult?.frame_width} x{" "} + {w2lInferenceResult?.frame_height} +
- +
-
{moderatorRows}
+ {moderatorRows} - -
-
- {editButton} - {deleteButton} -
-
- -
+ +
+ {editButton} + {deleteButton}
- -
+ + + + + ); } diff --git a/packages/fakeyou/src/v2/view/w2l/w2l_template_approve/W2lTemplateApproveFc.tsx b/packages/fakeyou/src/v2/view/w2l/w2l_template_approve/W2lTemplateApproveFc.tsx index 75b2b4e0d7..6fd6796d62 100644 --- a/packages/fakeyou/src/v2/view/w2l/w2l_template_approve/W2lTemplateApproveFc.tsx +++ b/packages/fakeyou/src/v2/view/w2l/w2l_template_approve/W2lTemplateApproveFc.tsx @@ -10,8 +10,8 @@ import { } from "../../../api/w2l/GetW2lTemplate"; import { GetW2lTemplateUseCount } from "../../../api/w2l/GetW2lTemplateUseCount"; import { BackLink } from "../../_common/BackLink"; -import { distance, delay, duration } from "../../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; const DEFAULT_APPROVED_STATE = true; @@ -118,88 +118,80 @@ function W2lTemplateApproveFc(props: Props) { } return ( -
- -
-
-

{h1Title}

-
-
- -
+ +
+
+ + {h1Title} +
- + + + +
- -
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Detail + + Value +
Creator{creatorLink}
Use Count{humanUseCount}
Title{w2lTemplate?.title}
Upload Date (UTC){w2lTemplate?.created_at}
+
+
+ + +
- - - - - - - - - - - - - - - - - - - - - - - - - -
- Detail - - Value -
Creator{creatorLink}
Use Count{humanUseCount}
Title{w2lTemplate?.title}
Upload Date (UTC){w2lTemplate?.created_at}
-
-
+ -
-
-
- - -
-
- -
+
+
+
-
- -
- - -
+
+ + + +
+ ); } diff --git a/packages/fakeyou/src/v2/view/w2l/w2l_template_delete/W2lTemplateDeleteFc.tsx b/packages/fakeyou/src/v2/view/w2l/w2l_template_delete/W2lTemplateDeleteFc.tsx index b6afb90c52..739444aedb 100644 --- a/packages/fakeyou/src/v2/view/w2l/w2l_template_delete/W2lTemplateDeleteFc.tsx +++ b/packages/fakeyou/src/v2/view/w2l/w2l_template_delete/W2lTemplateDeleteFc.tsx @@ -10,8 +10,8 @@ import { } from "../../../api/w2l/GetW2lTemplate"; import { GetW2lTemplateUseCount } from "../../../api/w2l/GetW2lTemplateUseCount"; import { BackLink } from "../../_common/BackLink"; -import { distance, delay, duration } from "../../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; interface Props { sessionWrapper: SessionWrapper; @@ -169,26 +169,20 @@ function W2lTemplateDeleteFc(props: Props) { } return ( -
- -
-
-

{h1Title}

-
-
- -
+ +
+
+ + {h1Title} +
- + + + +
- -
+ +
@@ -225,16 +219,14 @@ function W2lTemplateDeleteFc(props: Props) { - -
- -
-
-

{formLabel}

-
- - - + + + + +

{formLabel}

+
+ + ); } diff --git a/packages/fakeyou/src/v2/view/w2l/w2l_template_edit/W2lTemplateEditFc.tsx b/packages/fakeyou/src/v2/view/w2l/w2l_template_edit/W2lTemplateEditFc.tsx index e8fdda8ff2..42b25b4a83 100644 --- a/packages/fakeyou/src/v2/view/w2l/w2l_template_edit/W2lTemplateEditFc.tsx +++ b/packages/fakeyou/src/v2/view/w2l/w2l_template_edit/W2lTemplateEditFc.tsx @@ -11,8 +11,8 @@ import { W2lTemplate, } from "../../../api/w2l/GetW2lTemplate"; import { BackLink } from "../../_common/BackLink"; -import { distance, delay, duration } from "../../../../data/animation"; -const Fade = require("react-reveal/Fade"); +import { motion } from "framer-motion"; +import { container, item, panel } from "../../../../data/animation"; const DEFAULT_VISIBILITY = "public"; @@ -118,90 +118,78 @@ function W2lTemplateEditFc(props: Props) { visibility === "public" ? : ; return ( -
- -
-
-

Edit Template

-
-
- -
+ +
+
+

Edit Template

- +
+ +
+
- -
-
-
-
-
-
- -
- -
- {/*

{invalidReason}

*/} + +
+
+
+
+
+ +
+
+ {/*

{invalidReason}

*/} +
-
- -
-