Spaces:
Runtime error
Runtime error
/** | |
* Copyright (c) Meta Platforms, Inc. and affiliates. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
import ChangeVideoModal from '@/common/components/gallery/ChangeVideoModal'; | |
import type {VideoGalleryTriggerProps} from '@/common/components/gallery/DemoVideoGalleryModal'; | |
import LoadingStateScreen from '@/common/loading/LoadingStateScreen'; | |
import {uploadingStateAtom} from '@/demo/atoms'; | |
import {ImageCopy} from '@carbon/icons-react'; | |
import {useAtomValue} from 'jotai'; | |
import OptionButton from '../components/options/OptionButton'; | |
export default function UploadLoadingScreen() { | |
const uploadingState = useAtomValue(uploadingStateAtom); | |
if (uploadingState === 'error') { | |
return ( | |
<LoadingStateScreen | |
title="Uh oh, we cannot process this video" | |
description="Please upload another video, and make sure that the video’s file size is less than 70Mb. "> | |
<div className="max-w-[250px] w-full mx-auto"> | |
<ChangeVideoModal | |
videoGalleryModalTrigger={UploadLoadingScreenChangeVideoTrigger} | |
/> | |
</div> | |
</LoadingStateScreen> | |
); | |
} | |
return ( | |
<LoadingStateScreen | |
title="Uploading video..." | |
description="Sit tight while we upload your video." | |
/> | |
); | |
} | |
function UploadLoadingScreenChangeVideoTrigger({ | |
onClick, | |
}: VideoGalleryTriggerProps) { | |
return ( | |
<OptionButton | |
variant="gradient" | |
title="Change video" | |
Icon={ImageCopy} | |
onClick={onClick} | |
/> | |
); | |
} | |