Commit graph

1211 commits

Author SHA1 Message Date
Quorafind
68247f03be refactor(v2): decompose TaskViewV2 into stateless manager classes
Split monolithic TaskViewV2 (3207 lines) into 6 focused managers:
- FluentDataManager: data loading and filtering
- FluentLayoutManager: layout, sidebar, details panel, action buttons
- FluentComponentManager: view component orchestration
- FluentActionHandlers: user action handling
- FluentGestureManager: mobile gesture support
- FluentWorkspaceStateManager: state persistence

Key fixes:
- Restore missing DOM layers (tg-v2-main-container, tg-v2-content-wrapper)
- Add action buttons (Details, Capture, Filter, Reset Filter) to header
- Fix project selection to update filter state and trigger events
- Add filter-changed event listener for cross-view filtering
- Prevent double rendering by centralizing updateView calls

Architecture:
- TaskViewV2 is now single source of truth for all state
- Managers are stateless executors that communicate via callbacks
- State flows: Manager executes → Callback → TaskViewV2 updates state
2025-09-30 11:21:31 +08:00
Quorafind
148f1633a8 chore(styles): resolve conflict in styles.css 2025-09-29 20:52:36 +08:00
Quorafind
84e7aa2971 chore(styles): resolve conflict in styles.css 2025-09-29 20:52:12 +08:00
Quorafind
5b5a92d95b chore(styles): resolve conflict in styles.css 2025-09-29 20:51:31 +08:00
Quorafind
498b6dc918 refactor(plugin): simplify deferred workspace leaves loading
Combine separate forEach loops into a single iteration using spread operator.
Remove redundant length check as forEach safely handles empty arrays.
Also includes minor code formatting improvements for consistency.
2025-09-29 20:50:51 +08:00
Quorafind
09a2e0f2ea feat(quick-capture): add multi-mode capture with file creation support
- Introduce BaseQuickCaptureModal as foundation for modal variants
- Add mode switching between checkbox and file creation strategies
- Implement MinimalQuickCaptureModalWithSwitch and QuickCaptureModalWithSwitch
- Add FileNameInput component for custom file naming
- Enhance settings with mode persistence and file creation options
- Add configuration for keeping modal open after capture
- Support file name templates and default folder locations
- Update UI with improved styling and mode toggle controls

BREAKING CHANGE: Modal instantiation API has changed to support new mode parameter
2025-09-29 20:16:56 +08:00
Boninall
e18ea53b35
Merge pull request #463 from haron-IV/fix/cancel-date-goes-before-task-content
fix: cancel date goes before task content
2025-09-27 09:23:08 +08:00
Boninall
8b098bad38
Merge branch 'master' into fix/cancel-date-goes-before-task-content 2025-09-27 09:21:40 +08:00
Quorafind
1675c1789d chore(release): bump version to 9.9.0-beta.6 [beta] 2025-09-27 09:16:06 +08:00
Quorafind
27c426c474 feat(settings): add workspace selector component
Add a new workspace selector component to the settings tab that allows
users to switch between different workspace configurations. The selector
displays the current workspace icon and name, and provides a dropdown
menu to switch between available workspaces.

- Create WorkspaceSettingsSelector component with workspace switching
- Add styling for the workspace selector UI
- Support workspace icon display and hover effects
- Integrate with existing workspace manager
2025-09-27 09:15:35 +08:00
Quorafind
41f1d95576 feat: improve date positioning logic for task metadata
- Enhanced content parsing to properly handle wiki links, nested brackets, and special characters
- Fixed cancelled date positioning to respect content boundaries
- Added comprehensive test coverage for edge cases
- Cancelled dates now correctly place after task content but before metadata (tags, dataview fields)
- Start dates continue to be placed after content before other metadata
- Properly handles URLs with hashtags without confusing them with tags

