Something went wrong. Try again.
A local-first note taking app
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142import { contextBridge, ipcRenderer } from 'electron';
contextBridge.exposeInMainWorld('textile', { platform: process.platform, onOpenSettings: (callback: () => void) => { const listener = () => callback(); ipcRenderer.on('app:open-settings', listener); return () => ipcRenderer.off('app:open-settings', listener); }, openExternal: (url: string) => ipcRenderer.invoke('app:open-external', { url }), startHabitatLogin: (url: string, redirectUri: string) => ipcRenderer.invoke('auth:start-habitat-login', { redirectUri, url }), contextMenu: { show: ( items: Array<{ id: string; label: string; type?: 'normal' | 'separator'; }>, ) => ipcRenderer.invoke('context-menu:show', { items }), }, vault: { showOpenDialog: () => ipcRenderer.invoke('vault:show-open-dialog'), readdir: (dirPath: string) => ipcRenderer.invoke('vault:readdir', { dirPath }), readFile: (filePath: string) => ipcRenderer.invoke('vault:read-file', { filePath }), writeFile: (filePath: string, content: string) => ipcRenderer.invoke('vault:write-file', { filePath, content }), fileExists: (filePath: string) => ipcRenderer.invoke('vault:file-exists', { filePath }), mkdir: (dirPath: string) => ipcRenderer.invoke('vault:mkdir', { dirPath }), rename: (oldPath: string, newPath: string) => ipcRenderer.invoke('vault:rename', { oldPath, newPath }), delete: (filePath: string) => ipcRenderer.invoke('vault:delete', { filePath }), copyFile: (srcPath: string, destPath: string) => ipcRenderer.invoke('vault:copy-file', { srcPath, destPath }), },});