Skip to content

πŸ“Œ Lightweight, always-on-top to-do list browser extension with site-specific tasks and seamless sync

Mahdirnj/Todo-Web-Extention

Repository files navigation

πŸ“ Sticky Todo Web Extension

Sticky Todo

Your browser's lightweight, persistent task management companion

License: MIT PRs Welcome

✨ Features

  • πŸ“Œ Always-on-top todo list widget that stays with you while browsing
  • πŸ”„ Site-specific task management - different tasks for different domains
  • πŸ”΄ Visual indicators for pending tasks with notification dots
  • πŸ” Minimizable interface - collapses to a tiny floating dot when not in use
  • πŸ–±οΈ Drag & drop positioning - place it anywhere on your screen
  • 🎨 Modern, clean UI with smooth animations and transitions
  • πŸ’Ύ Persistent storage - your tasks and preferences are saved between sessions
  • πŸ”„ Synchronization across your browser sessions
  • ⚑ Lightweight with minimal resource usage

πŸš€ Installation

Method 1: Manual Installation

  1. Download or clone this repository
    git clone https://github.com/Mahdirnj/Todo-Web-Extention.git
  2. Open your browser and navigate to the extensions page:
    • Edge: edge://extensions/
    • Chrome: chrome://extensions/
    • Firefox: about:addons
  3. Enable "Developer mode"
  4. Click "Load unpacked" and select the downloaded extension folder

Method 2: From Browser Store

Coming soon!

πŸ”§ How to Use

  1. Activate - Click the extension icon in your toolbar to show/hide the todo widget
  2. Position - Drag the widget header to move it anywhere on your screen
  3. Minimize - Click the minimize button (βˆ’) to collapse into a small floating dot
  4. Expand - Click the dot to restore the widget to full size
  5. Add Tasks - Type in the input field and press Enter or click the + button
  6. Complete Tasks - Click the checkboxes to mark tasks as complete
  7. Remove Tasks - Click the Γ— button next to tasks to delete them
  8. Hide - Click the close button (Γ—) or click the extension icon again

πŸ’» Technical Details

  • Built with pure JavaScript, HTML, and CSS - no frameworks or dependencies
  • Uses content scripts to inject the widget into web pages
  • Local storage via chrome.storage.local for task persistence
  • Custom animations for a smooth, responsive experience
  • SVG icons for crisp visuals at any scale

πŸ› οΈ Development

Want to contribute? Great!

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/amazing-feature
  3. Commit your changes:
    git commit -m 'Add some amazing feature'
  4. Push to the branch:
    git push origin feature/amazing-feature
  5. Open a Pull Request

🐞 Known Issues & Roadmap

  • Site-specific tasks not always persisted correctly: tasks scoped per-domain may sometimes be missing, duplicated, or show up under the wrong domain after navigation or reloads.

    • Reproduce: add tasks on one domain, navigate to another domain, add tasks there, then return or reload the first domain.
    • Likely causes: incorrect storage keying (missing hostname/origin), race conditions during initialization, or legacy/global data formats.
  • Roadmap / Enhancements:

    • Add a small UI to inspect and manage per-site task lists (useful for debugging and user control).
    • Improve synchronization logic to avoid overwrites when multiple tabs are open.
    • Add automated tests (unit and E2E) that cover cross-site persistence and race conditions.

If you want me to open an issue or start a PR implementing these fixes, say the word and I will create the issue and/or a branch with an initial patch.

πŸ™ Acknowledgements

  • Custom SVG icons created in-house
  • Inspired by modern productivity applications
  • Thanks to all contributors who have helped shape this project

Made with ❀️ by Mahdirnj

πŸ“· Preview

A few screenshots showing the extension in action. Click any image to view full-size on GitHub.

full view
Full view in website
minimized view
Minimized view β€” minimized widget
settings
Settings & options
adding tasks
Adding tasks β€” input & controls

About

πŸ“Œ Lightweight, always-on-top to-do list browser extension with site-specific tasks and seamless sync

Topics

Resources

Stars

Watchers

Forks