Commit Graph

58 Commits

Author SHA1 Message Date
Leo Vasanko
86a1a4d772 Scroll the week to view the second row visible (showing also the previous week) rather than centered, for better UX. 2025-09-25 08:35:46 -06:00
Leo Vasanko
159bbf816d Prefer rem, assure that dialogs scale correctly. 2025-09-25 08:29:14 -06:00
Leo Vasanko
c41a3b84f4 Do not show results box and "no results" when there are no results. Just show nothing. 2025-09-25 08:03:43 -06:00
Leo Vasanko
6c396bab61 Hopefully more robust header autoclose logic to avoid OSD keyboard causing a just-focused search bar getting hidden. 2025-09-25 08:00:12 -06:00
Leo Vasanko
8a508f273d Optimise blur. 2025-09-25 07:36:42 -06:00
Leo Vasanko
704773dc8a Show holiday name tooltip on the entire day cell. 2025-09-25 07:23:22 -06:00
Leo Vasanko
0859e77b6a Styling changes, avoid glitches even on very small screens. 2025-09-25 07:19:40 -06:00
Leo Vasanko
d461a42ae5 Hide shortcut key on Android. v0.3.4 2025-09-24 17:03:19 -06:00
Leo Vasanko
ade17b80b1 Shrink header by removing gaps on small screens. 2025-09-24 16:57:08 -06:00
Leo Vasanko
a0b140d54b Responsive date strings in calendar days for small screen support and consistent wrapping. v0.3.3 2025-09-24 16:53:17 -06:00
Leo Vasanko
365d9e1be2 Add touch support to months scroll. v0.3.2 2025-09-24 16:25:40 -06:00
Leo Vasanko
e210babe29 Use shorter date format in title that fits better on narrow tabs v0.3.1 2025-09-24 16:18:37 -06:00
Leo Vasanko
31c5551535 Remove the 14 day selection limit for creating or modifying events. 2025-09-24 16:09:50 -06:00
Leo Vasanko
9b2354fd91 Improved header layout on small screens, add margin left of search bar on larger screens. 2025-09-24 16:04:31 -06:00
Leo Vasanko
43aa8db650 Implement highlight effect on the day navigated to. 2025-09-24 15:48:25 -06:00
Leo Vasanko
debeececaf Implement Ctrl-F tip on search bar, adjust header layout (search box expanding). 2025-09-24 14:38:41 -06:00
Leo Vasanko
258d0ba02c Motion blur while scrolling. v0.3.0 2025-09-24 13:55:43 -06:00
Leo Vasanko
c134d8875c Improved scrolling on month bar (fast drag scroll, per-month wheel scroll, glitches eliminated). 2025-09-24 13:34:30 -06:00
Leo Vasanko
dca3e21843 Added clock. 2025-09-23 18:42:13 -06:00
Leo Vasanko
d11c551636 A bit tighther header controls layout. 2025-09-23 18:18:51 -06:00
Leo Vasanko
eaa55c94fd Styling details, removed absolute positioning of each weekrow and month label in favor of a wrapper that uses block layout inside it. Gaps/borders removed on the calendar. 2025-09-23 18:15:00 -06:00
Leo Vasanko
0d4094826d Colors style cleanup, better colors. 2025-09-23 17:41:53 -06:00
Leo Vasanko
983826b5a6 Cleanup. 2025-09-23 15:54:39 -06:00
Leo Vasanko
3a902a9dfa Event overlay, smaller events to fit on screen, forfeit horizontal scaling by text width. Cleanup. 2025-09-23 15:52:21 -06:00
Leo Vasanko
0dfccb7b34 Restore month-based background color on day cells, lost on some earlier edit. 2025-09-23 15:01:08 -06:00
Leo Vasanko
f20a54da57 Event titles style tuning. Larger text etc. 2025-09-23 14:12:16 -06:00
Leo Vasanko
b3b19832b4 Repair event grid scaling when there are many events per day. 2025-09-23 12:14:04 -06:00
Leo Vasanko
151566ba22 Transparent event bars. 2025-09-23 11:52:39 -06:00
Leo Vasanko
7816ccd196 Improved calendar day styling. Large numbers, now today marker and other tweaks. 2025-09-23 11:01:39 -06:00
Leo Vasanko
dee8ce5079 Event dialog shows All instead of Every (1). v0.2.0 2025-08-28 00:35:31 -06:00
Leo Vasanko
abc7aba20f 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-27 23:39:33 -06:00
Leo Vasanko
57aefc5b4c Much simpler undo/redo handling, bugs fixed and less code. v0.1.0 2025-08-27 13:54:10 -06:00
Leo Vasanko
45939939f2 Implement event/date search bar 2025-08-27 11:15:27 -06:00
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