Commit graph

30 commits

Author SHA1 Message Date
Johannes Millan
c9723cb6c9 feat(plugins): enhance plugin system with improved iframe communication and sync-md updates
- Add triggerSync method to plugin bridge for sync operations
- Enhance plugin iframe utility with better message handling and hook support
- Update sync-md plugin with improved error handling and sync state management
- Add plugin context validation for sync operations
- Update plugin API types with proper exports
- Improve bidirectional sync in sync-md plugin
- Add translation constant for sync context validation
2025-06-24 21:04:38 +02:00
Johannes Millan
ceb9806ce1 fix(sync-md): correct markdown parsing for asterisk format tasks
- Fix regex to handle both dash (-) and asterisk (*) prefixed tasks
- Add quick test to verify parsing works for both formats
- Ensure proper bullet/checkbox distinction in markdown parsing
2025-06-24 21:04:38 +02:00
Johannes Millan
ae20c9bfe3 docs(sync-md): add comprehensive implementation documentation
- Create detailed implementation guide covering architecture and algorithms
- Add project summary documenting all accomplishments and technical highlights
- Include troubleshooting guide and future development roadmap
- Document testing results and real-world usage scenarios
2025-06-24 21:04:38 +02:00
Johannes Millan
fcd018b238 feat(sync-md): integrate Solid.js version with bidirectional sync
- Replace original sync-md plugin with new Solid.js implementation
- Add comprehensive bidirectional sync algorithm with conflict detection
- Include built Solid.js assets (CSS and JS) for plugin UI
- Create detailed sync examples demonstrating various scenarios
- Support three sync modes: bidirectional, file-to-project, project-to-file
- Implement checksum-based change tracking for reliable sync state
2025-06-24 21:04:38 +02:00
Johannes Millan
7ff12d241c feat(sync-md): convert plugin to Solid.js with bidirectional sync
- Rewrite sync.md plugin using Solid.js for better performance
- Implement sophisticated bidirectional sync algorithm with conflict detection
- Add support for three sync modes: bidirectional, file-to-project, project-to-file
- Create comprehensive sync logic with checksum-based change tracking
- Add test script to validate sync functionality
- Maintain task hierarchy and handle deletions gracefully
2025-06-24 21:04:38 +02:00
Johannes Millan
730028c60c refactor: simplify procrastination-buster plugin with KISS principles
- Remove tabs from info panel, present content as plain sections
- Integrate BlockerSelector and StrategyList directly into App.tsx
- Simplify state management with ViewState type union
- Remove duplicate content and streamline text
- Clean up unused component files
- Reduce CSS complexity and remove tab-related styles
- Improve overall readability and maintainability

