Merge pull request #715 from storytold/lazy-loaded-routes

implemented dynamic lazy loaded routes
This commit is contained in:
Victor O authored and GitHub committed 2024-10-04 23:47:11 -07:00
commit 5fb2bb329d
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 };
@@ -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>
);
};
}
@@ -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>
</>
);
};
}
@@ -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>
);
};
}
@@ -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>
</>
);
};
}
@@ -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>
);
};
}
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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/`) {
@@ -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 };
@@ -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>
);
};
}
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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>
);
};
}
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };
@@ -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 };