A modern, interactive progress bar component built with React and Vite. Features a clean design, smooth animations, and dark/light theme support.
- 🎯 Interactive progress bar with smooth animations
- 🌓 Dark/Light theme toggle with persistent preference
- 🔄 Auto-reset functionality when progress reaches 100%
- 📱 Responsive design
- ⚡ Built with React + Vite for optimal performance
- 🚀 Automated deployment with GitHub Actions
Mohamed Lakssir
- Codédex: @Thejokers69ML
- GitHub: @thejokers69
- Node.js (version 18 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/thejokers69/progress-bar.git
cd progress-bar- Install dependencies:
npm install- Start the development server:
npm run devThe app will be available at http://localhost:5173
This project uses GitHub Actions for automated deployment to GitHub Pages. The deployment workflow is triggered automatically when:
- You push changes to the
mainbranch - You manually trigger the workflow from the Actions tab
The deployment process:
- Builds the project
- Deploys to GitHub Pages
- Makes the site available at: https://thejokers69.github.io/progress-bar
To enable deployments:
- Go to your repository settings
- Navigate to Pages
- Set the source to "GitHub Actions"
The progress bar component can be used as follows:
import ProgressBar from './components/ProgressBar';
function App() {
return <ProgressBar progress={50} />;
}progress(number): Value between 0 and 100 representing the progress percentage
- Visual representation of progress from 0% to 100%
- Smooth transition animations
- Auto-resets after reaching 100%
- Switch between light and dark themes
- Persists user preference in localStorage
- Smooth transition effects
progress-bar/
├── src/
│ ├── components/
│ │ └── ProgressBar.jsx
│ ├── styles/
│ │ └── global.css
│ ├── App.jsx
│ └── main.jsx
├── index.html
└── package.json
- React - UI Library
- Vite - Build Tool
- CSS Variables - For theming
- LocalStorage - For theme persistence
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built as part of the Codédex React curriculum
- Created by Mohamed Lakssir (@Thejokers69ML)
- Inspired by modern UI/UX practices
- Thanks to the React and Vite communities