The plugin now follows KISS principles with a simpler, more direct
implementation that's easier to understand and maintain.
2025-06-24 21:04:37 +02:00
Johannes Millan
b056291def feat: migrate procrastination functionality to plugin
- Remove procrastination component from focus overlay
- Remove procrastination button from focus mode
- Add full procrastination content to procrastination-buster plugin
- Integrate all tabs (Intro, Curiosity, Self Compassion, Reframing)
- Remove 'Split it up\!' tab as requested
- Update plugin with proper navigation and styling
2025-06-24 21:04:37 +02:00
Johannes Millan
efdee97783 feat(plugin): add simple page transitions to procrastination-buster
Add minimal fade-in transitions following KISS principles:
- Simple .page-fade class with 0.3s opacity animation
- Applied to all page transitions consistently
- Removed complex animations and staggered delays
2025-06-24 21:04:37 +02:00
Johannes Millan
0302fa3980 feat(plugin): make switching plugins work in side panel 2025-06-24 21:04:37 +02:00
Johannes Millan
ec8c2b8b40 feat(plugin): make scrollbars work for plugins 2025-06-24 21:04:37 +02:00
Johannes Millan
2923dc1d45 feat(plugin): improve pb plugin 2025-06-24 21:04:37 +02:00
Johannes Millan
d85b3cd227 refactor(plugin): refactor strategies to support individual action types
- Add StrategyActionType enum with FOCUS_SESSION action
- Update strategy data structure to support optional actions per strategy
- Only show action buttons for specific strategies with actions defined
- Update UI to display action buttons inline to the right with responsive layout
- Simplify code by removing hardcoded blocker type checks
- Action buttons now only appear where explicitly defined in the data
2025-06-24 21:04:37 +02:00
Johannes Millan
772ebdd480 feat(plugin): refine procrastination-buster action buttons
- Only show action buttons for "overwhelm" and "distraction" strategies
- Rename "Start Pomodoro" to "Start focus session" with focus icon
- Change action to dispatch Focus Overlay instead of Pomodoro timer
- Both blockers now use the same Focus Overlay action for consistency
2025-06-24 21:04:37 +02:00
Johannes Millan
cfe0da3c4c feat(plugin): add action buttons to all strategies in procrastination-buster
- Add "Add as Task" and "Start Pomodoro" buttons to each strategy
- Add strategy-actions CSS styling for button layout
- Update plugin-iframe.util.ts with console warning comment
2025-06-24 21:04:37 +02:00
Johannes Millan
08f9c0240b refactor(plugin): clean up procrastination-buster and add proper enums
- Add enums for all message types, action types, and fixed strings
- Remove test timeout code and unnecessary console logs
- Replace all magic strings with proper constants
- Add TypeScript interfaces for better type safety
- Clean up plugin.js with organized constants
- Improve code maintainability and readability
2025-06-24 21:04:37 +02:00
Johannes Millan
7c8c37c346 feat(plugin): polish procrastination buster 2025-06-24 21:04:37 +02:00
Johannes Millan
f6eda69f49 refactor(plugin): improve perfectionism strategy text clarity
- Change 'Set time limit for v0.1' to 'Time-box your first draft (30 min)'
- Makes the strategy more accessible to non-technical users
- Provides concrete time suggestion for better actionability
2025-06-24 21:04:37 +02:00
Johannes Millan
78bdbcf481 fix(plugin): resolve empty panel issue in procrastination-buster
- Add base: './' to Vite config for relative asset paths
- Update post-build.js regex to handle both absolute and relative paths
- Ensure proper asset inlining for plugin HTML delivery
2025-06-24 21:04:37 +02:00
Johannes Millan
b6bb62006a chore: update dependencies and clean up build configuration
- Remove references to non-existent plugins from build-all.js
- Update package-lock.json files after dependency installation
- Include latest compiled assets for procrastination-buster plugin
2025-06-24 21:04:37 +02:00
Johannes Millan
7b525f4d70 feat(plugin): add install:all script for consistent dependency management
- Create install-all.js script following the same pattern as build-all.js
- Handles npm install errors gracefully with fallback to --legacy-peer-deps
- Provides colored output and progress tracking
- Installs root dependencies first, then plugin dependencies in parallel
2025-06-24 21:04:26 +02:00
Johannes Millan
e6f7538e43 feat(plugin): finalize procrastination-buster UI improvements
- Clean up UI by removing commented footer text
- Maintain simplified strategy display without action buttons
- Update icon to full-size explosion burst design
- Ensure consistent dark theme integration with CSS variables
2025-06-24 21:04:26 +02:00
Johannes Millan
890a4e0d37 feat(plugin): cleanup 2025-06-24 21:04:26 +02:00
Johannes Millan
d8d6a7a289 refactor(plugin): remove non-functional buttons from procrastination-buster
- Remove "Add Task" and "Start Pomodoro" buttons that had no implementation
- Simplify strategy list to display only text
- Clean up associated CSS styles
- Add npm script for rebuilding all plugins (npm run plugins:build)
2025-06-24 21:04:26 +02:00
Johannes Millan
3a14b5bc05 feat(plugin): add explosion burst SVG icon to procrastination-buster
- Created custom explosion burst icon with star shape and radiating lines
- Updated post-build script to look for icon in src directory
- Icon uses orange and gold colors to represent energy burst
- Properly copies icon to assets directory during build
2025-06-24 21:04:26 +02:00
Johannes Millan
a968b7e9d8 feat(plugin): migrate all plugins from src/assets to plugin-dev directory
- Migrated api-test-plugin, sync-md-plugin, and yesterday-tasks-plugin to new plugin-dev structure
- Updated plugin service to load from both legacy and new locations
- Modified build-all script to handle plugin migration during build
- Maintained backward compatibility by copying built plugins to assets directory
2025-06-24 21:04:26 +02:00
Johannes Millan
5144554624 feat(plugin): add dark theme support to procrastination buster
- Use injected CSS variables from Super Productivity theme system
- Replace hardcoded colors with theme variables (--c-primary, --theme-text-color, etc.)
- Ensure plugin adapts to both light and dark themes automatically
- Simplify CSS by removing fallback values
2025-06-24 21:04:26 +02:00
Johannes Millan
c0e8367028 feat(plugin): add build system and procrastination-buster as default plugin
- Add package.json for plugin-dev workspace with build scripts
- Create sophisticated build-all.js script for parallel plugin builds
- Translate procrastination-buster plugin to English
- Simplify plugin styling using CSS variables for theme integration
- Add procrastination-buster as default bundled plugin
- Add proper .gitignore files to exclude node_modules and build artifacts

The plugin now uses CSS variables like:
- --primary-color, --text-color, --background-color
- --card-background, --border-radius, --card-shadow
- Automatically adapts to light/dark theme
2025-06-24 21:04:26 +02:00
Johannes Millan
80f5b0fb72 feat(plugin): add procrastination-buster plugin with SolidJS
- Create modern plugin using SolidJS for reactive UI
- Implement 8 procrastination types with tailored strategies
- Use Vite for fast development and optimized builds
- Add German language interface as requested
- Demonstrate plugin-to-iframe communication
- Include task creation and pomodoro timer integration

This plugin helps users identify procrastination blockers and provides
actionable strategies to overcome them. Built with modern tooling while
maintaining simplicity in the plugin architecture.
2025-06-24 21:04:26 +02:00
Johannes Millan
f7f09e2171 feat(plugin): add simplified plugin development options following KISS principles
- Add minimal-plugin: Plain JavaScript, no build process, just 10 lines
- Add simple-typescript-plugin: TypeScript with minimal tooling (just tsc)
- Add QUICK_START.md guide for choosing the right approach
- Provide progressive complexity: minimal → simple → full featured

This gives developers options based on their needs:
- Quick prototyping with plain JS
- TypeScript support without webpack complexity
- Full featured setup only when needed
2025-06-24 21:04:26 +02:00
Johannes Millan
d9485a1b81 feat(plugin): add plugin development environment with TypeScript support
- Create plugin-dev workspace in packages/ for plugin development
- Add example-plugin with full TypeScript and build configuration
- Include webpack bundling, automatic packaging, and local testing scripts
- Provide comprehensive documentation for plugin developers
- Support both monorepo and external repository development workflows
2025-06-24 21:04:26 +02:00