feat(panel): add electron dashboards for data, podcasts, media, and publish

This commit is contained in:
Poyraz Avsever
2026-03-11 11:03:56 +03:00
parent 61c6717313
commit e3f1fa3fa0
11 changed files with 2725 additions and 1 deletions
+34
View File
@@ -0,0 +1,34 @@
/* 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),
},
podcast: {
list: (kind) => ipcRenderer.invoke("podcast:list", kind),
upsert: (payload) => ipcRenderer.invoke("podcast:upsert", payload),
delete: (payload) => ipcRenderer.invoke("podcast:delete", payload),
},
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),
},
});