Based on feedback from kepano to reduce custom styling and use
Obsidian's native styles where possible:
- Replace all `cursor: pointer` with `cursor: var(--cursor)` across
all CSS files (100+ instances). Following Obsidian's convention where
`cursor: pointer` is only for links.
- Remove forced `border: none; box-shadow: none` rules that were
fighting against Obsidian's native button styling.
- Scope custom `.tn-btn` button system to `.mod-settings` only,
allowing Obsidian's native button styles to work elsewhere.
- Add `background: transparent` to mini-calendar buttons to match
Obsidian's native `.text-icon-button` styling.
This makes the plugin more cohesive with Obsidian's UI and reduces
unnecessary style overrides.
• Added a new CSS file (styles/date-picker.css) that provides comprehensive styling for the date picker modal including header, inputs, buttons, and responsive/focus states.
• Modified build-css.mjs to include the new date-picker.css file.
• Refactored DateContextMenu to:
- Introduce a modular layout by splitting modal creation into smaller methods (createModal, createHeader, createDateSection, createTimeSection, createInputLabel, createInputContainer, createDateInput, createTimeInput, createButtonSection, etc.).
- Add a calendar icon and enhanced visual cues in the modal header.
- Implement click handlers that automatically show native pickers via a custom addPickerClickHandler.
- Set up event handlers for the select, cancel, Enter, ESC and clicking outside the modal to improve UX.
• Updated MinimalistTaskCreationModal and MinimalistTaskEditModal to use "Create task" and "Edit task" (changed title casing) for consistency.
• Enhanced MinimalistTaskEditModal by:
- Removing legacy extraction of task details.
- Adding a details section that includes a title input (with live update) and additional fields.
- Introducing action buttons with an “Open note” button that opens the associated note in a new leaf while ensuring proper error handling.
• Modified MinimalistTaskModal to extract and combine date/time parts (using getDatePart, getTimePart, and combineDateAndTime) when updating due and scheduled dates based on picker input.
These changes improve the modularity, usability, and visual consistency of date/time selection and task editing features across the plugin.