1
0

Add settings dialog for Sky Mode and Skip Prompt, update main HTML and script

- Created `settings.html` with a dialog for adjusting settings related to Sky Mode and Skip Prompt.
- Updated `main.html` to include context menus for folder operations.
- Enhanced `main.js` with functionality to handle settings changes, apply Sky Mode, and add copy-to-clipboard feature for diffs.

This commit message was automatically generated by auto-git
This commit is contained in:
2025-05-23 19:36:42 +02:00
parent 1f046d17b5
commit 134a3b7f27
11 changed files with 595 additions and 70 deletions

View File

@@ -1,5 +1,12 @@
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('settingsAPI', {
getSkyMode: () => ipcRenderer.invoke('get-skymode'),
setSkyMode: val => ipcRenderer.invoke('set-skymode', val),
getSkipPrompt: () => ipcRenderer.invoke('get-skip-git-prompt'),
setSkipPrompt: val => ipcRenderer.invoke('set-skip-git-prompt', val)
});
contextBridge.exposeInMainWorld('electronAPI', {
getFolders: () => ipcRenderer.invoke('get-folders'),
addFolder: () => ipcRenderer.invoke('add-folder'),
@@ -12,8 +19,18 @@ contextBridge.exposeInMainWorld('electronAPI', {
revertCommit: (folder, hash) => ipcRenderer.invoke('revert-commit', folder, hash),
snapshotCommit: (folder, hash) => ipcRenderer.invoke('snapshot-commit', folder, hash),
checkoutCommit: (folder, hash) => ipcRenderer.invoke('checkout-commit', folder, hash),
getCommitCount: folder => ipcRenderer.invoke('get-commit-count', folder),
hasDiffs: folder => ipcRenderer.invoke('has-diffs', folder),
removeGitFolder: folder => ipcRenderer.invoke('remove-git-folder', folder),
getSkipPrompt: () => ipcRenderer.invoke('get-skip-git-prompt'),
setSkipPrompt: val => ipcRenderer.invoke('set-skip-git-prompt', val),
showFolderContextMenu: folderPath => ipcRenderer.send('show-folder-context-menu', folderPath),
});
ipcRenderer.on('repo-updated', (_e, folder) => {
window.dispatchEvent(new CustomEvent('repo-updated', { detail: folder }));
});
ipcRenderer.on('skymode-changed', (_e, val) => {
window.dispatchEvent(new CustomEvent('skymode-changed', { detail: val }));
});