1
0
Fork
You've already forked planner
0
No description
  • TypeScript 97.5%
  • CSS 1.7%
  • Rust 0.5%
  • JavaScript 0.2%
  • HTML 0.1%
Find a file
2026年06月30日 07:43:14 +03:00
public chore: minor tweaks & fixes 2026年06月29日 01:56:33 +03:00
src feat: journaling 2026年06月30日 06:32:01 +03:00
src-tauri chore: minor tweaks & fixes 2026年06月29日 01:56:33 +03:00
.gitignore chore(gitignore): updated gitignore 2026年06月30日 07:40:51 +03:00
eslint.config.js first commit 2026年06月06日 06:03:16 +03:00
index.html feat: base functionality, tasks and calendar (no testing) 2026年06月23日 06:48:33 +03:00
notification.mp3 chore: minor app fixes & tweaks 2026年06月25日 01:39:42 +03:00
package.json feat: mardown descriptions, fixes & improvements 2026年06月30日 00:28:10 +03:00
README.md chore(readme): updated readme 2026年06月30日 07:38:17 +03:00
tsconfig.app.json feat: base functionality, tasks and calendar (no testing) 2026年06月23日 06:48:33 +03:00
tsconfig.ds.json chore: minor app fixes & tweaks 2026年06月25日 01:39:42 +03:00
tsconfig.json first commit 2026年06月06日 06:03:16 +03:00
tsconfig.node.json first commit 2026年06月06日 06:03:16 +03:00
vite.config.ts feat: base functionality, tasks and calendar (no testing) 2026年06月23日 06:48:33 +03:00

vcalendar

A CalDAV calendar app with tasks and journaling, built with React and packaged as a native desktop app via Tauri.

Features

Calendar

  • Week grid with week navigation and a "Today" shortcut
  • Mini calendar in the sidebar for quick week jumping
  • Drag events to reschedule them; drag their bottom edge to resize — both snap to 15-minute intervals
  • Click-drag on empty space to draw a new event
  • All-day event row at the top of the grid
  • Shift-click to select multiple events; copy/paste the selection
  • Right-click context menu on any event
  • Click an event to open a read-only overview, double-click (or use the context menu) to edit
  • Recurring event support — edit scope: this occurrence only, or all events in the series
  • Event presets: select two or more events, save them as a named preset, then drag the preset from the sidebar onto the calendar to recreate the whole group at once

Events & Tasks (shared form)

  • Title, Markdown description, start/end date-time or all-day toggle
  • Assign to any synced calendar
  • Repeat: daily, weekly, monthly, yearly, weekdays, or custom RRULE string
  • Multiple reminders per event (desktop notifications via Tauri)

Tasks

  • Dedicated tasks page with tasks grouped by: Overdue, Today, Tomorrow, This week, Later, No due date
  • Completed tasks in a collapsible section at the bottom
  • Inline Markdown description rendering
  • Recurring tasks shown with a repeat indicator
  • One-click checkbox to mark complete
  • Shift-click to multi-select; bulk delete via right-click context menu
  • Search bar to filter by title
  • Day panel on the right: click any day in the sidebar mini calendar to see that day's tasks

Journal

  • Dedicated journal page with a two-panel layout: tree on the left, editor on the right
  • Notes are organized into collections (CalDAV calendars marked as journals)
  • Folder hierarchy using / in the note title — e.g. February/24th creates a February folder
  • Per-note icon picker (any Lucide icon)
  • Shift-click to multi-select notes and folders
  • Drag and drop to move notes or entire folders between folders and collections
  • Right-click context menu: edit metadata, delete note, delete folder (with nested note count)
  • Rich Markdown editor (Milkdown) with inline editing and a manual save button

Theming

  • Built-in light, dark, and sepia themes
  • Fully custom theme editor — adjust all nine color tokens independently
  • Adjustable hour row height in the week grid
  • All preferences persisted locally

General

  • Connects to any CalDAV server (Nextcloud, iCloud, Fastmail, etc.)
  • Toggle individual calendars on/off from the sidebar
  • Manual refresh and disconnect buttons
  • Mobile-responsive: single-day view with day navigation, bottom tab bar

Planned

  • Month and day views
  • Attendees / invite flow
  • Timezone handling per event
  • Per-event colors
  • Multiple CalDAV accounts simultaneously
  • Keyboard shortcuts
  • Mobile app (iOS & Android)
  • More customization options in preferences
  • Plugin support

Build

Prerequisites: Node.js, Rust (for the desktop build only)

npm install
Command What it does
npm run dev Start the web dev server
npm run build Build the web app
npm run tauri:dev Launch the desktop app in dev mode
npm run tauri:build Build a distributable desktop binary