This builds on PR #463 to provide a more robust solution for date positioning in tasks.
2025-09-27 09:15:35 +08:00
Quorafind
dab3ecb5d7 fix(editor): improve date positioning in task content
- Fix cancelled date insertion to appear after task content
- Improve content boundary detection for dates and metadata
- Handle wiki links and special characters in task content correctly
- Ensure dates are positioned before tags and dataview fields
2025-09-27 09:15:35 +08:00
haron-IV
8b48e6a25b fix: cancel date goes before task content 2025-09-27 09:15:35 +08:00
Quorafind
9109c07d28 chore(release): bump version to 9.9.0-beta.5 [beta] 2025-09-26 17:33:25 +08:00
Quorafind
8abd736e84 chore(version): fix version issue before 2025-09-26 17:32:16 +08:00
Quorafind
ef0834c65a chore(release): bump version to 9.9.0-beta.5 [beta] 2025-09-26 17:16:00 +08:00
Quorafind
f20c5ebee3 fix(task-mover): prevent archive markers on non-task lines and preserve folded content
- Skip non-task lines (empty lines, regular text) when processing selections
- Detect and move indented content (notes, tags) with parent tasks
- Ensure indented content below tasks moves together as a unit
- Fix child task collection to start after folded content to avoid duplicates
2025-09-26 16:56:50 +08:00
Quorafind
f282bffbf8 fix(setting): manage workspace setting should jump to workspace setting tab 2025-09-25 22:13:39 +08:00
Quorafind
2c24068c69 fix(v2): hide top navigation for two-column views
- Return empty availableModes array for two-column views to hide navigation
- Two-column views have their own specialized UI that doesn't require view mode switching
- Also includes import path updates to use alias paths and minor code style improvements
2025-09-25 22:13:39 +08:00
haron-IV
17afcc43ab fix: cancel date goes before task content 2025-09-25 10:59:24 +02:00
Quorafind
741b10647e chore(release): bump version to 9.9.0-beta.4 [beta] 2025-09-24 18:52:02 +08:00
Quorafind
b709c90f6f feat(workspace): add custom icon selection for workspaces
- Add icon property to WorkspaceData type for custom workspace icons
- Extract workspace modals to separate module for better organization
- Implement icon selector in create/rename workspace dialogs
- Update workspace selector to display custom icons
- Add dedicated styles for workspace icon UI components
- Support icon inheritance when cloning workspaces
- Enhance workspace settings tab with icon display

This allows users to visually distinguish workspaces beyond names,
improving workspace identification and navigation experience.
2025-09-24 18:48:11 +08:00
Quorafind
6c282f976c fix(v2): resolve filter state management issues
- Fix duplicate filter creation when switching projects
- Remove empty filter groups and validate projectId before creating new filters
- Improve filter reset to properly sync workspace state and UI components
- Fix view refresh after filter clearing by adjusting switchView skip logic

