Migrate to Electron and implement native PDF export
Major changes: - Migrate from Tauri to Electron as primary desktop runtime - Implement native print dialog for PDF export via Electron webview - Add desktop runtime abstraction layer (supports both Electron and Tauri) - Implement task list rendering in preview mode - Add favorite notes sorting to display starred notes at top - Add attachment upload functionality with file picker - Improve sync reliability and Unicode filename support - Add category color sync across devices via WebDAV - Update documentation for Electron workflow Technical improvements: - Add Electron main process and preload bridge - Create desktop service layer for runtime-agnostic operations - Implement runtimeFetch for proxying network requests through Electron - Add PrintView component for native print rendering - Extract print/PDF utilities to shared module - Update build configuration for Electron integration
This commit is contained in:
8
electron/preload.cjs
Normal file
8
electron/preload.cjs
Normal file
@@ -0,0 +1,8 @@
|
||||
const { contextBridge, ipcRenderer } = require('electron');
|
||||
|
||||
contextBridge.exposeInMainWorld('electronDesktop', {
|
||||
showMessage: (options) => ipcRenderer.invoke('desktop:show-message', options),
|
||||
exportPdf: (payload) => ipcRenderer.invoke('desktop:export-pdf', payload),
|
||||
httpRequest: (payload) => ipcRenderer.invoke('desktop:http-request', payload),
|
||||
getRuntime: () => 'electron',
|
||||
});
|
||||
Reference in New Issue
Block a user