drelich 42eec85826 Implement native print dialog for PDF export
- Replaced jsPDF client-side generation with Tauri's native print dialog
- Created PrintView component that renders note content in a print-optimized layout
- Added print-export window capability with webview creation and print permissions
- Implemented event-based communication between main window and print window
- Moved shared print/export utilities to printExport.ts (title extraction, filename sanitization)
- Changed export button icon from download
2026-04-05 21:30:31 +02:00
2026-03-26 10:20:57 +01:00
2026-03-26 10:20:57 +01:00
2026-03-18 16:45:48 +01:00

nextcloud-notes-tauri.png

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

  1. Enter your Nextcloud server URL (e.g., https://cloud.example.com)
  2. Enter your username
  3. Enter your password or App Password (recommended)
    • Generate at: Settings → Security → Devices & Sessions in Nextcloud
  4. 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
Description
No description provided
Readme 12 MiB
Languages
TypeScript 93.5%
CSS 3.5%
JavaScript 2.3%
Rust 0.4%
HTML 0.3%