Commit graph

407 commits

Author SHA1 Message Date
Quorafind
62f235ae06 style(fluent): simplify theme by removing redundant backgrounds and borders
- Comment out background-color on sidebar container
- Remove border and background styling from task detail buttons
- Simplify fluent-modern layout spacing and border-radius
- Let parent theme handle background inheritance
2025-12-13 08:25:49 +08:00
Quorafind
7116bb15ae refactor(styles): migrate from CSS to SCSS
- Convert all .css files to .scss format
- Add sass and esbuild-sass-plugin dependencies
- Configure esbuild with sassPlugin for SCSS compilation
- Update all component imports from .css to .scss
- Add _variables.scss for shared SCSS variables
- Add native-layout.scss for new layout styles
2025-12-11 14:33:41 +08:00
Quorafind
9be6bf7580 feat(timer): add timer statistics panel and Working On view
- Add TimerStatisticsPanel component for displaying active and completed timers
- Implement completed timer history with configurable max records
- Add timer controls (start/pause/resume/stop) to task list and tree views
- Integrate timer auto-start option in quick capture settings
- Add Working On navigation item for viewing active timers
- Refactor timer manager with unified storage abstraction
- Add i18n translations for timer features (en/zh-cn)
- Add timer statistics CSS styles
2025-12-09 11:38:26 +08:00
Quorafind
6ce9671511 feat(kanban): add column visibility toggle with hide/unhide functionality 2025-12-03 08:56:19 +08:00
Quorafind
82a20200a3 feat(time-parsing): improve emoji-based date type detection and time preservation 2025-11-30 15:45:10 +08:00
Quorafind
428d3af3fc style(calendar): improve theming and add allday section styles 2025-11-29 21:10:32 +08:00
Quorafind
e8c1dd1ec4 feat(calendar): add custom calendar views with configurable options 2025-11-29 16:17:01 +08:00
Quorafind
6987fdd2ba refactor(calendar): update calendar component integration and styles
- Add TaskCalendarAdapter for task-to-calendar event conversion
- Update calendar component with improved view container styling
- Refresh calendar styles from @taskgenius/calendar package
2025-11-26 10:31:15 +08:00
Quorafind
8ffd5cee0e fix(calendar): integrate @taskgenius/calendar and fix date handling
- Refactor calendar component to use @taskgenius/calendar for month/week/day views
- Add working hours configuration (showWorkingHoursOnly, workingHoursStart/End)
- Fix drag-and-drop date handling for all-day and timed events
- Add handleTGEventResize for event resizing support
- Improve event callback signatures to match library API
- Add NormalizedDateFnsAdapter for date-fns v4 compatibility
2025-11-25 10:42:26 +08:00
Quorafind
36d834091a feat(kanban): add cycle selector and Other column for unmatched tasks
- Add cycle selector button in kanban controls to filter by specific status cycle
- Display 'Other' column for tasks not in selected cycle
- Prevent status updates when dragging to Other column (returns null)
- Save cycle selection to localStorage per view
- Add getUnmatchedTasks() to collect tasks outside current cycle
- Update getTasksForStatus() to respect cycle selection
- Add getStatusMarkForColumn() to handle Other column drag prevention
- Add translations for cycle selector UI (en, zh-cn)
- Update kanban styles for cycle selector button
- Update Fluent UI components and styles
- Update status switcher and task grouping logic
- Update read mode text mark handling
2025-11-18 22:11:13 +08:00
Quorafind
7244d9188d feat(status): add multi-cycle status support with priority-based selection
- Introduce StatusCycle interface for defining multiple independent task status cycles
- Add priority-based cycle selection (lower number = higher priority)
- Implement status-cycle-resolver utilities for finding applicable cycles and next states
- Add settings migration from legacy single-cycle to multi-cycle format
- Update task cycling commands to support multi-cycle with fallback to legacy mode
- Enhance status switching UI in FluentActionHandlers with cycle-aware menu
- Maintain backward compatibility with existing taskStatusCycle settings
- Add validation and repair utilities for status cycle configurations
- Deprecate taskStatusCycle, taskStatusMarks, and excludeMarksFromCycle settings

