/* eslint-disable @typescript-eslint/no-require-imports */ const { contextBridge, ipcRenderer } = require("electron"); contextBridge.exposeInMainWorld("panelAPI", { data: { list: () => ipcRenderer.invoke("data:list"), read: (fileName) => ipcRenderer.invoke("data:read", fileName), saveRaw: (payload) => ipcRenderer.invoke("data:saveRaw", payload), updateExport: (payload) => ipcRenderer.invoke("data:updateExport", payload), create: (payload) => ipcRenderer.invoke("data:create", payload), delete: (fileName) => ipcRenderer.invoke("data:delete", fileName), }, blog: { list: () => ipcRenderer.invoke("blog:list"), upsert: (payload) => ipcRenderer.invoke("blog:upsert", payload), delete: (slug) => ipcRenderer.invoke("blog:delete", slug), }, snippet: { list: () => ipcRenderer.invoke("snippet:list"), upsert: (payload) => ipcRenderer.invoke("snippet:upsert", payload), delete: (slug) => ipcRenderer.invoke("snippet:delete", slug), }, media: { listFolders: () => ipcRenderer.invoke("media:listFolders"), createFolder: (folder) => ipcRenderer.invoke("media:createFolder", folder), listFiles: (folder) => ipcRenderer.invoke("media:listFiles", folder), upload: (folder) => ipcRenderer.invoke("media:upload", folder), deleteFile: (relativePath) => ipcRenderer.invoke("media:deleteFile", relativePath), }, publish: { status: () => ipcRenderer.invoke("publish:status"), run: (message) => ipcRenderer.invoke("publish:run", message), }, });