f3096c16ca1dc1bf38ebe0b76746e7dff1df698a
- Added theme state management (light/dark/system) - Implemented OS theme detection and automatic sync - Added theme toggle UI in sidebar with 3 buttons - Applied dark mode styles to all components: - Sidebar with dark backgrounds and borders - Note editor with dark text and inputs - Toolbar buttons with dark hover states - TipTap editor with dark mode text and code blocks - Theme preference saved to localStorage - Enabled Tailwind dark mode with class strategy - Smooth transitions between themes
Tauri + React + Typescript
Nextcloud Notes - Cross-Platform Desktop App
A modern, cross-platform desktop application for Nextcloud Notes built with Tauri + React + TypeScript.
Features
- ✅ Cross-platform: macOS, Linux, Windows
- ✅ Lightweight: ~600KB binary (vs 150MB+ Electron)
- ✅ Modern UI: React + TailwindCSS
- ✅ Full sync: Create, edit, delete, favorite notes
- ✅ Search & filter: Find notes quickly, filter by favorites
- ✅ Auto-save: Changes save automatically after 1.5s
- ✅ Secure: Credentials stored in system keychain (localStorage for now)
- ✅ Background sync: Auto-sync every 5 minutes
Prerequisites
- Rust: Install from https://rustup.rs/
- Node.js: v18+ recommended
- Nextcloud instance with Notes app enabled
Development
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri build
First Launch
- Enter your Nextcloud server URL (e.g.,
https://cloud.example.com) - Enter your username
- Enter your password or App Password (recommended)
- Generate at: Settings → Security → Devices & Sessions in Nextcloud
- Click Connect
Building for Distribution
macOS
npm run tauri build
# Output: src-tauri/target/release/bundle/macos/
Linux
npm run tauri build
# Output: src-tauri/target/release/bundle/appimage/ or .deb
Windows
npm run tauri build
# Output: src-tauri/target/release/bundle/msi/
Tech Stack
- Tauri: Rust-based native wrapper (~600KB)
- React 18: UI framework
- TypeScript: Type safety
- TailwindCSS: Utility-first styling
- Vite: Fast build tool
Advantages over Native Swift App
- ✅ Cross-platform: One codebase for macOS, Linux, Windows
- ✅ No SwiftUI state issues: React's state management is mature
- ✅ Smaller binary: Tauri is much lighter than Electron
- ✅ Easier to maintain: Web technologies vs platform-specific code
- ✅ No Xcode required: Build on any platform
Recommended IDE Setup
Description
Languages
TypeScript
93.5%
CSS
3.5%
JavaScript
2.3%
Rust
0.4%
HTML
0.3%