From ab6d09df695c5cdfa21aa8005f00ebf2bd37df2b Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Sat, 28 Mar 2026 19:26:58 +0900 Subject: split of big plan --- .rules/plan/calendar-phase-9.md | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .rules/plan/calendar-phase-9.md (limited to '.rules/plan/calendar-phase-9.md') diff --git a/.rules/plan/calendar-phase-9.md b/.rules/plan/calendar-phase-9.md new file mode 100644 index 0000000..2d5a8cb --- /dev/null +++ b/.rules/plan/calendar-phase-9.md @@ -0,0 +1,46 @@ +# Phase 9: Calendar CSS (`styles.css`) + +**Status:** Not started +**Depends on:** Phase 3 (calendar-renderer.ts — must match the CSS classes used in rendering) +**Modifies:** `styles.css` + +--- + +## Overview + +Append calendar styles to the plugin's stylesheet. Use Obsidian CSS variables for theme compatibility (light/dark). + +--- + +## CSS Classes + +``` +.ai-pulse-calendar — container +.ai-pulse-calendar-nav — month navigation bar +.ai-pulse-calendar-nav-title — "March 2026" (clickable → opens monthly note — from fork) +.ai-pulse-calendar-nav-year — year label (clickable → opens yearly note — from fork) +.ai-pulse-calendar-nav-quarter — quarter label, e.g. "Q1" (clickable → opens quarterly note — from fork) +.ai-pulse-calendar-nav-btn — < > Today buttons +.ai-pulse-calendar-grid — the 7-column grid (8-column when week numbers shown) +.ai-pulse-calendar-weekday — header cells (Mon, Tue...) +.ai-pulse-calendar-weeknum — week number cell (from fork: can be left or right column) +.ai-pulse-calendar-day — individual day cell +.ai-pulse-calendar-day.today — today highlight +.ai-pulse-calendar-day.has-note — day with a note +.ai-pulse-calendar-day.active — currently open note's date +.ai-pulse-calendar-day.other-month — padding days from adjacent months +.ai-pulse-calendar-dots — dot container within day cell +.ai-pulse-calendar-dot — individual dot (word count) +``` + +--- + +## Notes + +- Use `var(--background-primary)`, `var(--text-normal)`, `var(--interactive-accent)`, etc. for theme compatibility. +- The grid should be responsive within the sidebar width. +- Day cells should have consistent sizing — use CSS Grid with `grid-template-columns: repeat(7, 1fr)` (or 8 when week numbers are shown). +- Today highlight should use `var(--interactive-accent)` with reduced opacity for the background. +- "has-note" dots should be small circles below the day number. +- "other-month" days should have reduced opacity. +- "active" day should have a distinct border or background to show it's the currently open note. -- cgit v1.2.3