25 Commits

Author SHA1 Message Date
Leo Vasanko
9183ffe873 Adjust year limits from 1582 when Gregorian calendar was first introduced to 3000 which ought to be enough. 2025-08-27 11:15:09 -06:00
Leo Vasanko
8f092b5653 Event resize/move bugs and UX. 2025-08-27 09:42:23 -06:00
Leo Vasanko
cfb1b2ce5a Use hard ends on event bars when they cross between weeks. 2025-08-27 09:15:08 -06:00
Leo Vasanko
6f4ff06047 Refactor modules for consistency 2025-08-27 09:09:19 -06:00
Leo Vasanko
eb3b5a2aa4 Fix recurrent event splitting being broken after prior refactoring. 2025-08-27 08:51:36 -06:00
Leo Vasanko
5a0d6804bc Mouse/touch event handling improvement
- prefer passive handlers
- fix event moving on touch
- faster selection updates
2025-08-27 08:39:26 -06:00
Leo Vasanko
ecae48fd85 Fix weekly recurring events showing wrong date in edit dialog due to confusion about week start day. 2025-08-27 07:26:04 -06:00
d9352a9fb3 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 13:41:46 +01:00
9e3f7ddd57 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 05:58:24 +01:00
018b9ecc55 vue (#1)
Port to Vue. Also implements plenty of new functionality.
2025-08-22 23:34:33 +01:00
Leo Vasanko
a92ef0479a Refactor jogwheel to its own module. 2025-08-20 21:38:28 -06:00
Leo Vasanko
b8b8575c6d More event refactoring, cleanup. 2025-08-20 21:34:08 -06:00
Leo Vasanko
d4ab7f5665 Fix the refactoring 2025-08-20 21:07:59 -06:00
Leo Vasanko
1edb3f0e85 Refactor event and selection handling to a separate module. 2025-08-20 21:04:27 -06:00
Leo Vasanko
474b9fd497 Partial support for dragging events around. 2025-08-20 20:48:37 -06:00
Leo Vasanko
8cf97f4c9f Lunar phase styled 2025-08-20 20:00:40 -06:00
Leo Vasanko
195520d66f Lunar phases 2025-08-20 19:49:24 -06:00
Leo Vasanko
161c7987af Event editing dialog and many other event-related improvements. 2025-08-20 19:35:42 -06:00
Leo Vasanko
fc0dc0c193 Styling cleanup 2025-08-20 15:18:55 -06:00
Leo Vasanko
93c23c594c Cleanup, layout fixes, better event colors. 2025-08-20 14:57:04 -06:00
Leo Vasanko
c0d76109a1 Split CSS to separate files. 2025-08-20 14:23:32 -06:00
Leo Vasanko
3b075e68e8 FIxed 2025-08-20 14:12:22 -06:00
Leo Vasanko
99b2d1a176 Broken event support. 2025-08-20 13:37:18 -06:00
Leo Vasanko
9bb3740b61 Cleanup, bigger layout and other changes. 2025-08-20 12:49:17 -06:00
Leo Vasanko
272a3bd61e Initial commit 2025-08-19 20:20:40 -06:00