From 9f3cf1cb1fcf97cedd0e97facb21b6a34b09769a Mon Sep 17 00:00:00 2001 From: Novattz Date: Wed, 12 Nov 2025 15:03:07 +0100 Subject: [PATCH] add progress bar component and styling --- src/components/common/ProgressBar.tsx | 22 +++++++++++ src/styles/components/common/_index.scss | 2 +- .../components/common/_progress_bar.scss | 39 +++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 src/components/common/ProgressBar.tsx create mode 100644 src/styles/components/common/_progress_bar.scss diff --git a/src/components/common/ProgressBar.tsx b/src/components/common/ProgressBar.tsx new file mode 100644 index 0000000..2c9640a --- /dev/null +++ b/src/components/common/ProgressBar.tsx @@ -0,0 +1,22 @@ +interface ProgressBarProps { + progress: number +} + +/** + * Simple progress bar component + */ +const ProgressBar = ({ progress }: ProgressBarProps) => { + return ( +
+
+
+
+ {Math.round(progress)}% +
+ ) +} + +export default ProgressBar \ No newline at end of file diff --git a/src/styles/components/common/_index.scss b/src/styles/components/common/_index.scss index 58131f5..5a5acde 100644 --- a/src/styles/components/common/_index.scss +++ b/src/styles/components/common/_index.scss @@ -1,2 +1,2 @@ @forward './loading'; -@forward './updater'; +@forward './progress_bar'; diff --git a/src/styles/components/common/_progress_bar.scss b/src/styles/components/common/_progress_bar.scss new file mode 100644 index 0000000..737ce83 --- /dev/null +++ b/src/styles/components/common/_progress_bar.scss @@ -0,0 +1,39 @@ +@use '../../themes/index' as *; +@use '../../abstracts/index' as *; + +/* + Progress bar component styles +*/ + +.progress-container { + width: 100%; + max-width: 400px; + margin: 1.5rem auto; + display: flex; + flex-direction: column; + gap: 0.5rem; + align-items: center; +} + +.progress-bar { + width: 100%; + height: 8px; + background: var(--border-dark); + border-radius: 4px; + overflow: hidden; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); +} + +.progress-fill { + height: 100%; + background: var(--primary-color); + transition: width 0.3s ease; + border-radius: 4px; + position: relative; +} + +.progress-text { + font-size: 0.9rem; + color: var(--text-secondary); + font-weight: var(--medium); +}