signal-desktop/sticker-creator/elements/ProgressBar.tsx

28 lines
656 B
TypeScript
Raw Normal View History

2020-10-30 20:34:04 +00:00
// Copyright 2019-2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
2019-12-17 20:25:57 +00:00
import * as React from 'react';
import classnames from 'classnames';
2019-12-17 20:25:57 +00:00
import * as styles from './ProgressBar.scss';
export type Props = Pick<React.HTMLAttributes<HTMLDivElement>, 'className'> & {
2019-12-17 20:25:57 +00:00
readonly count: number;
readonly total: number;
};
2022-11-18 00:45:19 +00:00
export const ProgressBar = React.memo(function ProgressBarInner({
className,
count,
total,
}: Props) {
return (
<div className={classnames(styles.base, className)}>
<div
className={styles.bar}
style={{ width: `${Math.floor((count / total) * 100)}%` }}
/>
</div>
);
});