+
Current cover image
- {
- media?.cover_image?.maybe_cover_image_public_bucket_path ?
-
![]()
:
+ {media?.cover_image?.maybe_cover_image_public_bucket_path ? (
+
![]()
+ ) : (
No cover image
- }
+ )}
- { coverTokenSet(target.value) },
- type: "media"
- }}/>
+ onChange: ({ target }: { target: any }) => {
+ coverTokenSet(target.value);
+ },
+ type: "media",
+ }}
+ />
- );
-};
\ No newline at end of file
+
+ );
+}
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaAudioComponent.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaAudioComponent.tsx
deleted file mode 100644
index 9feb2c8878..0000000000
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaAudioComponent.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import React from "react";
-import MediaAudioPlayer from "./MediaAudioPlayer";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile";
-
-interface MediaAudioComponentProps {
- mediaFile: MediaFile;
-}
-
-export default function MediaAudioComponent({
- mediaFile,
-}: MediaAudioComponentProps) {
- return (
-
-
-
- );
-}
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaAudioPlayer.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaAudioPlayer.tsx
index 90f3ec07a1..465d0b97c1 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaAudioPlayer.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaAudioPlayer.tsx
@@ -1,13 +1,15 @@
import React, { useEffect, useState, memo } from "react";
import WaveSurfer from "wavesurfer.js";
-import { BucketConfig } from "@storyteller/components/src/api/BucketConfig";
import {
faPlay,
faPause,
faRepeat,
faArrowRight,
} from "@fortawesome/pro-solid-svg-icons";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile";
+import {
+ MediaFile,
+ MediaLinks,
+} from "@storyteller/components/src/api/media_files";
import Button from "components/common/Button";
enum PlaybackSpeed {
@@ -42,14 +44,13 @@ const MediaAudioPlayer = memo(({ mediaFile }: MediaAudioPlayerProps) => {
}, []);
useEffect(() => {
- const audioLink = new BucketConfig().getGcsUrl(
- mediaFile.public_bucket_path
- );
+ const { mainURL } = MediaLinks(mediaFile.media_links);
+
if (waveSurfer) {
- waveSurfer.load(audioLink);
+ waveSurfer.load(mainURL);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
- }, [waveSurfer, mediaFile.public_bucket_path, BucketConfig]);
+ }, [waveSurfer, mediaFile.public_bucket_path]);
useEffect(() => {
if (waveSurfer) {
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaImageComponent.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaImageComponent.tsx
deleted file mode 100644
index d47877dab3..0000000000
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaImageComponent.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { BucketConfig } from "@storyteller/components/src/api/BucketConfig";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile";
-import React from "react";
-
-interface MediaImageComponentProps {
- mediaFile: MediaFile;
-}
-
-export default function MediaImageComponent({
- mediaFile,
-}: MediaImageComponentProps) {
- const imagePath = new BucketConfig().getGcsUrl(mediaFile.public_bucket_path);
- return (
-
-

-
- );
-}
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
index 782f3b493d..3e90d932c4 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
@@ -1,7 +1,10 @@
import React, { useEffect, useState } from "react";
import { Link } from "react-router-dom";
import MediaAudioPlayer from "./MediaAudioPlayer";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile";
+import {
+ MediaFile,
+ MediaLinks,
+} from "@storyteller/components/src/api/media_files";
import Container from "components/common/Container";
import Panel from "components/common/Panel";
import PageHeader from "components/layout/PageHeader";
@@ -58,6 +61,7 @@ export default function MediaPage({
animationType,
animationTypeChange,
bookmarkButtonProps,
+ bucketUrl,
canAccessStudio,
canBanUsers,
canEdit,
@@ -89,7 +93,7 @@ export default function MediaPage({
.then(response => {
if (response.success) {
const mediaItems = response.results.map(result => ({
- url: bucketConfig.getGcsUrl(result.public_bucket_path),
+ url: MediaLinks(result.media_links).mainURL,
token: result.token,
}));
setImages(mediaItems);
@@ -184,7 +188,7 @@ export default function MediaPage({
if (mediaFile.public_bucket_path) {
sdMediaImage = [
{
- url: bucketConfig.getGcsUrl(mediaFile.public_bucket_path),
+ url: bucketUrl,
token: mediaFile?.token,
},
];
@@ -266,8 +270,7 @@ export default function MediaPage({
? mediaTypeLabels[mediaFile?.media_type]
: "";
- let downloadLink =
- activeSlide.url || bucketConfig.getGcsUrl(mediaFile?.public_bucket_path);
+ let downloadLink = activeSlide.url || bucketUrl;
const sharePath = `/media/${activeSlide.token || mediaFile?.token || ""}`;
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPageSwitch.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPageSwitch.tsx
index 2bf953cf59..178fc7bfa6 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPageSwitch.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaPageSwitch.tsx
@@ -6,7 +6,7 @@ import {
EngineCategory,
MediaFileType,
} from "@storyteller/components/src/api/_common/enums";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia";
+import { MediaFile } from "@storyteller/components/src/api/media_files";
import { Prompt } from "@storyteller/components/src/api/prompts/GetPrompts";
import { CreateFeaturedItem } from "@storyteller/components/src/api/featured_items/CreateFeaturedItem";
import { DeleteFeaturedItem } from "@storyteller/components/src/api/featured_items/DeleteFeaturedItem";
@@ -69,7 +69,7 @@ export default function MediaPageSwitch() {
const [engineCategory, engineCategorySet] =
useState
(null);
- const { bucketUrl, mediaFile, prompt, remove, status } = useMedia({
+ const { links, mediaFile, prompt, remove, status } = useMedia({
mediaToken: urlToken,
onSuccess: (res: any) => {
isFeaturedSet(res.is_featured);
@@ -80,6 +80,7 @@ export default function MediaPageSwitch() {
bookmarks.gather({ res, key: "token" });
},
});
+
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
const canEdit = canEditMediaFile(mediaFile?.maybe_creator_user?.user_token);
@@ -181,7 +182,7 @@ export default function MediaPageSwitch() {
const subViewProps: MediaSubViewProps = {
animationType,
animationTypeChange,
- bucketUrl,
+ bucketUrl: links.mainURL,
bookmarkButtonProps,
canAccessStudio,
canBanUsers,
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaVideoComponent.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaVideoComponent.tsx
index e7afd9c27f..bc4e8c8f5f 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaVideoComponent.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/media/MediaVideoComponent.tsx
@@ -1,5 +1,7 @@
-import { BucketConfig } from "@storyteller/components/src/api/BucketConfig";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile";
+import {
+ MediaFile,
+ MediaLinks,
+} from "@storyteller/components/src/api/media_files";
import React from "react";
interface MediaVideoComponentProps {
@@ -9,13 +11,11 @@ interface MediaVideoComponentProps {
export default function MediaVideoComponent({
mediaFile,
}: MediaVideoComponentProps) {
- let mediaLink = mediaFile
- ? new BucketConfig().getGcsUrl(mediaFile.public_bucket_path)
- : "";
+ const { mainURL } = MediaLinks(mediaFile?.media_links);
return mediaFile && mediaFile.public_bucket_path ? (
) : null;
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/PromptViewer.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/PromptViewer.tsx
index 63e41d57c1..0b96adede3 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/PromptViewer.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/media/PromptViewer.tsx
@@ -1,11 +1,13 @@
import React, { useState } from "react";
import { Link } from "react-router-dom";
import { Prompt } from "@storyteller/components/src/api/prompts/GetPrompts";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia";
+import {
+ MediaFile,
+ MediaLinks,
+} from "@storyteller/components/src/api/media_files";
import { Button, Panel } from "components/common";
import { STYLES_BY_KEY } from "common/StyleOptions";
import { faCopy } from "@fortawesome/pro-solid-svg-icons";
-import { BucketConfig } from "@storyteller/components/src/api/BucketConfig";
interface PromptViewerProps {
isModerator: boolean;
@@ -21,6 +23,8 @@ export default function PromptViewer({
const [copyPositiveButtonText, setCopyPositiveButtonText] = useState("Copy");
const [copyNegativeButtonText, setCopyNegativeButtonText] = useState("Copy");
+ const { mainURL } = MediaLinks(mediaFile?.media_links);
+
const copyToClipboard = async (
text: string,
copyTextSet: React.Dispatch>
@@ -45,14 +49,7 @@ export default function PromptViewer({
-
+
Download Without Watermark
{" "}
(Staff Only)
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/media/components/EngineMediaPanel/EngineMediaPanel.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/media/components/EngineMediaPanel/EngineMediaPanel.tsx
index bda3955eb3..b869816da4 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/media/components/EngineMediaPanel/EngineMediaPanel.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/media/components/EngineMediaPanel/EngineMediaPanel.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile";
+import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia";
import Scene3D from "components/common/Scene3D/Scene3D";
import { EngineMode } from "components/common/Scene3D/EngineMode";
@@ -12,10 +12,10 @@ const SKYBOX = "333348"; // Looks good (lighter)
//const SKYBOX = "3f3f55"; // too light
export interface EngineMediaPanelArgs {
- mediaFile: MediaFile,
+ mediaFile: MediaFile;
}
-export function EngineMediaPanel({ mediaFile } : EngineMediaPanelArgs) {
+export function EngineMediaPanel({ mediaFile }: EngineMediaPanelArgs) {
return (
+ />
);
}
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/components/pageWorkflowControls/index.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/components/pageWorkflowControls/index.tsx
deleted file mode 100644
index 1ac3e1082a..0000000000
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/components/pageWorkflowControls/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from "./pageWorkflowControls";
\ No newline at end of file
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/components/pageWorkflowControls/pageWorkflowControls.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/components/pageWorkflowControls/pageWorkflowControls.tsx
deleted file mode 100644
index ae2c1ba402..0000000000
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/components/pageWorkflowControls/pageWorkflowControls.tsx
+++ /dev/null
@@ -1,282 +0,0 @@
-import React, {useState, useRef} from "react";
-import { useParams, useHistory } from "react-router-dom";
-import { useMedia } from "hooks";
-
-import { BucketConfig } from "@storyteller/components/src/api/BucketConfig";
-import { EnqueueVideoWorkflow } from "@storyteller/components/src/api/video_workflow";
-import { states, Action, State } from "../../videoWorkflowReducer";
-import {
- Accordion,
- Button,
- ErrorMessage,
- InputSeed,
- Panel,
- SelectModal,
- Spinner,
- TextArea
-} from "components/common";
-
-import SelectModalWeightsTabs from "components/common/SelectModalWeightsTabs";
-
-import SectionControlNets, {ControlNetsInitialValues as CnIvs} from "./sectionControlNets";
-import SectionVideoSettings, {VideoSettingsInitialValues as VideoIvs} from "./sectionVideoSettings";
-import SectionAdvanceOptions, {AdvanceOptionsInitialValues as AdvIvs} from "./sectionAdvanceOptions";
-import {
- isInputValid,
- mapRequest,
- WorkflowValuesType
-} from "./helpers";
-
-export default function PageFilterControls({
- debug, t, pageState, dispatchPageState, parentPath
-}: {
- debug?: boolean;
- t: Function;
- pageState: State;
- parentPath: string;
- dispatchPageState: (action: Action) => void;
-}) {
- const { mediaToken } = useParams();
- const videoRef = useRef(null);
- useMedia({
- mediaToken: pageState.mediaFileToken || mediaToken,
- onSuccess: (res: any) => {
- dispatchPageState({
- type: 'loadFileSuccess',
- payload: {
- mediaFile: res,
- mediaFileToken: pageState.mediaFileToken || mediaToken
- }
- });
- },
- });
-
- const [workflowValues, setWorkflowValues] = useState({
- fileToken: pageState.mediaFileToken || mediaToken,
- outputPath: "",
- workflowConfig: "weight_q8sz47gmfw2zx02snrbz88ns9",
- seed: "",
- sdModelToken: "",
- sdModelTitle:"",
- loraModelToken: "",
- loraModelTitle: "",
- posPrompt: "",
- negPrompt: "",
- ...VideoIvs,
- ...AdvIvs,
- ...CnIvs
- });
-
- const handleOnChange = (val:{[key: string]: number|string|boolean|undefined}) => {
- setWorkflowValues((curr)=>({...curr, ...val}));
- }
- const handleReset = ()=>{
- setWorkflowValues((curr)=>({
- fileToken: pageState.mediaFileToken || mediaToken,
- outputPath: "vid2vid/SparseUpscaleInterp_00001.mp4",
- workflowConfig: "weight_q8sz47gmfw2zx02snrbz88ns9",
- seed: curr.seed,
- sdModelToken: "",
- sdModelTitle: "",
- loraModelToken: "",
- loraModelTitle: "",
- posPrompt: "",
- negPrompt: "",
- ...VideoIvs,
- width: curr.width,
- height: curr.height,
- maxFrames: curr.maxFrames,
- ...AdvIvs,
- ...CnIvs
- }));
- }
- const history = useHistory();
- const handleGenerate = ()=>{
- if(debug) console.log(workflowValues)
-
- if (isInputValid(workflowValues)){
- const request = mapRequest(workflowValues);
- console.log(request);
- EnqueueVideoWorkflow(request).then(res => {
- if (res.success && res.inference_job_token) {
- dispatchPageState({
- type: 'enqueueFilterSuccess',
- payload: {
- inferenceJobToken: res.inference_job_token
- }
- })
- }else{
- console.log(res);
- }
- })
- dispatchPageState({type: 'enqueueFilter'})
- history.push(`${parentPath}/jobs`);
- }else{
- alert("you must pick an sd weight and input a prompt");
- }
- }
-
- if (pageState.mediaFile){
- const mediaLink = new BucketConfig().getGcsUrl(pageState.mediaFile.public_bucket_path);
-
- if (mediaLink)
- return(
- <>
-
-
-
-
-
-
- {
- handleOnChange({
- "sdModelTitle": title,
- "sdModelToken": token,
- });
- }}
- value={{
- token:workflowValues.sdModelToken,
- title:workflowValues.sdModelTitle,
- }}
- />
-
-
- {
- console.log(`calling from select modal result select ${token}`);
- handleOnChange({
- "loraModelTitle": title,
- "loraModelToken": token
- });
- }}
- tabs={[
- {
- label: "All LoRA Weights",
- tabKey: "allLoraWeights",
- typeFilter: "loRA",
- searcher: true,
- type: "weights",
- },
- {
- label: "Bookmarked",
- tabKey: "bookmarkedLoraWeights",
- typeFilter: "loRA",
- searcher: false,
- type: "weights",
- },
- ]}
- />
-
-
-
- handleOnChange({seed: val})
- }/>
-
-
-
-
-
-
-
-
-
-
-
- >
- );
- }else if (pageState.status <= states.FILE_LOADING){
- return (
-
- Loading Files
-
-
- );
- }
- return ;
-}
\ No newline at end of file
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowReducer.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowReducer.tsx
index 00170bfead..023ec4dee6 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowReducer.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowReducer.tsx
@@ -1,6 +1,6 @@
-import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile";
+import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia";
-export enum states{
+export enum states {
NO_FILE,
FILE_STAGED,
FILE_SELECTED,
@@ -9,7 +9,7 @@ export enum states{
FILE_LOADING,
FILE_LOADED,
WORKFLOW_ENQUEUEING,
- WORKFLOW_ENQUEUED
+ WORKFLOW_ENQUEUED,
}
export type State = {
@@ -17,71 +17,72 @@ export type State = {
mediaFileToken?: string;
mediaFile?: MediaFile;
inferenceJobToken?: string;
-}
+};
-export type Action =
- | {type: 'reset'}
- | {type: 'stagedFile'}
- | {type: 'clearedFile'}
- | {type: 'selectedFile', payload: { mediaFileToken: string}}
- | {type: 'uploadFile'}
- | {type: 'uploadFileSuccess', payload:{ mediaFileToken: string}}
- | {type: 'loadFile'}
- | {type: 'loadFileSuccess', payload:{
- mediaFileToken: string, mediaFile: MediaFile
- }}
- | {type: 'enqueueFilter'}
- | {type: 'enqueueFilterSuccess', payload: {inferenceJobToken: string|undefined}}
+export type Action =
+ | { type: "reset" }
+ | { type: "stagedFile" }
+ | { type: "clearedFile" }
+ | { type: "selectedFile"; payload: { mediaFileToken: string } }
+ | { type: "uploadFile" }
+ | { type: "uploadFileSuccess"; payload: { mediaFileToken: string } }
+ | { type: "loadFile" }
+ | {
+ type: "loadFileSuccess";
+ payload: {
+ mediaFileToken: string;
+ mediaFile: MediaFile;
+ };
+ }
+ | { type: "enqueueFilter" }
+ | {
+ type: "enqueueFilterSuccess";
+ payload: { inferenceJobToken: string | undefined };
+ };
-
-export function reducer (state: State, action: Action): State {
-
- switch(action.type){
- case 'stagedFile':
- return {...state, status: states.FILE_STAGED}
- case 'clearedFile':
- return {...state,
- status: states.NO_FILE,
- mediaFileToken: ""
- }
- case 'selectedFile':
+export function reducer(state: State, action: Action): State {
+ switch (action.type) {
+ case "stagedFile":
+ return { ...state, status: states.FILE_STAGED };
+ case "clearedFile":
+ return { ...state, status: states.NO_FILE, mediaFileToken: "" };
+ case "selectedFile":
return {
...state,
status: states.FILE_SELECTED,
- mediaFileToken: action.payload.mediaFileToken
- }
- case 'uploadFile':
- return {...state,status: states.FILE_UPLOADING};
- case 'uploadFileSuccess':
+ mediaFileToken: action.payload.mediaFileToken,
+ };
+ case "uploadFile":
+ return { ...state, status: states.FILE_UPLOADING };
+ case "uploadFileSuccess":
return {
...state,
status: states.FILE_UPLOADED,
- mediaFileToken: action.payload.mediaFileToken
- }
- case 'loadFile':
- return {...state, status: states.FILE_LOADING}
- case 'loadFileSuccess':
+ mediaFileToken: action.payload.mediaFileToken,
+ };
+ case "loadFile":
+ return { ...state, status: states.FILE_LOADING };
+ case "loadFileSuccess":
console.log("LOAD FILE SUCCESS");
return {
...state,
status: states.FILE_LOADED,
mediaFile: action.payload.mediaFile,
- mediaFileToken : action.payload.mediaFileToken,
- }
- case 'enqueueFilter':
+ mediaFileToken: action.payload.mediaFileToken,
+ };
+ case "enqueueFilter":
return {
...state,
- status: states.WORKFLOW_ENQUEUEING
- }
- case 'enqueueFilterSuccess':
+ status: states.WORKFLOW_ENQUEUEING,
+ };
+ case "enqueueFilterSuccess":
return {
...state,
status: states.WORKFLOW_ENQUEUED,
- inferenceJobToken: action.payload.inferenceJobToken
- }
- case 'reset':
+ inferenceJobToken: action.payload.inferenceJobToken,
+ };
+ case "reset":
default:
- return {status: states.NO_FILE};
-
+ return { status: states.NO_FILE };
}
-}
\ No newline at end of file
+}
diff --git a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowRoutes.tsx b/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowRoutes.tsx
index e7d0f138dd..70bb1d1a8c 100644
--- a/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowRoutes.tsx
+++ b/src/website/packages/fakeyou.com/src/v2/view/pages/video_workflow/videoWorkflowRoutes.tsx
@@ -1,50 +1,60 @@
import React from "react";
-import {Switch, Route, useRouteMatch, Redirect, useHistory} from "react-router-dom";
-import PageWorkflowControls from "./components/pageWorkflowControls";
+import {
+ Switch,
+ Route,
+ useRouteMatch,
+ Redirect,
+ useHistory,
+} from "react-router-dom";
import PageVideoProvision from "./components/pageVideoProvision";
import PageWorkflowJoblist from "./components/pageWorkflowJoblist";
-import {states,State,Action} from "./videoWorkflowReducer";
+import { states, State, Action } from "./videoWorkflowReducer";
-export default function SubRoutes ({
- debug, t, pageState, dispatchPageState
-}:{
- debug?:boolean,
- t:Function,
- pageState:State,
- dispatchPageState: (action: Action) => void
-}){
+export default function SubRoutes({
+ debug,
+ t,
+ pageState,
+ dispatchPageState,
+}: {
+ debug?: boolean;
+ t: Function;
+ pageState: State;
+ dispatchPageState: (action: Action) => void;
+}) {
const { path } = useRouteMatch();
const history = useHistory();
- history.listen(({pathname}, action) => {
- if ((pathname === path || pathname.match(/upload|select-media/g)) && pageState.status >= states.FILE_LOADING){
+ history.listen(({ pathname }, action) => {
+ if (
+ (pathname === path || pathname.match(/upload|select-media/g)) &&
+ pageState.status >= states.FILE_LOADING
+ ) {
//reset page if landed on page "Freshly"
- dispatchPageState({type: 'reset'})
+ dispatchPageState({ type: "reset" });
}
- })
-
+ });
const commonPageProps = {
- debug, parentPath: path, t, pageState, dispatchPageState
+ debug,
+ parentPath: path,
+ t,
+ pageState,
+ dispatchPageState,
};
- return(
+ return (
-
-
-
-
+
-
+
-
+
- )
+ );
}
-
\ No newline at end of file