The new multi-cycle system allows users to define multiple status workflows
with different priorities, enabling context-specific task state management
while preserving compatibility with existing single-cycle configurations.
2025-11-18 14:56:57 +08:00
Quorafind
2b7301b4d0 style: update group-by style issue 2025-11-13 11:49:05 +08:00
Quorafind
bcd3f2bf95 feat(grouping): add task grouping system with multiple dimensions
Add comprehensive task grouping functionality with support for multiple
grouping dimensions including file path, due date, priority, project,
tags, and status. Features include:

- New grouping utility functions with nested group support
- Storage layer for persisting group configuration and state
- UI components for group selection and display
- Collapsible group sections with expand/collapse state
- Visual styling with priority/due date indicators
- Integration with task view content component
2025-11-13 11:37:50 +08:00
Quorafind
586e8613db feat(mcp): add server logging system with modal viewer
- Add comprehensive logging for all MCP tool calls with timestamps,
  duration, arguments, results, and session tracking
- Implement McpLogModal component for viewing logs in settings UI
- Add log truncation for large responses (max 500 chars preview)
- Add getServer() method to McpServerManager for log access
- Fix metadata type safety by checking string type before trim()
- Normalize project names to handle arrays and non-string values
2025-11-12 20:53:08 +08:00
Quorafind
447f637ec8 style(fluent): implement modern interface styles
- Add fluent-modern.css with comprehensive modern styling
- Implement modern background color system with theme support
- Style sidebar, navigation, content areas for modern interface
- Update fluent-main.css with transition improvements
- Refactor modern.css to remove duplicates
- Add modern interface styles to compiled styles.css
- Support responsive design for mobile devices

