Commit Graph

25 Commits

Author SHA1 Message Date
olivier 3c7b6741f5 fix: calendar disappeared for existing users
Shallow Object.assign on settings meant filterTags (new in 1.5.0) was
undefined for anyone with prior saved settings. Accessing .length on
undefined threw, killing the entire redraw before calendar could render.

- Defensive fallback: filterTags || []
- Deep merge on loadSettings for recentFiles, calendar, display
v1.5.1
2026-06-22 10:18:37 -04:00
olivier abf4d6ccf7 feat: configurable filter tags for recent files
New 'Filter tags' setting in Recent Files tab. Enter tag names one per line
to pin specific tags as filter pills. Leave empty to auto-detect from
frontmatter 'type' property (existing behavior).
v1.5.0
2026-06-22 10:15:54 -04:00
olivier 141121878f feat: add About tab to settings with version and plugin description v1.4.1 2026-06-22 10:07:22 -04:00
olivier 6a89660cf4 release v1.4.1 2026-06-22 10:01:47 -04:00
olivier 44c2dd2abc fix: enforce recent files limit when maxItems setting changes
The limit was only applied on file-open and plugin load, not when the user
changed the maxItems setting in the settings tab. Now enforceRecentFilesLimit()
is called on every settings change via the onSettingsChange callback.
v1.4.0
2026-06-22 10:00:45 -04:00
olivier 49c8da9863 feat: persistent recent files history + fix limit enforcement + fix settings data loss
- Recent files are now persisted to disk and survive restarts
- Max items limit is applied on load (in case setting was reduced)
- Omitted paths regex filtering is now wired up in addToRecentFiles
- Fixed saveAndRefresh() overwriting entire plugin data on settings change
- Debounced disk writes (300ms) to avoid excessive saves on rapid opens
2026-06-21 22:36:03 -04:00
olivier 993017f669 release v1.3.0: chevron right, tabbed settings, drag-into, display customization v1.3.0 2026-06-12 14:54:28 -04:00
olivier e0c3deee86 fix: drag onto file makes dragged item a child of that file
Dragging B onto A:
  ▶ File A
      File B

A becomes the parent, B becomes its child. No new group created.
2026-06-12 14:52:04 -04:00
olivier 7331a455ad fix: drag-to-create parent group is now an empty container
When dragging B onto A, the result is now:
- New Group (empty, no file)
  - File A
  - File B

Previously the group inherited A's file, creating a self-referencing parent.
2026-06-12 14:50:48 -04:00
olivier 7a5be506e0 feat: drag onto file bookmark creates parent note + fix calendar layout
Drag-and-drop:
- Dropping a bookmark onto a file bookmark (middle zone) creates a new
  parent note group containing both items
- Dropping onto a group still moves into the group as before
- All file/group bookmarks now accept drops (3-zone behavior)

Calendar:
- Fixed broken table layout caused by display:flex on td elements
- Uses vertical-align:middle instead for cell content centering
- Calendar cells still have configurable height via CSS variable
2026-06-12 13:18:25 -04:00
olivier 765c6f3b47 feat: chevron on right + tabbed settings + display customization
View:
- Chevron moved from left side to right side of bookmark rows
- Display settings applied as CSS variables on the view element

Settings:
- Tabbed UI with 4 tabs: Calendar, Periodic Notes, Recent Files, Display
- Display tab: row size, row spacing, indent size, font size, icon size, calendar cell size
- All settings use sliders with live preview and dynamic tooltips
- Reset to defaults button

CSS:
- Bookmark items use CSS variables (--wp-row-size, --wp-row-spacing, etc.)
- Calendar cells use --wp-cal-cell-size for configurable height
- Settings tab styling with active indicator
2026-06-12 12:56:27 -04:00
olivier 846726a5c7 docs: mark all todo items as done 2026-06-11 11:18:33 -04:00
olivier e92903a7aa feat: recent files type filter + calendar middle-click + calendar spacing
Recent files:
- Type filter bar with pill tags above the list
- Scans frontmatter 'type' property of each recent file
- Click a pill to filter, click again or 'all' to clear
- Active pill shows accent color

Calendar:
- Middle-click on day/week/quarter/month/year opens in new tab
- openPeriodNoteInLeaf() method for leaf-targeted opening
- More spacing: taller day cells, more padding, wider margins

