53815c481467b2d139f6b95085b8eea00f393319
Enhance the drag-to-create event feature with precision improvements: - Add snap_to_15_minutes() function to align drag coordinates to 15-minute increments - Update mousedown and mousemove handlers to use coordinate snapping - Replace pixel coordinate display with actual time ranges in temporary event box - Display times in 12-hour format with AM/PM (e.g., "2:15 PM - 3:30 PM") - Remove unused wasm_bindgen::JsCast import for cleaner code Users can now create events that automatically align to 15-minute boundaries with clear visual feedback showing the exact time range being selected. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
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
-
Start the backend server:
cd backend cargo run -
Start the frontend development server:
trunk serve -
Open your browser to
http://localhost:8080
Building for Production
trunk build --release
Project Structure
src/- Frontend Yew applicationbackend/- Axum backend servermigrations/- Database schema migrationsdist/- Built frontend assets
Description
Languages
Rust
76.9%
CSS
22.4%
JavaScript
0.4%
Dockerfile
0.2%
HTML
0.1%