Resolves issues where:
1. Clicking different projects created duplicate filter entries
2. Clearing filters on inbox page didn't refresh data properly
2025-09-24 17:43:26 +08:00
Quorafind
c0e694b8ee chore(settings): update workspace settings 2025-09-24 16:09:11 +08:00
Quorafind
5c3d19e95c chore(sytles): ignore styles css 2025-09-24 15:31:09 +08:00
Quorafind
dc4816ae1c chore(release): bump version to 9.9.0-beta.3 [beta] 2025-09-24 14:06:08 +08:00
Quorafind
ec09f34771 fix(ui): correct translation interpolation and button alignment
- Fix date interpolation in workspace settings translation
- Add tooltip for disabled delete button on default workspace
- Align v2 nav button items properly with center alignment
2025-09-24 14:03:59 +08:00
Quorafind
2d7a697ec7 chore(release): bump version to 9.9.0-beta.2 [beta] 2025-09-24 13:40:54 +08:00
Quorafind
c096c6c952 refactor(v2): rename V2 interface to Fluent and simplify command names
- Rename "V2 interface" to "Fluent interface" in settings and notices
- Simplify command and ribbon names by removing redundant "Task Genius" prefix
- Fix icon alignment in navigation by adding center alignment
2025-09-24 13:39:57 +08:00
Quorafind
013f5d954d chore(release): bump version to 9.9.0-beta.1 [beta] 2025-09-24 13:30:52 +08:00
Quorafind
78cdf77c1f fix(filter): ensure proper initialization of filter components
- Add null check and default return value in getFilterState method
- Call onload() in modal and popover to ensure component initialization
- Prevents potential runtime errors when filter state is not initialized
2025-09-24 13:28:46 +08:00
Quorafind
2b1018ec46 chore(release): bump version to 9.9.0-beta.0 [beta] 2025-09-24 12:43:09 +08:00
Quorafind
a167e7d256 chore: update packagejson and also release script 2025-09-24 10:44:51 +08:00
Quorafind
86cbad4a47 feat(view): add task count display in view title
- Add createTaskMark() method to show total task count
- Display formatted task count in view title
- Remove debug console.log statement
2025-09-24 08:44:01 +08:00
Quorafind
7721ac191c feat(fluent): add mobile drawer navigation and responsive design
- Implement mobile drawer with overlay and swipe gestures
- Add touch gesture support for drawer open/close
- Refactor sidebar rail mode for better collapsed state
- Add responsive breakpoints for mobile devices
- Optimize search and navigation UI for small screens
- Add mobile-specific CSS classes and styling
- Improve task details panel layout on mobile
2025-09-24 08:42:03 +08:00
Quorafind
59643c038f feat(fluent-sidebar): add right-click context menu for view items
- Add context menu with Open in new tab, Open settings, Copy view options
- Add Hide in sidebar option (limited to Other Views only)
- Add Delete option for custom views
- Support context menu in both expanded and collapsed rail modes
- Use DOM manipulation instead of full re-render for hide/delete actions
- Import ViewConfigModal and TASK_SPECIFIC_VIEW_TYPE for menu functionality
2025-09-24 00:38:05 +08:00
Quorafind
e08aa647af perf(fluent): optimize view initialization and reduce unnecessary renders
- Add initialization flag to prevent multiple renders during startup
- Implement scheduled update system to batch multiple update requests
- Only hide currently visible component instead of all components
- Apply filters once during initialization instead of multiple times
- Defer initial data load in ReviewComponent to avoid duplicate calls
- Add requestAnimationFrame for smoother scheduled updates
- Track visible component separately from active component
- Reduce redundant switchView calls with smarter update logic

This significantly improves startup performance and eliminates render flashing
2025-09-23 17:48:05 +08:00
Quorafind
f3bee5e16d feat(projects): add tree view support and improve view mode system
- Add hierarchical tree view for projects with expand/collapse functionality
- Implement per-view mode configuration (list, tree, kanban, calendar)
- Add tree/list toggle button to sidebar project header
- Remove FluentFilterPanel component (consolidated elsewhere)
- Store tree expansion state and view preference in local storage
- Enhance ProjectList with tree node structure and level-based rendering
- Update styles for tree view indentation and expand indicators
- Configure available view modes per view type
- Improve FileSourceSettings with better organization

BREAKING CHANGE: FluentFilterPanel component removed - filter functionality moved to view header
2025-09-23 09:58:39 +08:00
Quorafind
1e162c219a feat(fluent-nav): hide entire navigation when no view tabs are needed
- Add configurable availableModes support to TopNavigation
- Hide complete navigation bar when availableModes is empty
- Dynamically show/hide navigation based on view requirements
- Update rendering logic to be conditional on available modes

