A beautiful, customizable countdown timer component for bounty displays. Built with React + Tailwind CSS.
- π¨ 5 Beautiful Themes - Purple, Blue, Green, Orange, Red
- π± Responsive Design - Works on all screen sizes
- β±οΈ Full & Compact Modes - Choose your display style
- π― Progress Bar - Visual countdown progress
- βΈοΈ Pause/Resume - Full timer control
- π Auto-Reset - Callback on completion
- π« Glow Effects - Modern glassmorphism design
- βΏ Accessible - Keyboard navigation support
# Clone or copy the component
cd bounty-countdown-timer
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run buildimport CountdownTimer from './CountdownTimer';
function App() {
return (
<CountdownTimer
targetDate="2026-05-01T00:00:00"
bountyAmount="100K $FNDRY"
bountyTitle="π Featured Bounty"
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
targetDate |
number | string |
required | Target date (timestamp or ISO string) |
bountyAmount |
string |
'' |
Bounty amount to display |
bountyTitle |
string |
'Bounty' |
Title of the bounty |
theme |
string |
'purple' |
Color theme: purple, blue, green, orange, red |
showSeconds |
boolean |
true |
Whether to show seconds |
autoStart |
boolean |
true |
Auto-start countdown |
compact |
boolean |
false |
Compact mode for smaller display |
onComplete |
function |
undefined |
Callback when countdown completes |
className |
string |
'' |
Additional CSS classes |
<CountdownTimer
targetDate={new Date('2026-05-01')}
bountyAmount="100K $FNDRY"
bountyTitle="π Smart Contract Audit"
theme="purple"
showSeconds={true}
/><CountdownTimer
targetDate={new Date('2026-05-01')}
bountyAmount="50K"
compact={true}
theme="blue"
/><CountdownTimer
targetDate={new Date('2026-05-01')}
bountyAmount="25K $FNDRY"
onComplete={() => {
console.log('Bounty ended!');
// Send notification, update state, etc.
}}
/>// Available themes: purple, blue, green, orange, red
<CountdownTimer theme="green" {...props} />
<CountdownTimer theme="orange" {...props} />
<CountdownTimer theme="red" {...props} />| Theme | Preview |
|---|---|
| Purple | from-purple-600 to-indigo-600 |
| Blue | from-blue-600 to-cyan-600 |
| Green | from-green-600 to-emerald-600 |
| Orange | from-orange-600 to-amber-600 |
| Red | from-red-600 to-rose-600 |
# Install dependencies
npm install
# Start dev server (http://localhost:3000)
npm run dev
# Run tests
npm test
# Build for production
npm run build
# Preview production build
npm run previewbounty-countdown-timer/
βββ src/
β βββ CountdownTimer.jsx # Main component
β βββ App.jsx # Demo app
β βββ index.jsx # Entry point
β βββ index.css # Global styles
βββ index.html # HTML template
βββ package.json # Dependencies
βββ tailwind.config.js # Tailwind config
βββ vite.config.js # Vite config
βββ postcss.config.js # PostCSS config
βββ README.md # This file
- Bounty Platforms - Display countdown for hackathons, challenges
- NFT Drops - Show time until mint opens
- Token Sales - Countdown to sale end
- Event Timers - Conference, webinar countdowns
- Flash Sales - E-commerce limited-time offers
- Gaming - Event timers, reward countdowns
- Fork the repo
- 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 with β€οΈ by Stardust (ζε°)
- React Team for the amazing library
- Tailwind CSS for the utility-first CSS framework
- Vite for the blazing fast build tool
Happy Coding! π