mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 01:18:34 +00:00
Merge pull request #715 from storytold/lazy-loaded-routes
implemented dynamic lazy loaded routes
This commit is contained in:
68 files changed
+1133
-769
No files matched your search
@@ -0,0 +1,562 @@
|
||||
import React from "react";
|
||||
import { Switch, Route } from "react-router-dom";
|
||||
import ProfileSidePanel from "components/layout/ProfileSidePanel/ProfileSidePanel";
|
||||
import TopNav from "components/layout/TopNav/TopNav";
|
||||
|
||||
import AboutPage from "./pages/about/about_page/AboutPage";
|
||||
import GuidePage from "./pages/about/guide_page/GuidePage";
|
||||
import FirehoseEventListPage from "./pages/firehose/FirehoseEventListPage";
|
||||
import LoginPage from "./pages/login/LoginPage";
|
||||
import ModerationPage from "./pages/moderation/moderation_main/ModerationPage";
|
||||
import ModerationIpBanListFc from "./pages/moderation/moderation_ip_ban_list/ModerationIpBanListFc";
|
||||
import ModerationViewIpBanFc from "./pages/moderation/moderation_view_ip_ban/ModerationViewIpBanFc";
|
||||
import FaceAnimator from "./pages/face_animator";
|
||||
import VideoMocap from "./pages/video_mocap";
|
||||
import ProfileEditFc from "./pages/profile/profile_edit/ProfileEditFc";
|
||||
import SignupPage from "./pages/signup/SignupPage";
|
||||
import TtsModelDeletePage from "./pages/tts/tts_model_delete/TtsModelDeletePage";
|
||||
import TtsModelEditPage from "./pages/tts/tts_model_edit/TtsModelEditPage";
|
||||
import TtsModelViewPage from "./pages/tts/tts_model_view/TtsModelViewPage";
|
||||
import TtsResultDeletePage from "./pages/tts/tts_result_delete/TtsResultDeletePage";
|
||||
import TtsResultViewPage from "./pages/tts/tts_result_view/TtsResultViewPage";
|
||||
import ContributeIndexPage from "./pages/contribute/ContributeIndexPage";
|
||||
import UploadTtsModelPage from "./pages/upload/UploadTtsModelPage";
|
||||
import UploadSdWeightPage from "./pages/upload/UploadSdWeightPage";
|
||||
import UploadLoraWeightPage from "./pages/upload/UploadLoraWeightPage";
|
||||
import UploadWorkflowPage from "./pages/upload/UploadWorkflowPage";
|
||||
import W2lResultViewPage from "./pages/w2l/w2l_result_view/W2lResultViewPage";
|
||||
import W2lTemplateListPage from "./pages/w2l/w2l_template_list/W2lTemplateListPage";
|
||||
import TtsResultEditPage from "./pages/tts/tts_result_edit/TtsResultEditPage";
|
||||
import W2lResultEditPage from "./pages/w2l/w2l_result_edit/W2lResultEditPage";
|
||||
import W2lTemplateDeletePage from "./pages/w2l/w2l_template_delete/W2lTemplateDeletePage";
|
||||
import W2lTemplateEditPage from "./pages/w2l/w2l_template_edit/W2lTemplateEditPage";
|
||||
import W2lResultDeletePage from "./pages/w2l/w2l_result_delete/W2lResultDeletePage";
|
||||
import W2lTemplateApprovePage from "./pages/w2l/w2l_template_approve/W2lTemplateApprovePage";
|
||||
import ProfileBanFc from "./pages/profile/profile_ban/ProfileBanFc";
|
||||
import ModerationUserListFc from "./pages/moderation/moderation_user_list/ModerationUserList";
|
||||
import LeaderboardPage from "./pages/leaderboard/LeaderboardPage";
|
||||
import ModerationJobStatsFc from "./pages/moderation/moderation_job_stats/ModerationJobStatsFc";
|
||||
import ModerationUserFeatureFlagsPage from "./pages/moderation/moderation_user_feature_flags/ModerationUserFeatureFlagsPage";
|
||||
import ModerationPendingW2lTemplatesFc from "./pages/moderation/moderation_pending_w2l_templates/ModerationPendingW2lTemplatesFc";
|
||||
import ModerationVoiceStatsFc from "./pages/moderation/moderation_voice_stats/ModerationVoiceStatsFc";
|
||||
import CreateCategoryPage from "./pages/category/CreateCategoryPage";
|
||||
import TtsEditCategoriesPage from "./pages/tts/tts_edit_categories/TtsEditCategoriesPage";
|
||||
import ModerationTtsCategoryListPage from "./pages/moderation/categories/ModerationTtsCategoryListPage";
|
||||
import ModerationTtsCategoryEditPage from "./pages/moderation/categories/ModerationTtsCategoryEditPage";
|
||||
import ModerationCategoryDeletePage from "./pages/moderation/categories/ModerationCategoryDeletePage";
|
||||
import PatronPage from "./pages/patrons/PatronPage";
|
||||
import VoiceCloneRequestPage from "./pages/clone_voice_requests/VoiceCloneRequestPage";
|
||||
import VocodesPage from "./pages/vocodes/VocodesPage";
|
||||
import PricingPage from "./pages/premium/PricingPage";
|
||||
import CheckoutSuccessPage from "./pages/premium/CheckoutSuccessPage";
|
||||
import CheckoutCancelPage from "./pages/premium/CheckoutCancelPage";
|
||||
import PortalSuccessPage from "./pages/premium/PortalSuccessPage";
|
||||
import NewsPage from "./pages/news/NewsPage";
|
||||
import LandingPage from "./pages/landing/LandingPage";
|
||||
import CommunityCommissionsPage from "./pages/contest/CommunityCommissionsPage";
|
||||
import ProductUsageInfoPage from "./pages/product_usage_info/ProductUsageInfoPage";
|
||||
import VcModelViewPage from "./pages/vc/vc_model_view/VcModelViewPage";
|
||||
import VcModelEditPage from "./pages/vc/vc_model_edit/VcModelEditPage";
|
||||
import VcModelDeletePage from "./pages/vc/vc_model_delete/VcModelDeletePage";
|
||||
import MediaPageSwitch from "./pages/media/MediaPageSwitch";
|
||||
import EditCoverImage from "./pages/media/EditCoverImage";
|
||||
import MediaRenamePage from "./pages/media/MediaRenamePage";
|
||||
import VoiceDesignerFormPage from "./pages/voice_designer/VoiceDesignerFormPage";
|
||||
import VoiceDesignerMainPage from "./pages/voice_designer/VoiceDesignerMainPage";
|
||||
import VoiceDesignerVoiceEditPage from "./pages/voice_designer/VoiceDesignerVoiceEditPage";
|
||||
import VoiceDesignerUseVoicePage from "./pages/voice_designer/VoiceDesignerUseVoicePage";
|
||||
import PasswordResetEmailPage from "./pages/password_reset/PasswordResetEmailPage";
|
||||
import PasswordResetVerificationPage from "./pages/password_reset/PasswordResetVerificationPage";
|
||||
import InferenceJobsPage from "./pages/inference_jobs_page/InferenceJobsPage";
|
||||
import ModerationJobControlPage from "./pages/moderation/job_control/ModerationJobControlPage";
|
||||
import WeightPage from "./pages/weight/WeightPage";
|
||||
import ExplorePage from "./pages/explore/ExplorePage";
|
||||
import SearchPage from "./pages/search/SearchPage";
|
||||
import WeightEditPage from "./pages/weight/WeightEditPage";
|
||||
import FbxToGltfPage from "./pages/fbx_to_gltf/FbxToGltfPage";
|
||||
import ScrollToTop from "./_common/ScrollToTop";
|
||||
import TextToImagePage from "./pages/text_to_image/TextToImagePage";
|
||||
import DevUpload from "./pages/dev_upload/DevUpload";
|
||||
import DevMediaInput from "./pages/dev_upload/DevMediaInput";
|
||||
import NewTTS from "./pages/audio_gen/tts/NewTTS";
|
||||
import NewTrumpTTS from "./pages/audio_gen/tts/NewTrumpTTS";
|
||||
import NewVC from "./pages/audio_gen/vc/NewVC";
|
||||
import DashboardPage from "./pages/dashboard/DashboardPage";
|
||||
import DevUploadAlt from "./pages/dev_upload/DevUploadAlt";
|
||||
import ModerationTokenInfoPage from "./pages/moderation/ModerationTokenInfoPage";
|
||||
import StyleVideo from "./pages/style-video";
|
||||
import CreateBetaKeyPage from "./pages/beta_key/CreateBetaKeyPage";
|
||||
import RedeemBetaKeyPage from "./pages/beta_key/RedeemBetaKeyPage";
|
||||
import RedeemSuccessPage from "./pages/beta_key/RedeemSuccessPage";
|
||||
import BetaKeysListPage from "./pages/beta_key/BetaKeysListPage";
|
||||
import ProfilePageV3 from "./pages/profile/profile_view/ProfilePageV3";
|
||||
import CreatorToolsPage from "./pages/creator_tools/CreatorToolsPage";
|
||||
import WaitlistNextStepsPage from "./pages/waitlist_next_steps/WaitlistNextStepsPage";
|
||||
import CreatorTypeformPage from "./pages/landing/storyteller/PostlaunchLanding/CreatorTypeformPage";
|
||||
import SignUpSuccessPage from "./pages/beta_key/SignUpSuccessPage";
|
||||
import StudioMobileCheckPage from "./pages/landing/storyteller/PostlaunchLanding/StudioMobileCheckPage";
|
||||
import UploadNewTtsModelPage from "./pages/upload/UploadNewTtsModelPage";
|
||||
import LivePortrait from "./pages/live_portrait/LivePortrait";
|
||||
import CameraLivePortrait from "./pages/live_portrait/CameraLivePortrait";
|
||||
import BetaLipSyncForm from "./pages/beta_products/BetaLipSyncForm";
|
||||
import BetaLipSyncPage from "./pages/beta_products/BetaLipSyncPage";
|
||||
import ToolsTestPage from "./pages/tools_test/ToolsTestPage";
|
||||
import BetaVideoCompositorForm from "./pages/beta_products/BetaVideoCompositorForm";
|
||||
import BetaVideoCompositorPage from "./pages/beta_products/BetaVideoCompositorPage";
|
||||
import Beta3DVideoCompositorForm from "./pages/beta_products/Beta3DVideoCompositorForm";
|
||||
import Beta3DVideoCompositorPage from "./pages/beta_products/Beta3DVideoCompositorPage";
|
||||
import Lipsync from "./pages/lipsync/Lipsync";
|
||||
import SetUsernamePage from "./pages/signup/SetUsernameModal";
|
||||
|
||||
// NB: Google Sign In requires a global javascript function
|
||||
declare global {
|
||||
function handleGoogleCredentialResponse(args: any): void;
|
||||
}
|
||||
|
||||
export default function PageContainer() {
|
||||
return (
|
||||
<>
|
||||
<ScrollToTop />
|
||||
<div id="wrapper" className="no-padding">
|
||||
<TopNav />
|
||||
|
||||
<ProfileSidePanel />
|
||||
<Switch>
|
||||
<Route path="/" exact={true}>
|
||||
<LandingPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/firehose">
|
||||
<FirehoseEventListPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/news">
|
||||
<NewsPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/leaderboard">
|
||||
<LeaderboardPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/login">
|
||||
<LoginPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/password-reset/verify">
|
||||
<PasswordResetVerificationPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/password-reset">
|
||||
<PasswordResetEmailPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/profile/:username/edit">
|
||||
<ProfileEditFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/profile/:username/ban">
|
||||
<ProfileBanFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/profile/:username">
|
||||
<ProfilePageV3 />
|
||||
</Route>
|
||||
|
||||
<Route path="/signup">
|
||||
<SignupPage />
|
||||
</Route>
|
||||
|
||||
<Route exact path="/set-username">
|
||||
<SetUsernamePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/pricing" exact={true}>
|
||||
<PricingPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/checkout_success" exact={true}>
|
||||
<CheckoutSuccessPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/checkout_cancel" exact={true}>
|
||||
<CheckoutCancelPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/portal_success" exact={true}>
|
||||
<PortalSuccessPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/media/rename/:media_file_token">
|
||||
<MediaRenamePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/media/:token">
|
||||
<MediaPageSwitch />
|
||||
</Route>
|
||||
|
||||
<Route path="/edit-cover-image/:token">
|
||||
<EditCoverImage />
|
||||
</Route>
|
||||
|
||||
<Route path="/explore">
|
||||
<ExplorePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/weight/:weight_token/edit">
|
||||
<WeightEditPage />
|
||||
</Route>
|
||||
|
||||
<Route
|
||||
path="/weight/:weight_token/:maybe_url_slug?"
|
||||
render={props => (
|
||||
<WeightPage key={props.match.params.weight_token} />
|
||||
)}
|
||||
/>
|
||||
|
||||
<Route path="/search/weights">
|
||||
<SearchPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tts/result/:token/edit">
|
||||
<TtsResultEditPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tts/result/:token/delete">
|
||||
<TtsResultDeletePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tts/result/:token">
|
||||
<TtsResultViewPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tts/:token/edit">
|
||||
<TtsModelEditPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tts/:token/delete">
|
||||
<TtsModelDeletePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tts/:token/categories">
|
||||
<TtsEditCategoriesPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tts/:token">
|
||||
<TtsModelViewPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/w2l/result/:token/edit">
|
||||
<W2lResultEditPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/w2l/result/:token/delete">
|
||||
<W2lResultDeletePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/w2l/result/:token">
|
||||
<W2lResultViewPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/w2l/:templateToken/edit">
|
||||
<W2lTemplateEditPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/w2l/:templateToken/approval">
|
||||
<W2lTemplateApprovePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/w2l/:templateToken/delete">
|
||||
<W2lTemplateDeletePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/video">
|
||||
<W2lTemplateListPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/upload/tts">
|
||||
<UploadTtsModelPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/upload/tts_model">
|
||||
<UploadNewTtsModelPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/upload/sd">
|
||||
<UploadSdWeightPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/upload/lora">
|
||||
<UploadLoraWeightPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/upload/workflow">
|
||||
<UploadWorkflowPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/contribute">
|
||||
<ContributeIndexPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/user/list">
|
||||
<ModerationUserListFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/user_feature_flags/:username?">
|
||||
<ModerationUserFeatureFlagsPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/ip_bans/:ipAddress">
|
||||
<ModerationViewIpBanFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/ip_bans">
|
||||
<ModerationIpBanListFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/voice_stats">
|
||||
<ModerationVoiceStatsFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/job_stats">
|
||||
<ModerationJobStatsFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/job_control">
|
||||
<ModerationJobControlPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/token_info">
|
||||
<ModerationTokenInfoPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/tts_category/list">
|
||||
<ModerationTtsCategoryListPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/tts_category/edit/:token">
|
||||
<ModerationTtsCategoryEditPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/category/delete/:token">
|
||||
<ModerationCategoryDeletePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation/approve/w2l_templates">
|
||||
<ModerationPendingW2lTemplatesFc />
|
||||
</Route>
|
||||
|
||||
<Route path="/moderation">
|
||||
<ModerationPage />
|
||||
</Route>
|
||||
|
||||
<Route exact={true} path="/clone">
|
||||
<VoiceCloneRequestPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/patrons">
|
||||
<PatronPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/product-usage">
|
||||
<ProductUsageInfoPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/voice-conversion/:token/delete">
|
||||
<VcModelDeletePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/voice-conversion/:token/edit">
|
||||
<VcModelEditPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/voice-conversion/:token">
|
||||
<VcModelViewPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/dashboard">
|
||||
<DashboardPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/about">
|
||||
<AboutPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/face-animator/:mediaToken?">
|
||||
<FaceAnimator />
|
||||
</Route>
|
||||
|
||||
<Route path="/fbx-to-gltf/:mediaToken?">
|
||||
<FbxToGltfPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/commissions">
|
||||
<CommunityCommissionsPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/guide">
|
||||
<GuidePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/old">
|
||||
<VocodesPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/dev-upload">
|
||||
<DevUpload />
|
||||
</Route>
|
||||
|
||||
<Route path="/dev-upload-alt">
|
||||
<DevUploadAlt />
|
||||
</Route>
|
||||
|
||||
<Route path="/dev-media-input">
|
||||
<DevMediaInput />
|
||||
</Route>
|
||||
|
||||
{/* NEW TTS PAGE */}
|
||||
<Route exact path="/tts">
|
||||
<NewTTS />
|
||||
</Route>
|
||||
|
||||
{/* NEW VC PAGE */}
|
||||
<Route exact path="/voice-conversion">
|
||||
<NewVC />
|
||||
</Route>
|
||||
|
||||
{/* NEW LIVE PORTRAIT PAGE */}
|
||||
<Route exact path="/ai-live-portrait">
|
||||
<LivePortrait />
|
||||
</Route>
|
||||
|
||||
<Route exact path="/ai-lip-sync">
|
||||
<Lipsync />
|
||||
</Route>
|
||||
|
||||
<Route exact path="/webcam-acting">
|
||||
<CameraLivePortrait />
|
||||
</Route>
|
||||
|
||||
{/* Route for initial voice creation */}
|
||||
<Route exact path="/voice-designer/create">
|
||||
<VoiceDesignerFormPage />
|
||||
</Route>
|
||||
|
||||
{/* Route for editing the dataset details */}
|
||||
<Route exact path="/voice-designer/dataset/:dataset_token/edit">
|
||||
<VoiceDesignerFormPage />
|
||||
</Route>
|
||||
|
||||
{/* Route for handling dataset token for uploading samples */}
|
||||
<Route exact path="/voice-designer/dataset/:dataset_token/upload">
|
||||
<VoiceDesignerFormPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/voice-designer/voice/:voice_token/edit">
|
||||
<VoiceDesignerVoiceEditPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/voice-designer/voice/:voice_token">
|
||||
<VoiceDesignerUseVoicePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/inference-jobs-list">
|
||||
<InferenceJobsPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/voice-designer">
|
||||
<VoiceDesignerMainPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/style-video/:mediaToken?">
|
||||
<StyleVideo />
|
||||
</Route>
|
||||
|
||||
<Route path="/video-mocap/:mediaToken?">
|
||||
<VideoMocap />
|
||||
</Route>
|
||||
|
||||
<Route path="/text-to-image">
|
||||
<TextToImagePage />
|
||||
</Route>
|
||||
|
||||
<Route path="/character/donald-trump">
|
||||
<NewTrumpTTS />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta/3d-video-compositor/form">
|
||||
<Beta3DVideoCompositorForm />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta/3d-video-compositor">
|
||||
<Beta3DVideoCompositorPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta/2d-video-compositor/form">
|
||||
<BetaVideoCompositorForm />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta/2d-video-compositor">
|
||||
<BetaVideoCompositorPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta/lip-sync/form">
|
||||
<BetaLipSyncForm />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta/lip-sync">
|
||||
<BetaLipSyncPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta/lip-sync/form">
|
||||
<BetaLipSyncForm />
|
||||
</Route>
|
||||
|
||||
<Route path="/studio-mobile-check">
|
||||
<StudioMobileCheckPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/category/create">
|
||||
<CreateCategoryPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/creator-onboarding">
|
||||
<CreatorTypeformPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/welcome">
|
||||
<SignUpSuccessPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta-key/create">
|
||||
<CreateBetaKeyPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta-key/redeem/success">
|
||||
<RedeemSuccessPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta-key/redeem/:token?">
|
||||
<RedeemBetaKeyPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/beta-key/list">
|
||||
<BetaKeysListPage />
|
||||
</Route>
|
||||
|
||||
{/* test page for tools */}
|
||||
<Route path="/dev/tools">
|
||||
<ToolsTestPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/tools">
|
||||
<CreatorToolsPage />
|
||||
</Route>
|
||||
|
||||
<Route path="/waitlist-next-steps">
|
||||
<WaitlistNextStepsPage />
|
||||
</Route>
|
||||
</Switch>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -5,9 +5,7 @@ import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClie
|
||||
import { Container, Panel } from "components/common";
|
||||
import PageHeaderWithImage from "components/layout/PageHeaderWithImage";
|
||||
|
||||
interface Props {}
|
||||
|
||||
function AboutPage(props: Props) {
|
||||
export default function AboutPage() {
|
||||
PosthogClient.recordPageview();
|
||||
usePrefixedDocumentTitle("About Us");
|
||||
|
||||
@@ -192,5 +190,3 @@ function AboutPage(props: Props) {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { AboutPage };
|
||||
@@ -5,9 +5,7 @@ import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"
|
||||
import { usePrefixedDocumentTitle } from "../../../../../common/UsePrefixedDocumentTitle";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
interface Props {}
|
||||
|
||||
function GuidePage(props: Props) {
|
||||
export default function GuidePage() {
|
||||
PosthogClient.recordPageview();
|
||||
usePrefixedDocumentTitle("Guide to all things Deep Fake");
|
||||
|
||||
@@ -162,5 +160,3 @@ function GuidePage(props: Props) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { GuidePage };
|
||||
+2
-2
@@ -7,7 +7,7 @@ import {
|
||||
GetWebsite,
|
||||
} from "@storyteller/components/src/env/GetWebsite";
|
||||
|
||||
export const Beta3DVideoCompositorForm = () => {
|
||||
export default function Beta3DVideoCompositorForm() {
|
||||
const location = useLocation();
|
||||
const queryParams = new URLSearchParams(location.search);
|
||||
const email = queryParams.get("email");
|
||||
@@ -34,4 +34,4 @@ export const Beta3DVideoCompositorForm = () => {
|
||||
<Widget id={fullFormUrl} className="h-100" />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -5,7 +5,7 @@ import { AITools } from "components/marketing";
|
||||
import React from "react";
|
||||
// import { Widget } from "@typeform/embed-react";
|
||||
|
||||
export const Beta3DVideoCompositorPage = () => {
|
||||
export default function Beta3DVideoCompositorPage() {
|
||||
usePrefixedDocumentTitle("Beta 3D Video Compositor");
|
||||
return (
|
||||
<>
|
||||
@@ -69,4 +69,4 @@ export const Beta3DVideoCompositorPage = () => {
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -7,7 +7,7 @@ import {
|
||||
Website,
|
||||
} from "@storyteller/components/src/env/GetWebsite";
|
||||
|
||||
export const BetaLipSyncForm = () => {
|
||||
export default function BetaLipSyncForm() {
|
||||
const location = useLocation();
|
||||
const queryParams = new URLSearchParams(location.search);
|
||||
const email = queryParams.get("email");
|
||||
@@ -33,4 +33,4 @@ export const BetaLipSyncForm = () => {
|
||||
<Widget id={fullFormUrl} className="h-100" />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -5,7 +5,7 @@ import { AITools } from "components/marketing";
|
||||
import React from "react";
|
||||
// import { Widget } from "@typeform/embed-react";
|
||||
|
||||
export const BetaLipSyncPage = () => {
|
||||
export default function BetaLipSyncPage() {
|
||||
usePrefixedDocumentTitle("Beta Lip Sync");
|
||||
return (
|
||||
<>
|
||||
@@ -72,4 +72,4 @@ export const BetaLipSyncPage = () => {
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -7,7 +7,7 @@ import {
|
||||
Website,
|
||||
} from "@storyteller/components/src/env/GetWebsite";
|
||||
|
||||
export const BetaVideoCompositorForm = () => {
|
||||
export default function BetaVideoCompositorForm() {
|
||||
const location = useLocation();
|
||||
const queryParams = new URLSearchParams(location.search);
|
||||
const email = queryParams.get("email");
|
||||
@@ -34,4 +34,4 @@ export const BetaVideoCompositorForm = () => {
|
||||
<Widget id={fullFormUrl} className="h-100" />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -5,7 +5,7 @@ import { AITools } from "components/marketing";
|
||||
import React from "react";
|
||||
// import { Widget } from "@typeform/embed-react";
|
||||
|
||||
export const BetaVideoCompositorPage = () => {
|
||||
export default function BetaVideoCompositorPage() {
|
||||
usePrefixedDocumentTitle("Beta 2D Video Compositor");
|
||||
return (
|
||||
<>
|
||||
@@ -71,4 +71,4 @@ export const BetaVideoCompositorPage = () => {
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
}
|
||||
@@ -17,7 +17,7 @@ const DEFAULT_CAN_DIRECTLY_HAVE_MODELS = true;
|
||||
const DEFAULT_CAN_HAVE_SUBCATEGORIES = false;
|
||||
const DEFAULT_CAN_ONLY_MODS_APPLY = false;
|
||||
|
||||
function CreateCategoryPage() {
|
||||
export default function CreateCategoryPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const history = useHistory();
|
||||
PosthogClient.recordPageview();
|
||||
@@ -264,5 +264,3 @@ function CreateCategoryPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { CreateCategoryPage };
|
||||
+2
-4
@@ -27,9 +27,9 @@ import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocument
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
import StorytellerStudioCTA from "components/common/StorytellerStudioCTA";
|
||||
|
||||
interface Props { }
|
||||
interface Props {}
|
||||
|
||||
function VoiceCloneRequestPage(props: Props) {
|
||||
export default function VoiceCloneRequestPage(props: Props) {
|
||||
usePrefixedDocumentTitle("Create a Custom Voice Clone with Deep Fake TTS");
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -659,5 +659,3 @@ function VoiceCloneRequestPage(props: Props) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { VoiceCloneRequestPage };
|
||||
+1
-5
@@ -8,9 +8,7 @@ import { faDiscord } from "@fortawesome/free-brands-svg-icons";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
import { GetDiscordLink } from "@storyteller/components/src/env/GetDiscordLink";
|
||||
|
||||
interface Props {}
|
||||
|
||||
function CommunityCommissionsPage(props: Props) {
|
||||
export default function CommunityCommissionsPage() {
|
||||
usePrefixedDocumentTitle("Voice to Voice Community Commissions");
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -109,5 +107,3 @@ function CommunityCommissionsPage(props: Props) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { CommunityCommissionsPage };
|
||||
+1
-3
@@ -25,7 +25,7 @@ import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClie
|
||||
import { Button } from "components/common";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ContributeIndexPage() {
|
||||
export default function ContributeIndexPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const categoryHeading = sessionWrapper.canEditCategories()
|
||||
? t("pages.contributeIndex.headingCreateCategory")
|
||||
@@ -195,5 +195,3 @@ function ContributeIndexPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ContributeIndexPage };
|
||||
@@ -13,9 +13,7 @@ import WeightsTab from "./tabs/WeightsTab";
|
||||
import MediaTab from "./tabs/MediaTab";
|
||||
import { Redirect, useLocation } from "react-router-dom";
|
||||
|
||||
interface ExplorePageProps {}
|
||||
|
||||
export default function ExplorePage(props: ExplorePageProps) {
|
||||
export default function ExplorePage() {
|
||||
const { pathname } = useLocation();
|
||||
|
||||
if (pathname === `/explore` || pathname === `/explore/`) {
|
||||
|
||||
+1
-3
@@ -58,7 +58,7 @@ interface TargetUserInfo {
|
||||
default_avatar_color_index: number;
|
||||
}
|
||||
|
||||
function FirehoseEventListPage() {
|
||||
export default function FirehoseEventListPage() {
|
||||
const [firehoseEvents, setFirehoseEvents] = useState<Array<FirehoseEvent>>(
|
||||
[]
|
||||
);
|
||||
@@ -418,5 +418,3 @@ function FirehoseEventListPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { FirehoseEventListPage };
|
||||
@@ -13,7 +13,7 @@ import PostlaunchLanding from "./storyteller/PostlaunchLanding/PostlaunchLanding
|
||||
import MentionsSection from "components/common/MentionsSection";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function LandingPage() {
|
||||
export default function LandingPage() {
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
const { sessionWrapper } = useSession();
|
||||
@@ -52,5 +52,3 @@ function LandingPage() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export { LandingPage };
|
||||
+2
-2
@@ -7,7 +7,7 @@ import {
|
||||
Website,
|
||||
} from "@storyteller/components/src/env/GetWebsite";
|
||||
|
||||
export const CreatorTypeformPage = () => {
|
||||
export default function CreatorTypeformPage() {
|
||||
const location = useLocation();
|
||||
const queryParams = new URLSearchParams(location.search);
|
||||
const email = queryParams.get("email");
|
||||
@@ -38,4 +38,4 @@ export const CreatorTypeformPage = () => {
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
import { DeviceNotSupported } from "components/common";
|
||||
import React from "react";
|
||||
|
||||
export const StudioMobileCheckPage = () => {
|
||||
export default function StudioMobileCheckPage() {
|
||||
return (
|
||||
<div className="mt-5">
|
||||
<DeviceNotSupported
|
||||
@@ -11,4 +11,4 @@ export const StudioMobileCheckPage = () => {
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
}
|
||||
@@ -15,7 +15,7 @@ import { DiscordLink2 } from "@storyteller/components/src/elements/DiscordLink2"
|
||||
import { usePrefixedDocumentTitle } from "common/UsePrefixedDocumentTitle";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
function LeaderboardPage() {
|
||||
export default function LeaderboardPage() {
|
||||
const [leaderboard, setLeaderboard] = useState<Leaderboard | undefined>(
|
||||
undefined
|
||||
);
|
||||
@@ -151,5 +151,3 @@ function LeaderboardPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { LeaderboardPage };
|
||||
@@ -23,7 +23,7 @@ import GoogleSSO from "components/common/GoogleSSO";
|
||||
import { useModal } from "hooks";
|
||||
import SetUsernameModal from "../signup/SetUsernameModal";
|
||||
|
||||
function LoginPage() {
|
||||
export default function LoginPage() {
|
||||
let history = useHistory();
|
||||
const { open } = useModal();
|
||||
const domain = GetWebsite();
|
||||
@@ -109,6 +109,7 @@ function LoginPage() {
|
||||
};
|
||||
|
||||
// This function ***MUST*** be attached to global state for the Google library to work.
|
||||
// @ts-ignore
|
||||
globalThis.handleGoogleCredentialResponse = async (args: any) => {
|
||||
// console.log(">>>> Google Sign In Response", args);
|
||||
|
||||
@@ -348,5 +349,3 @@ function LoginPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { LoginPage };
|
||||
+1
-3
@@ -6,7 +6,7 @@ import { ModerationTokenInfo } from "@storyteller/components/src/api/moderation/
|
||||
import { faDatabase } from "@fortawesome/pro-solid-svg-icons";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationTokenInfoPage() {
|
||||
export default function ModerationTokenInfoPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const [token, setToken] = useState<string>("");
|
||||
const [payload, setPayload] = useState<string>("");
|
||||
@@ -95,5 +95,3 @@ function ModerationTokenInfoPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationTokenInfoPage };
|
||||
+1
-3
@@ -16,7 +16,7 @@ import {
|
||||
} from "@storyteller/components/src/api/moderation/category/SetCategoryDeletionState";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationCategoryDeletePage() {
|
||||
export default function ModerationCategoryDeletePage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const { token }: { token: string } = useParams();
|
||||
|
||||
@@ -160,5 +160,3 @@ function ModerationCategoryDeletePage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationCategoryDeletePage };
|
||||
+1
-3
@@ -24,7 +24,7 @@ import {
|
||||
import { CategoryBreadcrumb } from "../../../_common/CategoryBreadcrumb";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationTtsCategoryEditPage() {
|
||||
export default function ModerationTtsCategoryEditPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const { token }: { token: string } = useParams();
|
||||
|
||||
@@ -418,5 +418,3 @@ function recursiveBuildHierarchy(
|
||||
found,
|
||||
];
|
||||
}
|
||||
|
||||
export { ModerationTtsCategoryEditPage };
|
||||
+1
-3
@@ -21,7 +21,7 @@ interface SortableCategoryHierarchy {
|
||||
category: ModerationTtsCategory;
|
||||
}
|
||||
|
||||
function ModerationTtsCategoryListPage() {
|
||||
export default function ModerationTtsCategoryListPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const [ttsCategories, setTtsCategories] = useState<ModerationTtsCategory[]>(
|
||||
[]
|
||||
@@ -381,5 +381,3 @@ function recursiveBuildHierarchy(
|
||||
found,
|
||||
];
|
||||
}
|
||||
|
||||
export { ModerationTtsCategoryListPage };
|
||||
+1
-3
@@ -17,7 +17,7 @@ import {
|
||||
} from "components/entities/EntityTypes";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationJobControlPage() {
|
||||
export default function ModerationJobControlPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const [filter, filterSet] = useState<string | undefined>();
|
||||
const objNumKeys = (obj = {}) =>
|
||||
@@ -167,5 +167,3 @@ function ModerationJobControlPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationJobControlPage };
|
||||
+1
-3
@@ -25,7 +25,7 @@ interface IpBanListItem {
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
function ModerationIpBanListFc() {
|
||||
export default function ModerationIpBanListFc() {
|
||||
const history = useHistory();
|
||||
const { sessionWrapper } = useSession();
|
||||
|
||||
@@ -220,5 +220,3 @@ function ModerationIpBanListFc() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationIpBanListFc };
|
||||
+1
-3
@@ -18,7 +18,7 @@ import {
|
||||
} from "@storyteller/components/src/api/moderation/tts/KillTtsInferenceJobs";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationJobStatsFc() {
|
||||
export default function ModerationJobStatsFc() {
|
||||
const { sessionWrapper } = useSession();
|
||||
// NB: We have more TTS stats than W2L stats now.
|
||||
const [ttsSecondsSinceFirst, setTtsSecondsSinceFirst] = useState<number>(-1);
|
||||
@@ -257,5 +257,3 @@ function humanWaitTime(seconds: number): string {
|
||||
return `${(seconds / (60 * 60)).toFixed(1)} hours`;
|
||||
}
|
||||
}
|
||||
|
||||
export { ModerationJobStatsFc };
|
||||
+1
-3
@@ -21,7 +21,7 @@ import { Button, Container, Panel } from "components/common";
|
||||
import PageHeader from "components/layout/PageHeader";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationPage() {
|
||||
export default function ModerationPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
|
||||
if (!sessionWrapper.canBanUsers()) {
|
||||
@@ -150,5 +150,3 @@ function ModerationPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationPage };
|
||||
+1
-3
@@ -12,7 +12,7 @@ import {
|
||||
import { PhotoVideoIcon } from "../../../_icons/PhotoVideoIcon";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationPendingW2lTemplatesFc() {
|
||||
export default function ModerationPendingW2lTemplatesFc() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const [templates, setTemplates] = useState<
|
||||
Array<PendingW2lTemplatesEntryForList>
|
||||
@@ -119,5 +119,3 @@ function ModerationPendingW2lTemplatesFc() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationPendingW2lTemplatesFc };
|
||||
+1
-3
@@ -19,7 +19,7 @@ function hasFlag(field: string, maybeUserData?: User): boolean {
|
||||
return hasFlag;
|
||||
}
|
||||
|
||||
function ModerationUserFeatureFlagsPage() {
|
||||
export default function ModerationUserFeatureFlagsPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const { username: urlUsername } = useParams() as { username?: string };
|
||||
|
||||
@@ -206,5 +206,3 @@ function ModerationUserFeatureFlagsPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationUserFeatureFlagsPage };
|
||||
+1
-3
@@ -11,7 +11,7 @@ import { WebUrl } from "../../../../../common/WebUrl";
|
||||
import { BackLink } from "../../../_common/BackLink";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationUserListFc() {
|
||||
export default function ModerationUserListFc() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const [userList, setUserList] = useState<Array<UserForList>>([]);
|
||||
|
||||
@@ -104,5 +104,3 @@ function ModerationUserListFc() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationUserListFc };
|
||||
+1
-3
@@ -23,7 +23,7 @@ interface IpBan {
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
function ModerationViewIpBanFc() {
|
||||
export default function ModerationViewIpBanFc() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const { ipAddress } = useParams() as { ipAddress: string };
|
||||
|
||||
@@ -140,5 +140,3 @@ function ModerationViewIpBanFc() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationViewIpBanFc };
|
||||
+1
-3
@@ -7,7 +7,7 @@ import {
|
||||
} from "@storyteller/components/src/api/moderation/stats/GetVoiceInventoryStats";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ModerationVoiceStatsFc() {
|
||||
export default function ModerationVoiceStatsFc() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const [allVoicesCount, setAllVoicesCount] = useState<number>(-1);
|
||||
const [publicVoicesCount, setPublicVoicesCount] = useState<number>(-1);
|
||||
@@ -65,5 +65,3 @@ function ModerationVoiceStatsFc() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ModerationVoiceStatsFc };
|
||||
@@ -33,7 +33,7 @@ import { useSession } from "hooks";
|
||||
|
||||
const TWITCH_CHANNEL = "FakeYouLabs";
|
||||
|
||||
function NewsPage() {
|
||||
export default function NewsPage() {
|
||||
const { sessionSubscriptions } = useSession();
|
||||
usePrefixedDocumentTitle("AI News");
|
||||
PosthogClient.recordPageview();
|
||||
@@ -187,5 +187,3 @@ function NewsPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { NewsPage };
|
||||
+1
-3
@@ -13,7 +13,7 @@ import {
|
||||
} from "@storyteller/components/src/api/user/RequestResetPassword";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function PasswordResetEmailPage() {
|
||||
export default function PasswordResetEmailPage() {
|
||||
let history = useHistory();
|
||||
const { user } = useSession();
|
||||
|
||||
@@ -95,5 +95,3 @@ function PasswordResetEmailPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { PasswordResetEmailPage };
|
||||
+1
-3
@@ -21,7 +21,7 @@ const ERR_PASSWORD_DOES_NOT_MATCH = "new password does not match";
|
||||
const ERR_BACKEND =
|
||||
"There was an issue resetting your password. Perhaps your code expired?";
|
||||
|
||||
function PasswordResetVerificationPage() {
|
||||
export default function PasswordResetVerificationPage() {
|
||||
const history = useHistory();
|
||||
const { sessionWrapper, queryAppState } = useContext(AppStateContext);
|
||||
|
||||
@@ -232,5 +232,3 @@ function getResetCodeErrors(code: string | null): string | undefined {
|
||||
return ERR_CODE_TOO_SHORT;
|
||||
}
|
||||
}
|
||||
|
||||
export { PasswordResetVerificationPage };
|
||||
@@ -8,7 +8,7 @@ import { ThirdPartyLinks } from "@storyteller/components/src/constants/ThirdPart
|
||||
import { usePrefixedDocumentTitle } from "../../../../common/UsePrefixedDocumentTitle";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
function PatronPage() {
|
||||
export default function PatronPage() {
|
||||
usePrefixedDocumentTitle("Thank you to our Patrons!");
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -87,5 +87,3 @@ function PatronPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { PatronPage };
|
||||
@@ -2,7 +2,7 @@ import React from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
function CheckoutCancelPage() {
|
||||
export default function CheckoutCancelPage() {
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
return (
|
||||
@@ -63,5 +63,3 @@ function CheckoutCancelPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { CheckoutCancelPage };
|
||||
@@ -2,7 +2,7 @@ import React from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
function CheckoutSuccessPage() {
|
||||
export default function CheckoutSuccessPage() {
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
return (
|
||||
@@ -54,5 +54,3 @@ function CheckoutSuccessPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { CheckoutSuccessPage };
|
||||
@@ -2,7 +2,7 @@ import React from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
function PortalSuccessPage() {
|
||||
export default function PortalSuccessPage() {
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
return (
|
||||
@@ -43,5 +43,3 @@ function PortalSuccessPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { PortalSuccessPage };
|
||||
@@ -20,7 +20,7 @@ import MentionsSection from "components/common/MentionsSection";
|
||||
import { faStar } from "@fortawesome/pro-solid-svg-icons";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function PricingPage() {
|
||||
export default function PricingPage() {
|
||||
const history = useHistory();
|
||||
const { sessionSubscriptions, sessionWrapper } = useSession();
|
||||
PosthogClient.recordPageview();
|
||||
@@ -716,5 +716,3 @@ function PricingPage() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export { PricingPage };
|
||||
+1
-3
@@ -39,7 +39,7 @@ const radioButtonsWhy = [
|
||||
},
|
||||
];
|
||||
|
||||
function ProductUsageInfoPage() {
|
||||
export default function ProductUsageInfoPage() {
|
||||
usePrefixedDocumentTitle("Product Usage Survey");
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -133,5 +133,3 @@ function ProductUsageInfoPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ProductUsageInfoPage };
|
||||
+1
-3
@@ -11,7 +11,7 @@ import { BackLink } from "../../../_common/BackLink";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function ProfileBanFc() {
|
||||
export default function ProfileBanFc() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const { username }: { username: string } = useParams();
|
||||
const userProfilePage = `/profile/${username}`;
|
||||
@@ -174,5 +174,3 @@ function ProfileBanFc() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ProfileBanFc };
|
||||
+1
-3
@@ -55,7 +55,7 @@ interface UserPayload {
|
||||
preferred_w2l_result_visibility: string;
|
||||
}
|
||||
|
||||
function ProfileEditFc() {
|
||||
export default function ProfileEditFc() {
|
||||
const { username } = useParams() as { username: string };
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -526,5 +526,3 @@ function ProfileEditFc() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { ProfileEditFc };
|
||||
+1
-1
@@ -31,7 +31,7 @@ import VideosTab from "./tabs/VideosTab";
|
||||
import AudiosTab from "./tabs/AudiosTab";
|
||||
import UserProfileInfo from "components/layout/ProfileSidePanel/UserProfileInfo";
|
||||
|
||||
function ProfilePageV3() {
|
||||
export default function ProfilePageV3() {
|
||||
const { username }: { username: string } = useParams();
|
||||
const { pathname } = useLocation();
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -35,7 +35,7 @@ enum FieldTriState {
|
||||
TRUE,
|
||||
}
|
||||
|
||||
function SignupPage() {
|
||||
export default function SignupPage() {
|
||||
let history = useHistory();
|
||||
const domain = GetWebsite();
|
||||
const { open } = useModal();
|
||||
@@ -118,6 +118,7 @@ function SignupPage() {
|
||||
};
|
||||
|
||||
// This function ***MUST*** be attached to global state for the Google library to work.
|
||||
// @ts-ignore
|
||||
globalThis.handleGoogleCredentialResponse = async (args: any) => {
|
||||
// console.log(">>>> Google Sign In Response", args);
|
||||
|
||||
@@ -675,5 +676,3 @@ function SignupPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { SignupPage };
|
||||
@@ -2,11 +2,7 @@ import { Container, Panel } from "components/common";
|
||||
import { AITools } from "components/marketing";
|
||||
import React from "react";
|
||||
|
||||
interface ToolsTestPageProps {
|
||||
// Define props here
|
||||
}
|
||||
|
||||
export const ToolsTestPage = (props: ToolsTestPageProps) => {
|
||||
export default function ToolsTestPage() {
|
||||
return (
|
||||
<Container type="panel" className="mt-5">
|
||||
<Panel clear={true}>
|
||||
@@ -15,4 +11,4 @@ export const ToolsTestPage = (props: ToolsTestPageProps) => {
|
||||
</Panel>
|
||||
</Container>
|
||||
);
|
||||
};
|
||||
}
|
||||
+1
-3
@@ -34,7 +34,7 @@ import { useParams, Link } from "react-router-dom";
|
||||
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
function TtsEditCategoriesPage() {
|
||||
export default function TtsEditCategoriesPage() {
|
||||
let { token } = useParams() as { token: string };
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -300,5 +300,3 @@ function TtsEditCategoriesPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { TtsEditCategoriesPage };
|
||||
+1
-3
@@ -40,7 +40,7 @@ interface TtsModelModeratorFields {
|
||||
user_deleted_at: string | undefined | null;
|
||||
}
|
||||
|
||||
function TtsModelDeletePage() {
|
||||
export default function TtsModelDeletePage() {
|
||||
PosthogClient.recordPageview();
|
||||
const history = useHistory();
|
||||
const { token } = useParams() as { token: string };
|
||||
@@ -272,5 +272,3 @@ function TtsModelDeletePage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { TtsModelDeletePage };
|
||||
+1
-3
@@ -44,7 +44,7 @@ const DEFAULT_PRETRAINED_VOCODER = "hifigan-superres";
|
||||
|
||||
const UNSET_CUSTOM_VOCODER_SENTINEL = ""; // NB: Empty string
|
||||
|
||||
function TtsModelEditPage() {
|
||||
export default function TtsModelEditPage() {
|
||||
const { token } = useParams() as { token: string };
|
||||
const { sessionWrapper } = useSession();
|
||||
PosthogClient.recordPageview();
|
||||
@@ -626,5 +626,3 @@ function TtsModelEditPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { TtsModelEditPage };
|
||||
+1
-3
@@ -68,7 +68,7 @@ import { FetchStatus } from "@storyteller/components/src/api/_common/SharedFetch
|
||||
import { AITools } from "components/marketing";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function TtsModelViewPage() {
|
||||
export default function TtsModelViewPage() {
|
||||
let { token } = useParams() as { token: string };
|
||||
const { loggedIn, sessionWrapper } = useSession();
|
||||
PosthogClient.recordPageview();
|
||||
@@ -894,5 +894,3 @@ function recursiveBuildHierarchy(
|
||||
found,
|
||||
];
|
||||
}
|
||||
|
||||
export { TtsModelViewPage };
|
||||
+1
-3
@@ -47,7 +47,7 @@ interface TtsInferenceResultModeratorFields {
|
||||
user_deleted_at: string | undefined | null;
|
||||
}
|
||||
|
||||
function TtsResultDeletePage() {
|
||||
export default function TtsResultDeletePage() {
|
||||
const history = useHistory();
|
||||
const { sessionWrapper } = useSession();
|
||||
PosthogClient.recordPageview();
|
||||
@@ -243,5 +243,3 @@ function TtsResultDeletePage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { TtsResultDeletePage };
|
||||
+1
-3
@@ -51,7 +51,7 @@ interface TtsInferenceResultModeratorFields {
|
||||
user_deleted_at: string | undefined | null;
|
||||
}
|
||||
|
||||
function TtsResultEditPage() {
|
||||
export default function TtsResultEditPage() {
|
||||
let { token }: { token: string } = useParams();
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -186,5 +186,3 @@ function TtsResultEditPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { TtsResultEditPage };
|
||||
+1
-3
@@ -43,7 +43,7 @@ import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClie
|
||||
import { useSession } from "hooks";
|
||||
import "./TtsResult.scss";
|
||||
|
||||
function TtsResultViewPage() {
|
||||
export default function TtsResultViewPage() {
|
||||
const { token }: { token: string } = useParams();
|
||||
const { sessionWrapper } = useSession();
|
||||
PosthogClient.recordPageview();
|
||||
@@ -555,5 +555,3 @@ function TtsResultViewPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { TtsResultViewPage };
|
||||
@@ -16,7 +16,7 @@ import {
|
||||
} from "@fortawesome/pro-solid-svg-icons";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
||||
function UploadNewTtsModelPage() {
|
||||
export default function UploadNewTtsModelPage() {
|
||||
// const history = useHistory();
|
||||
const { sessionWrapper, user } = useSession();
|
||||
const { enqueueInferenceJob } = useInferenceJobs();
|
||||
@@ -180,5 +180,3 @@ function UploadNewTtsModelPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { UploadNewTtsModelPage };
|
||||
@@ -25,7 +25,7 @@ interface TtsModelUploadJobResponsePayload {
|
||||
job_token?: string;
|
||||
}
|
||||
|
||||
function UploadTtsModelPage() {
|
||||
export default function UploadTtsModelPage() {
|
||||
const history = useHistory();
|
||||
const { sessionWrapper } = useSession();
|
||||
const { enqueueInferenceJob } = useInferenceJobs();
|
||||
@@ -241,5 +241,3 @@ function UploadTtsModelPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { UploadTtsModelPage };
|
||||
@@ -1,59 +1,58 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import React from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
interface Props {}
|
||||
|
||||
interface Props {
|
||||
}
|
||||
|
||||
function VocodesPage(props: Props) {
|
||||
export default function VocodesPage(props: Props) {
|
||||
PosthogClient.recordPageview();
|
||||
return (
|
||||
<div className="content is-medium">
|
||||
|
||||
<section className="hero is-small">
|
||||
<div className="hero-body">
|
||||
|
||||
<div className="columns is-vcentered">
|
||||
|
||||
<div className="column is-one-third">
|
||||
<div className="mascot">
|
||||
<img src="/mascot/kitsune_pose2_black_2000.webp" alt="FakeYou Kitsune Mascot!" />
|
||||
<img
|
||||
src="/mascot/kitsune_pose2_black_2000.webp"
|
||||
alt="FakeYou Kitsune Mascot!"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="column">
|
||||
<p className="title">
|
||||
Vocodes is now FakeYou
|
||||
</p>
|
||||
<p className="title">Vocodes is now FakeYou</p>
|
||||
<p className="subtitle">
|
||||
The old <strong>vo.codes voices</strong> will return.
|
||||
Please be patient.
|
||||
The old <strong>vo.codes voices</strong> will return. Please be
|
||||
patient.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<h1 className="title is-4">Vocodes wasn't Tacotron or Talknet</h1>
|
||||
|
||||
<p>
|
||||
We had a rather unusual and bespoke architecture. Resurrecting it will take some time.
|
||||
We know the vocodes voices are highly sought after for memes, and we're constantly being asked
|
||||
to bring them back. Please be patient with us.
|
||||
We had a rather unusual and bespoke architecture. Resurrecting it will
|
||||
take some time. We know the vocodes voices are highly sought after for
|
||||
memes, and we're constantly being asked to bring them back. Please be
|
||||
patient with us.
|
||||
</p>
|
||||
|
||||
|
||||
<Link to="/" className="button is-fullwidth is-primary is-large is-danger">Use FakeYou</Link>
|
||||
<Link
|
||||
to="/"
|
||||
className="button is-fullwidth is-primary is-large is-danger"
|
||||
>
|
||||
Use FakeYou
|
||||
</Link>
|
||||
|
||||
<br />
|
||||
|
||||
<p>(FakeYou sounds better, but we know the meme voices are important. They will return.)</p>
|
||||
|
||||
<p>
|
||||
(FakeYou sounds better, but we know the meme voices are important. They
|
||||
will return.)
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export { VocodesPage };
|
||||
+1
-3
@@ -25,7 +25,7 @@ interface RouteParams {
|
||||
dataset_token?: string;
|
||||
}
|
||||
|
||||
function VoiceDesignerFormPage() {
|
||||
export default function VoiceDesignerFormPage() {
|
||||
const history = useHistory();
|
||||
const { datasets, inputCtrl, languages, visibilityOptions, voices } =
|
||||
useVoiceRequests({});
|
||||
@@ -225,5 +225,3 @@ function VoiceDesignerFormPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { VoiceDesignerFormPage };
|
||||
+1
-5
@@ -25,9 +25,7 @@ import "./VoiceDesigner.scss";
|
||||
import MentionsSection from "components/common/MentionsSection";
|
||||
import StorytellerStudioCTA from "components/common/StorytellerStudioCTA";
|
||||
|
||||
// interface Props {}
|
||||
|
||||
function VoiceDesignerMainPage() {
|
||||
export default function VoiceDesignerMainPage() {
|
||||
usePrefixedDocumentTitle("AI Voice Designer");
|
||||
const { pathname } = useLocation();
|
||||
const { t } = useLocalize("FaceAnimator");
|
||||
@@ -302,5 +300,3 @@ function VoiceDesignerMainPage() {
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export { VoiceDesignerMainPage };
|
||||
+1
-3
@@ -14,7 +14,7 @@ import { Button, TempSelect } from "components/common";
|
||||
import useVoiceRequests from "./useVoiceRequests";
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
||||
function VoiceDesignerVoiceEditPage() {
|
||||
export default function VoiceDesignerVoiceEditPage() {
|
||||
const [language, languageSet] = useState("en");
|
||||
const [visibility, visibilitySet] = useState("hidden");
|
||||
const [title, titleSet] = useState("");
|
||||
@@ -116,5 +116,3 @@ function VoiceDesignerVoiceEditPage() {
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
export { VoiceDesignerVoiceEditPage };
|
||||
+1
-3
@@ -11,7 +11,7 @@ import { useSession } from "hooks";
|
||||
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
|
||||
function W2lResultDeletePage() {
|
||||
export default function W2lResultDeletePage() {
|
||||
const history = useHistory();
|
||||
PosthogClient.recordPageview();
|
||||
const { sessionWrapper } = useSession();
|
||||
@@ -150,5 +150,3 @@ function W2lResultDeletePage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { W2lResultDeletePage };
|
||||
+1
-3
@@ -51,7 +51,7 @@ interface W2lInferenceResultModeratorFields {
|
||||
user_deleted_at: string | undefined | null;
|
||||
}
|
||||
|
||||
function W2lResultEditPage() {
|
||||
export default function W2lResultEditPage() {
|
||||
let { token }: { token: string } = useParams();
|
||||
PosthogClient.recordPageview();
|
||||
|
||||
@@ -182,5 +182,3 @@ function W2lResultEditPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { W2lResultEditPage };
|
||||
+1
-3
@@ -22,7 +22,7 @@ import { CommentComponent } from "../../../_common/comments/CommentComponent";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function W2lResultViewPage() {
|
||||
export default function W2lResultViewPage() {
|
||||
let { token } = useParams() as { token: string };
|
||||
const { sessionWrapper } = useSession();
|
||||
|
||||
@@ -363,5 +363,3 @@ function W2lResultViewPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { W2lResultViewPage };
|
||||
+1
-3
@@ -14,7 +14,7 @@ import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClie
|
||||
|
||||
const DEFAULT_APPROVED_STATE = true;
|
||||
|
||||
function W2lTemplateApprovePage() {
|
||||
export default function W2lTemplateApprovePage() {
|
||||
const history = useHistory();
|
||||
|
||||
PosthogClient.recordPageview();
|
||||
@@ -189,5 +189,3 @@ function W2lTemplateApprovePage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { W2lTemplateApprovePage };
|
||||
+1
-3
@@ -13,7 +13,7 @@ import { BackLink } from "../../../_common/BackLink";
|
||||
import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClient";
|
||||
import { useSession } from "hooks";
|
||||
|
||||
function W2lTemplateDeletePage() {
|
||||
export default function W2lTemplateDeletePage() {
|
||||
const history = useHistory();
|
||||
const { sessionWrapper } = useSession();
|
||||
|
||||
@@ -226,5 +226,3 @@ function W2lTemplateDeletePage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { W2lTemplateDeletePage };
|
||||
+1
-3
@@ -15,7 +15,7 @@ import { PosthogClient } from "@storyteller/components/src/analytics/PosthogClie
|
||||
|
||||
const DEFAULT_VISIBILITY = "public";
|
||||
|
||||
function W2lTemplateEditPage() {
|
||||
export default function W2lTemplateEditPage() {
|
||||
let { templateToken }: { templateToken: string } = useParams();
|
||||
|
||||
const history = useHistory();
|
||||
@@ -189,5 +189,3 @@ function W2lTemplateEditPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { W2lTemplateEditPage };
|
||||
+1
-3
@@ -40,7 +40,7 @@ interface W2lTemplate {
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
function W2lTemplateListPage() {
|
||||
export default function W2lTemplateListPage() {
|
||||
const { sessionWrapper } = useSession();
|
||||
const [w2lTemplates, setW2lTemplates] = useState<Array<W2lTemplate>>([]);
|
||||
const [currentPageIndex, setCurrentPageIndex] = useState(0);
|
||||
@@ -268,5 +268,3 @@ function W2lTemplateListPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export { W2lTemplateListPage };
|
||||
Reference in new issue
Block a user