[Configure interface style →](obsidian://task-genius/settings?tab=interface&section=interface-mode)
2025-11-11 21:59:26 +08:00
Quorafind
021dc1dd4a style(ui): refine colors and improve visual consistency
- Enhance sidebar sections with semantic class names
- Adjust kanban card backgrounds for better contrast
- Lighten task item borders (base-10 → base-20)
- Strengthen forecast section title font weight
- Clean up code formatting (trailing commas)
2025-11-09 22:33:46 +08:00
Quorafind
54e55f4ba1 style(ui): refactor CSS imports and modernize task item styling
- Centralize CSS imports in content.ts component
- Add modern.css with updated task item design
- Remove task item borders for cleaner appearance
- Clean up code formatting (trailing commas)
- Update README description text
2025-11-09 22:21:48 +08:00
Quorafind
2d959e94d7 style: update bumped styles 2025-11-06 22:57:26 +08:00
Quorafind
4d04384b6e fix: tag input event issue 2025-10-30 14:08:02 +08:00
Quorafind
bc3a1d31d4 style: format code with prettier
Applied consistent code formatting across multiple components including
trailing commas, quote style normalization, and proper indentation.
No functional changes.

Files updated:
- FluentComponentManager: Consistent trailing commas
- KanbanComponent: Code formatting improvements
- MarkdownRenderer: Quote and comma consistency
- StatusCycler: Formatting cleanup
- FluentTaskView: Trailing comma fixes
- Calendar/Task components: Minor formatting
- CSS files: Formatting improvements
2025-10-29 15:54:22 +08:00
Quorafind
f7456af12d feat(file-source): add metadata field mapping configuration
Add new metadata mappings feature that allows users to map custom
metadata field names to standard task properties. This enables support
for different metadata naming conventions (e.g., mapping "proj" to
"project", "ctx" to "context").

- Add metadata mappings configuration UI with add/remove/toggle controls
- Include field validation to prevent duplicate target mappings
- Add MetadataMappingConfig type definition
- Update default settings and tests to include metadataMappings
- Integrate mapping support throughout FileSource system
- Add handleTaskEditInFile method to FluentActionHandlers
- Improve settings tab organization with better visual structure
2025-10-28 12:46:12 +08:00
Quorafind
e9e8979b07 feat(fluent): add automatic sorting to data manager
Integrate sorting functionality into FluentDataManager:
- Apply global and view-specific sort criteria to filtered tasks
- Add event listeners for view config and settings changes to trigger resort
- Ensure sorting updates occur on configuration modifications

Also update task dependency badge styling to use neutral colors instead of error colors for better visual clarity.
2025-10-24 15:38:56 +08:00
Quorafind
d5f27b7205 feat(fluent): add responsive sidebar auto-collapse
- Auto-collapse sidebar when view width ≤ 600px
- Auto-expand sidebar when view width > 600px
- Add leaf-width-updated event for width tracking
- Implement debounced onResize handler in FluentTaskView
- Add responsive tab text hiding for narrow views
- Remove unnecessary console warnings in ContentComponent
- Fix CHANGELOG typo (Shinny → Features)
2025-10-22 12:38:03 +08:00
Quorafind
f2cb55664d chore: fix style issue 2025-10-21 09:07:45 +08:00
Quorafind
7d41359c6e refactor: remove void keywords and standardize code formatting
- Remove unnecessary void keywords from async function calls
- Standardize code formatting with consistent trailing commas
- Add date operation utilities for task date management
- Add TextPromptModal component for user input
- Enhance FluentActionHandlers with improved task update handling
2025-10-20 16:46:55 +08:00
Quorafind
99884ea37c refactor(quick-capture): consolidate modal imports and improve code quality
- Switch all imports to use QuickCaptureModalWithSwitch consistently
- Make timeParsingService public in QuickCaptureModalWithSwitch for test access
- Apply consistent code formatting (Prettier)
- Fix add project button placement in ProjectList (move from scrollArea to containerEl)
- Improve UI element creation in FluentSidebar using text parameter
2025-10-20 09:44:56 +08:00
Quorafind
2f2f59acf8 refactor(fluent): improve view mode persistence and configuration
- Add per-view view mode persistence to remember mode for each navigation item
- Make workspace side leaves optional with default disabled
- Improve project filtering with normalized comparison logic
- Expose dataflow orchestrator early for event subscription
- Enhance type safety across fluent components
- Add missing event listeners for cache updates in ProjectList
2025-10-19 23:24:11 +08:00
Quorafind
852f527fd0 feat(task): add multi-task selection and bulk operations
Add comprehensive task selection and bulk operation capabilities:

- Add TaskSelectionManager for managing task selection state
- Add LongPressDetector for mobile gesture support
- Add BulkOperationsMenu with operations for selected tasks
- Support shift-click and ctrl-click for multi-selection
- Support long-press on mobile to enter selection mode
- Add visual feedback for selected tasks with highlighting
- Add floating badge showing selected task count
- Add write queue in WriteAPI to prevent concurrent writes
- Add updateTasksSequentially API for batch task updates
- Integrate selection manager into task list and tree views

Bulk operations supported:
- Set due date (absolute or relative offset)
- Set start date
- Set priority
- Add/remove tags
- Set status
- Archive tasks
- Delete tasks

New files:
- src/components/features/task/selection/TaskSelectionManager.ts
- src/components/features/task/selection/LongPressDetector.ts
- src/components/features/task/view/BulkOperationsMenu.ts
- src/styles/task-selection.css
- src/types/selection.d.ts
2025-10-19 13:44:12 +08:00
Quorafind
09ed881196 feat(workspace): add module visibility control with performance improvements
- Add hidden modules configuration UI for views, sidebar components, and features
- Refactor WorkspaceSelector to prevent unnecessary re-renders using updateActiveWorkspaceView
- Add module visibility API methods to WorkspaceManager (isViewHidden, isFeatureHidden, etc.)
- Improve workspace state synchronization with new syncFilterState method and FilterSyncHandlers
- Add DEBUG_MODE toggle to FluentTaskView for better debugging control
- Update gitignore to exclude .codex directory

Breaking changes: None
2025-10-16 23:46:06 +08:00
Quorafind
cf5334f3ba fix(editor-extensions): resolve transaction conflicts between workflow and date managers
- Add transaction annotation checks to prevent workflow/date manager conflicts
- Improve bounds checking and error handling in date manager operations
- Add safety checks for document position calculations
- Remove verbose console logging for cleaner output
- Fix code formatting and trailing comma inconsistencies
- Enhance transaction filter coordination to prevent duplicate operations
2025-10-13 10:06:33 +08:00
Quorafind
8fca37040a fix(changelog): improve cache serialization and require app parameter
- Ensure proper JSON serialization when saving cache to localStorage
- Handle string values in sanitizeCachePayload with JSON parsing
- Make app parameter required for all cache operations
- Add debug logging for troubleshooting cache issues
2025-10-12 17:27:16 +08:00
Quorafind
59a2d42f9f refactor(workflow): improve code quality and type safety
- Remove debug console.log statements from workflow handlers
- Add proper TypeScript type definitions (WorkflowInfo, ResolvedWorkflowInfo)
- Extract regex patterns and magic strings as constants
- Create helper functions for cleaner code (getIndentation, getEditorFromView)
- Improve error handling with bounds checking
- Enhance time parsing service with better fallback logic
- Add fallback property names for date fields in file task manager
- Fix test import paths for relocated modules
- Consolidate duplicate code in workflow stage transitions
- Improve indentation handling in parent task updater

Breaking changes: None
2025-10-12 14:25:20 +08:00
Quorafind
1b9768f5af feat(onboarding): refactor onboarding flow with new placement configuration
- Add new PlacementStep for configuring Fluent layout placement
- Consolidate onboarding steps into unified step-based architecture
- Remove obsolete components (ConfigPreview, FluentPlacement, OnboardingComplete, UserLevelSelector)
- Enhance step navigation with improved back/skip logic
- Add internationalization support to changelog view
- Update changelog branding (icon, URL to taskgenius.md)
- Add experimental TaskViewV2 with enhanced Fluent interface
- Improve onboarding UI with better visual hierarchy and styling
- Update translations across en, zh-cn, zh-tw locales
2025-10-10 17:21:07 +08:00
Quorafind
2323767b32 feat(changelog): add in-app changelog viewer with auto-display on updates
- Add ChangelogView component for displaying release notes
- Implement ChangelogManager to handle version tracking and display logic
- Add changelog cache utility for offline access
- Integrate changelog settings in About tab (toggle to enable/disable)
- Support loading changelog from GitHub releases
- Auto-show changelog on plugin updates (configurable)
- Add dedicated CSS styling for changelog presentation
2025-10-10 11:18:59 +08:00
Quorafind
ab8af59b34 refactor(quick-capture): migrate to QuickCaptureModalWithSwitch and improve UI
- Update all imports from QuickCaptureModal to QuickCaptureModalWithSwitch
- Conditionally show clear button only when both file and inline modes are available
- Hide tab container when only one mode is available (aria-hidden attribute)
- Adjust modal height from 750px to 700px for better viewport fit
- Add CSS rule to hide modal title when containing hidden elements
- Clean up formatting and spacing consistency
2025-10-10 09:12:34 +08:00
Quorafind
0ae3957144 feat(settings): enhance index settings with tabbed source configuration
- Add tabbed interface for Checkbox Tasks and File Tasks configuration
- Introduce FileFilterScopeControls to manage inline vs file task sources
- Create ViewComponent base class for unified view component behaviors
- Improve settings UI with clearer separation of task source types
- Add scope controls to FileFilterManager for granular source management
- Update calendar component formatting and add configOverride support
- Enhance CSS styling for tabbed settings interface
2025-10-09 21:23:51 +08:00
Quorafind
75162619d6 style: improve CSS formatting and remove redundant type annotations
- Fix CSS indentation in fluent-main.css for better readability
- Add .bases-view selector for kanban filters hiding
- Remove explicit boolean type annotations in ProjectList
- Update compiled styles.css

These are non-functional formatting improvements and style consistency
updates that improve code readability without changing behavior.
2025-10-09 14:14:41 +08:00
Quorafind
5583f4678c refactor(bases): simplify view registration and upgrade to Obsidian 1.10
- Replace complex ViewManager with streamlined registration approach
- Consolidate multiple specialized view classes into unified TaskBasesView
- Upgrade Obsidian API from 1.8.7 to 1.10.0 for latest features
- Add kanban config override support for Bases view integration
- Update file task property mappings to align with dataview standards
- Remove deprecated Bases API version checking from VersionManager
2025-10-08 21:12:17 +08:00
Quorafind
791f2cd9a9 refactor(fluent): extract fluent settings and reorganize file structure
- Add dedicated FluentViewSettings interface separated from experimental
- Move FileTaskView to bases/ directory for better organization
- Update all fluent integration to use fluentView settings
- Add DEVELOPMENT.md with project development guidelines
- Migrate settings with backward compatibility

BREAKING CHANGE: Settings structure changed from experimental.enableFluent
to fluentView.enableFluent (migration handled automatically)
2025-10-08 01:34:46 +08:00
Quorafind
aaa4ff43eb refactor(fluent): migrate experimental v2 to production fluent structure
- Move all experimental v2 components to src/components/features/fluent/
- Relocate views from experimental to src/pages/
- Organize base views into src/pages/bases/ subdirectory
- Rename all V2 references to Fluent (classes, CSS, settings)
- Update import paths throughout the codebase
- Consolidate styles into src/styles/fluent/ directory
- Remove experimental backup files

This completes the graduation of the experimental Fluent UI features
into the main codebase structure for better maintainability and
organization.
2025-10-07 21:54:43 +08:00
Quorafind
e17caaff8f feat(onboarding): enhance setup with modal-driven file filter editing
Refactor onboarding system with improved component lifecycle and enhanced
file filter management. Replace prompt-based interactions with modal dialogs
and add comprehensive autocomplete support.

Key changes:
- Add OnboardingStepComponent base class for consistent lifecycle management
- Introduce FileFilterRuleEditorModal for interactive rule editing
- Replace prompts with modal-based file/folder selection with autocomplete
- Add per-rule scope configuration and inline editing capabilities
- Update view title from "Onboarding" to "Setup" with custom icon
- Extend OnboardingLayout to Component class for better resource management
- Improve UI polish with toggleVisibility and enhanced styling
2025-10-07 20:39:46 +08:00
Boninall
1a09c398d9 style(onboarding): improve component preview layout
- Add dedicated styles for sidebar preview component
- Change preview container layout from column to row direction
- Add horizontal scrolling support for wider preview content
- Set fixed width for sidebar preview to maintain proportions
2025-10-03 23:00:03 +08:00
Boninall
1814877969 refactor(onboarding): decompose fluent onboarding into progressive steps
Breaking down the Fluent UI onboarding process into smaller, focused steps
for better user guidance and comprehension:

- Split monolithic Fluent components step into 6 progressive steps
- Add individual step components for each UI section (Overview, Workspace
  Selector, Main Navigation, Projects, Other Views, Top Navigation)
- Enhance preview components with interactive selection and focus/dim modes
- Improve visual hierarchy with targeted highlighting for each step
- Add keyboard support and accessibility attributes to preview components
- Fix transition timing to show config check only at appropriate steps

This change provides a more guided and digestible onboarding experience
by presenting UI concepts progressively rather than all at once.
2025-10-03 22:58:28 +08:00
Boninall
962623b3e8 chore: clean up documentation and refine onboarding UI
- Remove 25 outdated documentation files from completed refactoring efforts
- Reorder placement options to prioritize inline mode in onboarding
- Fix task item CSS class naming for consistency
- Remove unused content area showcase from fluent components
- Correct sideleaves configuration logic in placement step
- Update onboarding component styles for better visual hierarchy

These changes streamline the codebase by removing completed migration
documentation and improve the onboarding experience with better defaults
and cleaner UI presentation.
2025-10-03 22:02:54 +08:00
Boninall
055ba03772 refactor(onboarding): integrate mode selection into intro step
- Merge mode selection UI directly into intro step after typing animation
- Update navigation flow to skip standalone MODE_SELECT step
- Improve component previews with accurate V2 UI structure
- Fix transition logic for fluent vs legacy mode paths
- Add documentation for onboarding flow improvements
2025-10-03 21:24:18 +08:00
Quorafind
6307b018ca feat(onboarding): add file filter and fluent components configuration steps
- Add FileFilterStep for configuring which files to track tasks in
- Add FluentComponentsStep for selecting UI components to enable
- Create ComponentPreviewFactory for generating dynamic component previews
- Extract dedicated CSS for onboarding components styling
- Improve step separation by removing inline mode selection from intro
- Enhance modularity with clear step boundaries and responsibilities
2025-10-03 18:56:24 +08:00
Quorafind
8f5daebd86 refactor(onboarding): decompose monolithic modal into component architecture
- Replace single OnboardingModal with modular MVC-style design
  - OnboardingController: centralized state and navigation logic
  - OnboardingLayout: reusable header/content/footer structure
  - Step components: isolated, single-responsibility modules

- Extract 8 step components from monolithic modal:
  - IntroStep, ModeSelectionStep, PlacementStep, UserLevelStep
  - ConfigPreviewStep, TaskGuideStep, CompleteStep, SettingsCheckStep

- Create reusable UI components library (5 components):
  - Alert, Badge, FeatureList, ProgressDots, SelectableCard

- Add sub-components for complex steps:
  - Intro: TypingAnimation, ConfigCheckTransition, TransitionMessage
  - Guide: FormatExamples, QuickCaptureDemo
  - Preview: ChangesPreview, ConfigSummary, SettingsList, ViewsGrid

- Transform OnboardingView to use new controller-driven architecture
- Add layout-placement.css for placement step styling
- Update AboutSettingsTab to integrate with refactored system

Benefits:
- Improved maintainability through separation of concerns
- Easier to test individual components in isolation
- Cleaner code organization with focused, single-purpose modules
- Reusable UI components across onboarding flow
2025-10-01 22:41:48 +08:00
Quorafind
a1b12c94dc feat(onboarding): improve layout flexibility and refine copy
- Update subtitle text for better conversational flow
- Remove fixed height from mode-card-preview for flexible content
- Make intro-typing-wrapper responsive with max(900px, 70%)
2025-10-01 20:18:46 +08:00
Quorafind
17545ed33c feat(onboarding): add theme-aware preview images for mode selection
Replace emoji placeholders with actual preview images for fluent and
legacy modes. Images are loaded from GitHub repository with automatic
theme detection (dark/light variants). Also fix CSS specificity for
mode card styling to ensure proper scoping.
2025-10-01 17:17:38 +08:00
Quorafind
141b092f47 feat(onboarding): add noise texture and enhance UI polish
- Add noise texture layer system for visual depth
- Modernize footer with glass morphism and ripple effects
- Improve layout stability during intro animation
- Add mode selection preview images
- Standardize box-shadows to CSS variables across all styles
- Enhance mobile responsiveness and dark theme support
2025-10-01 15:00:42 +08:00