Connor Johnstone a8bb2c8164 Implement comprehensive calendar UX improvements
- Add time range display to week view events showing "start - end" format
- Optimize time display with smart AM/PM formatting to reduce redundancy
- Fix context menu overlap by adding stop_propagation to event handlers
- Implement persistent view mode (Month/Week) across page refreshes using localStorage
- Replace month-based tracking with intelligent selected date tracking
- Add day selection in month view with visual feedback and click handlers
- Fix view switching to navigate to week containing selected day, not first week of month
- Separate selected_date from display_date for proper context switching
- Simplify week view header to show "Month Year" instead of "Week of Month Day"
- Add backward compatibility for existing localStorage keys

Greatly improves calendar navigation and user experience with persistent state

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-29 10:44:44 -04:00
2025-08-29 08:36:23 -04:00

Calendar App

A full-stack calendar application built with Rust, featuring a Yew frontend and Axum backend with CalDAV integration.

Features

  • Interactive calendar interface
  • Event creation and management
  • CalDAV server integration
  • User authentication with JWT
  • iCal format support
  • Weekly recurrence patterns
  • Responsive web design

Architecture

  • Frontend: Yew (Rust WebAssembly)
  • Backend: Axum (Rust async web framework)
  • Protocol: CalDAV for calendar synchronization
  • Database: SQLite (via migrations)
  • Build Tool: Trunk for frontend bundling

Getting Started

Prerequisites

  • Rust (latest stable version)
  • Trunk (cargo install trunk)

Development

  1. Start the backend server:

    cd backend
    cargo run
    
  2. Start the frontend development server:

    trunk serve
    
  3. Open your browser to http://localhost:8080

Building for Production

trunk build --release

Project Structure

  • src/ - Frontend Yew application
  • backend/ - Axum backend server
  • migrations/ - Database schema migrations
  • dist/ - Built frontend assets
Description
A self-hostable calendar front-end for caldav servers
Readme 124 MiB
Languages
Rust 76.9%
CSS 22.4%
JavaScript 0.4%
Dockerfile 0.2%
HTML 0.1%