Files
suwayomi-material-you-webui/src/features/core/components/feedback/Progress.tsx

35 lines
1.1 KiB
TypeScript
Raw Normal View History

/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import Box from '@mui/material/Box';
2024-09-06 16:59:27 +02:00
import CircularProgress, { CircularProgressProps } from '@mui/material/CircularProgress';
import Typography from '@mui/material/Typography';
2024-09-06 16:59:27 +02:00
export const Progress = ({
progress,
showText = true,
progressProps = {},
}: {
progress: number;
showText?: boolean;
progressProps?: CircularProgressProps;
}) => (
<Box sx={{ display: 'grid', placeItems: 'center', position: 'relative' }}>
2024-09-06 16:59:27 +02:00
<CircularProgress {...progressProps} variant="determinate" value={progress} />
2024-06-26 13:19:02 +02:00
{showText && (
<Box sx={{ position: 'absolute' }}>
2024-09-03 17:15:47 +02:00
<Typography
sx={{
fontSize: '0.8rem',
}}
>{`${Math.round(progress)}%`}</Typography>
2024-06-26 13:19:02 +02:00
</Box>
)}
</Box>
);