This improves UI clarity for special views that don't require tab-based navigation
2025-09-23 09:50:20 +08:00
Quorafind
743b9ca866 feat(projects): add context menu with edit and delete functionality
- Add right-click context menu to project items with Edit/Delete options
- Create EditProjectModal for editing project display names and colors
- Support separate display names from internal project names
- Implement project deletion with confirmation dialog
- Disable menu options for task-derived (non-custom) projects
- Add forceRefresh parameter to AutoComplete cache
2025-09-22 23:08:16 +08:00
Quorafind
adc7e3e8e0 refactor(workspace): make search query ephemeral across workspace switches
- Remove searchQuery from workspace persistence to keep it ephemeral
- Clear search input when switching workspaces
- Preserve selectedProject and advanced filters
- Ensure consistent search clearing behavior in all switch scenarios
2025-09-22 21:37:11 +08:00
Quorafind
f617992d80 fix(workspace): resolve filter state persistence and restoration issues
- Fix workspace filter state not persisting correctly across switches
- Add detailed logging for workspace operations debugging
- Store fluentFilterState separately per workspace to prevent cross-contamination
- Handle default workspace fluentFilterState as workspace-scoped setting
- Save filter state when search query or project selection changes
- Clear cache properly when switching workspaces
- Add console logging to trace filter save/restore operations
2025-09-22 21:10:07 +08:00
Quorafind
2b7179ed9e feat(fluent): implement workspace management with persistent filter states
- Add WorkspaceManager for handling workspace operations
- Implement filter state persistence per workspace and view
- Add workspace settings UI in settings page with create/rename/delete
- Fix infinite refresh loop by using debounced quiet save
- Store fluentFilterState in workspace overrides for each view
- Add workspace events system for UI synchronization
- Support workspace switching with automatic state restoration
2025-09-22 20:09:55 +08:00
Quorafind
9f008db1a0 feat(fluent): add project creation UI with sorting capabilities
- Add CustomProject interface for project persistence
- Implement ProjectPopover (desktop) and ProjectModal (mobile) for project creation
- Add color picker with 15 predefined colors for visual organization
- Replace add button with sort menu in sidebar
- Implement 6 sort options (name, tasks, created date) with localStorage persistence
- Use Intl.Collator for locale-sensitive string comparison
- Extend Obsidian Component class for proper lifecycle management
- Add comprehensive CSS styling for popover and modal interfaces
2025-09-22 11:55:06 +08:00
Quorafind
c747e2bb14 feat(fluent): add overflow menu for other views and optimized task updates
- Add configurable overflow threshold for Other Views (default: 5)
- Show overflow menu (ellipsis) when more than 5 other views exist
- Add setting in Beta Test tab to configure overflow threshold
- Implement refreshCurrentViewData for lightweight updates
- Optimize task updates to only refresh affected components
- Preserve details panel state during task updates
- Avoid full view re-renders when task data changes
2025-09-22 09:13:03 +08:00
Quorafind
86f8d1719e feat(fluent): add collapsible sidebar and full task context menu
- Implement collapsible sidebar with rail mode for narrow layouts
- Add responsive auto-collapse on resize (<768px width)
- Add sidebar toggle button in view header
- Integrate TaskDetailsComponent for full task detail editing
- Implement comprehensive context menu with status switching
- Add task deletion with subtask handling
- Add edit in file functionality
- Refresh navigation badges when tasks update
- Improve clickable icon styling for view tabs
- Optimize task filtering to use pre-computed filtered tasks
- Add computeOtherItems method to dynamically generate other view items
2025-09-21 21:59:34 +08:00
Quorafind
c722fb4c88 feat(fluent): add project filter integration and details panel
- Add project property to filter component with standard conditions
- Integrate project selection with global filter UI state
- Sync project filters bidirectionally between sidebar and filter UI
- Implement details panel for task context menu actions
- Make projects view use content component with global filters
- Add project filter implementation in task-filter-utils
2025-09-21 09:50:11 +08:00
Quorafind
846d3bbeb6 refactor(fluent): streamline filter panel integration and fix view mode initialization
- Remove standalone filter panel in favor of Obsidian view header integration
- Fix view mode initialization to default to list view for content-based views
- Add setIsTreeView method for external view mode control
- Improve component initialization logging for better debugging
- Remove unused patches documentation file
- Fix TypeScript type issues with filter options
2025-09-21 08:28:03 +08:00
Quorafind
6b779f84a5 feat(experimental): add Fluent interface foundation with settings infrastructure
- Add ExperimentalSettings interface with Fluent configuration options
- Implement FluentIntegration class for managing experimental features
- Add Fluent toggle and ribbon icon settings in Beta Test settings tab
- Create experimental folder structure for Fluent components
- Add settings migration for experimental features
- Register Fluent integration on plugin load
2025-09-20 22:06:59 +08:00
Quorafind
e1ab75d420 chore(release): bump version to 9.8.14 2025-09-19 11:42:26 +08:00