diff --git a/packages/fakeyou.com/public/mascot/contest.webp b/packages/fakeyou.com/public/mascot/contest.webp new file mode 100644 index 0000000000..3ce5624833 Binary files /dev/null and b/packages/fakeyou.com/public/mascot/contest.webp differ diff --git a/packages/fakeyou.com/src/v2/view/PageContainer.tsx b/packages/fakeyou.com/src/v2/view/PageContainer.tsx index 9d19f30dfa..6ae5c5fdd5 100644 --- a/packages/fakeyou.com/src/v2/view/PageContainer.tsx +++ b/packages/fakeyou.com/src/v2/view/PageContainer.tsx @@ -68,11 +68,15 @@ import { NewsPage } from "./pages/news/NewsPage"; import { LandingPage } from "./pages/landing/LandingPage"; import { ChannelsPage } from "./pages/channels/Channels"; import { TrumpTtsPage } from "./pages/character/trump/TrumpTtsPage"; -import { FrontendInferenceJobType, InferenceJob } from "@storyteller/components/src/jobs/InferenceJob"; +import { + FrontendInferenceJobType, + InferenceJob, +} from "@storyteller/components/src/jobs/InferenceJob"; //import { LandingPage } from "./pages/landing/LandingPage"; import { VcModelListPage } from "./pages/vc/vc_model_list/VcModelListPage"; import { UploadVoiceConversionModel } from "./pages/upload/UploadVoiceConversionModel"; import { VoiceConversionModelListItem } from "@storyteller/components/src/api/voice_conversion/ListVoiceConversionModels"; +import { GrimesPage } from "./pages/contest/GrimesPage"; interface Props { sessionWrapper: SessionWrapper; @@ -98,7 +102,10 @@ interface Props { isShowingBootstrapLanguageNotice: boolean; clearBootstrapLanguageNotice: () => void; - enqueueInferenceJob: (jobToken: string, frontendInferenceJobType: FrontendInferenceJobType) => void; + enqueueInferenceJob: ( + jobToken: string, + frontendInferenceJobType: FrontendInferenceJobType + ) => void; inferenceJobs: Array; inferenceJobsByCategory: Map>; @@ -153,10 +160,14 @@ interface Props { setSelectedTtsLanguageScope: (selectedTtsLanguageScope: string) => void; voiceConversionModels: Array; - setVoiceConversionModels: (ttsVoices: Array) => void; + setVoiceConversionModels: ( + ttsVoices: Array + ) => void; maybeSelectedVoiceConversionModel?: VoiceConversionModelListItem; - setMaybeSelectedVoiceConversionModel: (maybeSelectedVoiceConversionModel: VoiceConversionModelListItem) => void; + setMaybeSelectedVoiceConversionModel: ( + maybeSelectedVoiceConversionModel: VoiceConversionModelListItem + ) => void; } interface State {} @@ -392,8 +403,12 @@ class PageContainer extends React.Component { @@ -487,8 +502,12 @@ class PageContainer extends React.Component { } voiceConversionModels={this.props.voiceConversionModels} setVoiceConversionModels={this.props.setVoiceConversionModels} - maybeSelectedVoiceConversionModel={this.props.maybeSelectedVoiceConversionModel} - setMaybeSelectedVoiceConversionModel={this.props.setMaybeSelectedVoiceConversionModel} + maybeSelectedVoiceConversionModel={ + this.props.maybeSelectedVoiceConversionModel + } + setMaybeSelectedVoiceConversionModel={ + this.props.setMaybeSelectedVoiceConversionModel + } enqueueInferenceJob={this.props.enqueueInferenceJob} inferenceJobs={this.props.inferenceJobs} inferenceJobsByCategory={this.props.inferenceJobsByCategory} @@ -499,6 +518,10 @@ class PageContainer extends React.Component { + + + + diff --git a/packages/fakeyou.com/src/v2/view/pages/contest/GrimesPage.tsx b/packages/fakeyou.com/src/v2/view/pages/contest/GrimesPage.tsx new file mode 100644 index 0000000000..1acb5ed406 --- /dev/null +++ b/packages/fakeyou.com/src/v2/view/pages/contest/GrimesPage.tsx @@ -0,0 +1,129 @@ +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 { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { faFileMusic, faWaveformLines } from "@fortawesome/pro-solid-svg-icons"; + +interface Props {} + +function GrimesPage(props: Props) { + usePrefixedDocumentTitle("Grimes AI Contest"); + + return ( + +
+
+
+
+ +
+
+
+
+
+ + Grimes AI Song Contest + +
+
+ + We at FakeYou are thrilled to present the Grimes AI Song + Contest! Participants have the opportunity to compete for a + share of the huge $20,000 prize pool! Read more about + this event in the details below. + +
+ + + Start Creating + + + + Submit Song + +
+
+
+
+
+
+ + +
+

Contest Details

+
+

Description of the contest here...

+
+

Prize Pool

+

+ 1. Top Grimes AI Song +
+ 2. Top AI Song by another artist +
+ 3. Top Grimes Collab +
+ 4. Top Deceased Musician Song +
+ 5. Top Grimes x John Oliver (for instance) +
+ 6. Top Grimes x (other AI celeb) +

+
+
+

How to Participate

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla + nulla massa, viverra eget commodo a, tincidunt eu ante. + Phasellus imperdiet augue rutrum dignissim hendrerit. Sed + sodales ante eu est lacinia, eget eleifend sapien imperdiet. + Integer a efficitur massa. +

+
+

+ Nunc sapien sapien, vestibulum venenatis nulla eget, venenatis + vulputate dolor. Etiam faucibus dolor vel augue suscipit ornare. + Integer et velit metus. Ut enim arcu, hendrerit eget viverra at, + sagittis id dui. Maecenas mollis justo libero, sed auctor ligula + suscipit vestibulum. Fusce nec dictum metus. Quisque dapibus + placerat urna, at tempus velit blandit quis. +

+
+
+

Contest Terms and Conditions

+
1. Eligibility
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla + nulla massa, viverra eget commodo a, tincidunt eu ante. + Phasellus imperdiet augue rutrum dignissim hendrerit. Sed + sodales ante eu est lacinia, eget eleifend sapien imperdiet. + Integer a efficitur massa. +

+
+
+ 2. Data Protection and Publicity +
+

+ Maecenas mollis justo libero, sed auctor ligula suscipit + vestibulum. Fusce nec dictum metus. Quisque dapibus placerat + urna, at tempus velit blandit quis. +

+
+
+
+
+
+ ); +} + +export { GrimesPage };