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);
+}