diff options
| author | Adam Malczewski <[email protected]> | 2026-03-28 19:26:58 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-03-28 19:26:58 +0900 |
| commit | ab6d09df695c5cdfa21aa8005f00ebf2bd37df2b (patch) | |
| tree | ae4f994a85b2ba52a9c8e8626c6d8ae9dd2e4cf4 /.rules/plan/calendar-phase-5.md | |
| parent | 80b35f3a606753ba804445e120eb9a7f05afef85 (diff) | |
| download | ai-pulse-obsidian-plugin-ab6d09df695c5cdfa21aa8005f00ebf2bd37df2b.tar.gz ai-pulse-obsidian-plugin-ab6d09df695c5cdfa21aa8005f00ebf2bd37df2b.zip | |
split of big plan
Diffstat (limited to '.rules/plan/calendar-phase-5.md')
| -rw-r--r-- | .rules/plan/calendar-phase-5.md | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/.rules/plan/calendar-phase-5.md b/.rules/plan/calendar-phase-5.md new file mode 100644 index 0000000..d4caf53 --- /dev/null +++ b/.rules/plan/calendar-phase-5.md @@ -0,0 +1,54 @@ +# Phase 5: Settings Integration (`src/calendar/calendar-settings.ts` + `src/settings.ts`) + +**Status:** Not started +**Depends on:** Nothing (can be implemented independently, but wired in Phase 6) +**Output files:** `src/calendar/calendar-settings.ts`, modifications to `src/settings.ts` + +--- + +## Overview + +Add calendar-specific settings to the plugin's settings interface and settings UI. + +--- + +## New Settings Fields + +Add to `AIPulseSettings` interface in `src/settings.ts`: + +``` +- calendarRootFolder: string (default: "Calendar") +- calendarConfirmBeforeCreate: boolean (default: true) +- calendarWeekStart: "locale" | "sunday" | "monday" | ... (default: "locale") +- calendarShowWeekNumbers: boolean (default: false) +- calendarShowWeekNumbersRight: boolean (default: false) — from fork: option to display week numbers on the right side +- calendarShowQuarter: boolean (default: false) — from fork: toggle quarter display (Q1–Q4) +- calendarCtrlClickOpensInNewTab: boolean (default: false) — from fork: Ctrl+Click opens in new tab instead of new split +- calendarShowWordCountDots: boolean (default: true) +- calendarWordsPerDot: number (default: 250) +- calendarDailyNoteTemplate: string (default: "") +``` + +--- + +## Settings UI (`CalendarSettingsSection`) + +In `src/calendar/calendar-settings.ts`, create a function or class that adds a "Calendar" section to the settings modal: + +- Root folder picker (text field) +- Week start dropdown +- Confirm before create toggle +- Ctrl+Click behavior dropdown ("Open in new tab" vs "Open in new split") — from fork +- Show week numbers toggle +- Show week numbers on right side toggle — from fork +- Show quarter toggle — from fork +- Word count dots toggle + words per dot number +- Daily note template path (text field) + +--- + +## Notes + +- Settings must be added to the default settings object so existing users get sane defaults on upgrade. +- The settings UI section should be visually grouped under a "Calendar" heading in the settings tab. +- The template path field should accept a vault-relative path to a markdown file. |