Bookmarks:
- Right-click on recent file → 'Add to bookmarks' option
2026-06-11 11:16:17 -04:00
olivier 7bf1223673 style: improve calendar spacing — more room and height
- Day cell padding: 3px → 6px vertical
- Header/cell padding: 2px → 4px vertical
- Breadcrumb padding: 2px → 4px vertical
- Top row margin-bottom: 6px → 10px
- Line-height: 1.6 on calendar cells
2026-06-11 10:49:55 -04:00
olivier a36c8ab6f4 feat: add bookmark from recent files + calendar middle-click
- Recent files right-click now has 'Add to bookmarks' option
- Calendar: middle-click on day/week/quarter/month/year opens in new tab
- Added openPeriodNoteInLeaf() method for opening period notes in a specific leaf
2026-06-11 10:46:57 -04:00
olivier eeb6059fe5 feat: drag-and-drop into groups/parent notes + fix ⋯ button styling
Drag-and-drop:
- 3-zone drop indicator for groups and parent notes (files with children):
  top 25% = drop above, middle 50% = drop into, bottom 25% = drop below
- 2-zone for regular files/separators/spacers (unchanged)
- 'Drop into' shows background highlight instead of border line
- Circular reference guard: can't drop a group into itself or descendants

⋯ button:
- No visible button chrome when not hovered (no border, no background)
- Subtle opacity (0.6) at rest, full opacity on hover
- Hover shows text color change only, no background highlight
2026-06-10 21:53:22 -04:00
olivier 2e8ac7047f refactor: simplify bookmark menus — visible ⋯ button, flat context menus
Header:
- Replace hidden right-click with visible ⋯ button (more-horizontal icon)
- Menu: Add current file / Add as parent note / New group / separator / Add spacer

File bookmark right-click (5 items, flat):
  Open in new tab / Rename / Change icon / Remove

Group/parent note right-click (7 items max, flat):
  Open in new tab (only if linked) / Rename / Change icon / Expand|Collapse /
  Add child bookmark / Add child note / New sub-group / Remove

Separator/Spacer right-click (1 item):
  Remove

Removed dead code: insertAdjacent, collectGroups, collectDescendantIds,
moveBookmarkToGroup — all moving is now drag-and-drop only
2026-06-10 21:45:16 -04:00
olivier a692dc9a34 docs: add QA checklist for bookmark features 2026-06-10 20:20:27 -04:00
olivier 6978401613 feat: improved icon search — matches Lucide tags/keywords
The icon picker now searches against the Lucide tags.json keyword list,
not just the icon name. Searching 'meeting' now finds 'calendar',
'red-heart' finds 'heart', etc. Tags are loaded alongside icon names
from the CDN with fallback.
2026-06-10 20:19:57 -04:00
olivier 3c4fc2d91c feat: parent notes (file bookmarks with children) + no default icon
- File bookmarks can now have children, rendered with a chevron
- Group bookmarks can have an associated filePath; clicking opens the file,
  clicking chevron toggles collapse
- 'Add as parent note' option in header context menu creates a group
  with the current file linked
- 'Add child note' option in group context menu creates a sub-group
  with the current file linked (parent note pattern)
- Default icon changed from 'file'/'folder' to '' (no icon)
- Chevron click always toggles collapse regardless of type
2026-06-10 20:19:01 -04:00
olivier 4278507ae2 feat: middle-click + mod-click on bookmarks opens in new tab
- File bookmarks: middle-click opens in new tab, mod+click opens in new leaf
- Group bookmarks: middle-click opens group's linked file in new tab,
  mod+click opens group's linked file (click still toggles collapse)
2026-06-10 20:16:17 -04:00
olivier 99a3ea80ae new 2026-06-10 20:14:30 -04:00
olivier cb09ec0e83 bump to v1.2.0, rename plugin to Waypoint Sidebar v1.2.0 2026-06-10 15:42:13 -04:00
olivier a4714f6fa8 Add period note commands with hotkeys and next/prev navigation
- Add 5 'Go to' commands with default hotkeys:
  Ctrl+Shift+Alt+D/W/M/Q/Y for daily/weekly/monthly/quarterly/yearly
- Add 10 navigation commands (next/prev) for each period type
- Add detectPeriodType() and navigatePeriodNote() helpers
- Bump version to 1.1.0
v1.1.0
2026-06-08 12:32:21 -04:00
olivier fbdc42b4a3 Initial commit: Waypoint Obsidian plugin with calendar, recent files, and bookmarks v1.0.0 2026-06-03 20:26:23 -04:00