Commit Graph
28 Commits
Author SHA1 Message Date
LeoVasanko 734d07f10c Search improvements.
- Now finds holidays in addition to dates and events
- Emojis added to mark different result types
- Matching improvements: insensitive to diacritics, finds closest holiday/date to view, concise regex matching
- Avoid jumping to dates immediately while browsing the result dropdown
- Improved hotkey handling Ctrl+F (always focus and select)
2025-08-28 02:16:07 +00:00
LeoVasanko 456905d699 Much simpler undo/redo handling, bugs fixed and less code. v0.1.0 2025-08-28 01:54:10 +00:00
LeoVasanko 825e3e2b73 Implement event/date search bar 2025-08-27 23:15:27 +00:00
LeoVasanko 367072a8a2 Adjust year limits from 1582 when Gregorian calendar was first introduced to 3000 which ought to be enough. 2025-08-27 23:15:09 +00:00
LeoVasanko 54625bb70f Event resize/move bugs and UX. 2025-08-27 21:42:23 +00:00
LeoVasanko eb9fe9b7aa Use hard ends on event bars when they cross between weeks. 2025-08-27 21:15:08 +00:00
LeoVasanko de36829058 Refactor modules for consistency 2025-08-27 21:09:19 +00:00
LeoVasanko 5892897be2 Fix recurrent event splitting being broken after prior refactoring. 2025-08-27 20:51:36 +00:00
LeoVasanko 45b95fc67c Mouse/touch event handling improvement
- prefer passive handlers
- fix event moving on touch
- faster selection updates
2025-08-27 20:04:29 +00:00
LeoVasanko 1dcf4658bd Fix weekly recurring events showing wrong date in edit dialog due to confusion about week start day. 2025-08-27 19:26:04 +00:00
LeoVasanko d90192e0a3 Event search (Ctrl+F), locale/RTL handling, weekday selector workday/weekend, refactored event handling, Firefox compatibility (#3)
Major refactoring for cleanup, with various bugfixes.

Weekday selector in Settings now shows workdays/weekend bars based on current locale (also used to choose default values). Weekday selector in event dialog uses the days set in settings, as expected.
2025-08-27 11:41:46 +00:00
LeoVasanko dbe4c99b07 Major new version (#2)
Release Notes

Architecture
- Component refactor: removed monoliths (`Calendar.vue`, `CalendarGrid.vue`); expanded granular view + header/control components.
- Dialog system introduced (`BaseDialog`, `SettingsDialog`).

State & Data
- Store redesigned: Map-based events + recurrence map; mutation counters.
- Local persistence + undo/redo history (custom plugins).

Date & Holidays
- Migrated all date logic to `date-fns` (+ tz).
- Added national holiday support (toggle + loading utilities).

Recurrence & Events
- Consolidated recurrence handling; fixes for monthly edge days (29–31), annual, multi‑day, and complex weekly repeats.
- Reliable splitting/moving/resizing/deletion of repeating and multi‑day events.

Interaction & UX
- Double‑tap to create events; improved drag (multi‑day + position retention).
- Scroll & inertial/momentum navigation; year change via numeric scroller.
- Movable event dialog; live settings application.

Performance
- Progressive / virtual week rendering, reduced off‑screen buffer.
- Targeted repaint strategy; minimized full re-renders.

Plugins Added
- History, undo normalization, persistence, scroll manager, virtual weeks.

Styling & Layout
- Responsive + compact layout refinements; header restructured.
- Simplified visual elements (removed dots/overflow text); holiday styling adjustments.

Reliability / Fixes
- Numerous recurrence, deletion, orientation/rotation, and event indexing corrections.
- Cross-browser fallback (Firefox week info).

Dependencies Added
- date-fns, date-fns-tz, date-holidays, pinia-plugin-persistedstate.

Net Change
- 28 files modified; ~4.4K insertions / ~2.2K deletions (major refactor + feature set).
2025-08-26 03:58:24 +00:00
LeoVasanko 86a06acccb vue (#1)
Port to Vue. Also implements plenty of new functionality.
2025-08-22 21:34:33 +00:00
LeoVasanko e4c960b0ca Refactor jogwheel to its own module. 2025-08-21 09:38:28 +00:00
LeoVasanko f9f8cceb07 More event refactoring, cleanup. 2025-08-21 09:34:08 +00:00
LeoVasanko affa23fb63 Fix the refactoring 2025-08-21 09:07:59 +00:00
LeoVasanko 1817d985f5 Refactor event and selection handling to a separate module. 2025-08-21 09:04:27 +00:00
LeoVasanko 05f38f86fe Partial support for dragging events around. 2025-08-21 08:40:51 +00:00
LeoVasanko 0abec22e01 Lunar phase styled 2025-08-21 08:00:40 +00:00
LeoVasanko 16b40c90d9 Lunar phases 2025-08-21 07:49:24 +00:00
LeoVasanko 12008e40c8 Event editing dialog and many other event-related improvements. 2025-08-21 07:35:42 +00:00
LeoVasanko bbdbefef1c Styling cleanup 2025-08-21 03:18:55 +00:00
LeoVasanko ba513d1199 Cleanup, layout fixes, better event colors. 2025-08-21 02:57:04 +00:00
LeoVasanko f94ab1d4c3 Split CSS to separate files. 2025-08-21 02:19:58 +00:00
LeoVasanko 38bc50a5ff FIxed 2025-08-21 02:12:22 +00:00
LeoVasanko 468ea0e090 Broken event support. 2025-08-21 01:37:18 +00:00
LeoVasanko 708aac6680 Cleanup, bigger layout and other changes. 2025-08-21 00:49:17 +00:00
LeoVasanko 058251b886 Initial commit 2025-08-20 08:20:40 +00:00