A Pomodoro Timer built using React, TypeScript, and Vite to help manage time effectively. This extension includes a timer, a task manager, and theme customization options.
-
React 18 :
Build dynamic UIs with component-based architecture. -
TypeScript :
Static type checking for enhanced maintainability and fewer runtime errors. -
Vite :
Lightning-fast development experience with custom Hot Module Replacement (HMR). -
TailwindCSS :
Quickly style your app with utility-first CSS. -
Chrome Extension Manifest 3 :
Ensures compatibility with the latest Chrome extension standards. -
Persistent Storage :
Saves tasks and timer state across sessions using local storage.
This Pomodoro Timer Extension is designed for use within Chrome and Firefox browsers. It helps users manage time effectively using a timer and task manager. The focus is on a fast, efficient, and clean development experience with Vite, React, and TypeScript.
- Run the development server:
pnpm dev
. - In Chrome, go to
chrome://extensions
. - Enable Developer Mode.
- Click on "Load unpacked extension" and select the
dist
folder. - For production, use:
pnpm build
.
- Run
pnpm dev:firefox
to start the dev server. - In Firefox, navigate to
about:debugging#/runtime/this-firefox
. - Click "Load Temporary Add-on" and choose the
manifest.json
file in thedist
folder. - Remember, Firefox requires re-loading after the browser is closed.
The extension offers three main tabs:
-
Timer:
- Start, stop, and reset the Pomodoro timer. Customize the time by clicking on the display.
- Timer state is stored persistently so that you can resume even after closing the extension.
-
Tasks:
- Manage tasks by adding, completing, or deleting them. Tasks persist in local storage.
-
Settings:
- Toggle between light and dark themes to personalize the extension's appearance.
├── public/
│ └── content.css # CSS for content scripts
├── src/
│ ├── components/
│ ├── hooks/
│ ├── pages/
│ │ ├── content/ # Content scripts for Chrome
│ │ ├── devtools/
│ │ ├── options/
│ │ ├── popup/ # Main UI with Timer, Tasks, and Settings
│ │ └── side-panel/
│ └── storage/ # Helper functions for local storage integration
├── manifest.js # Chrome extension manifest
└── vite.config.js # Vite config for custom HMR plugin