some styling cleanup

This commit is contained in:
Nystik
2026-03-17 12:38:30 +01:00
parent c70b9e9d0f
commit 0738c47ac5
27 changed files with 479 additions and 105 deletions

View File

@@ -1,6 +1,6 @@
// stub
export const clipboardShim = {
readText() {
// TODO: maintain a local mirror updated via async reads
return "";
},

View File

@@ -19,10 +19,12 @@ export const dialogShim = {
return { canceled: false, filePath: "/downloads/" + name };
},
// TODO: replace alert() with a styled modal (matching vault manager style)
async showMessageBox(browserWindow, options) {
if (typeof browserWindow === "object" && !options) {
options = browserWindow;
}
console.log("[shim:dialog] showMessageBox:", options);
const message = options.message || "";

View File

@@ -25,6 +25,7 @@ export const remoteShim = {
screen: screenShim,
nativeImage: nativeImageShim,
Notification: notificationShim,
safeStorage: {
isEncryptionAvailable() {
return false;

View File

@@ -6,6 +6,7 @@ export class menuShim {
static buildFromTemplate(template) {
const menu = new menuShim();
menu.items = (template || []).map((item) => new menuItemShim(item));
return menu;
}
@@ -18,7 +19,6 @@ export class menuShim {
}
popup(options) {
// TODO: render custom HTML context menu at mouse position
console.log("[shim:Menu] popup (stub)", options);
}
@@ -30,9 +30,7 @@ export class menuShim {
this.items.splice(pos, 0, menuItem);
}
closePopup() {
// TODO: hide custom context menu
}
closePopup() {}
}
export class menuItemShim {

View File

@@ -37,7 +37,10 @@ export const themeShim = {
if (event === "updated") {
const wrapped = () => {
const idx = listeners.indexOf(wrapped);
if (idx >= 0) listeners.splice(idx, 1);
if (idx >= 0) {
listeners.splice(idx, 1);
}
callback();
};
listeners.push(wrapped);
@@ -47,7 +50,10 @@ export const themeShim = {
removeListener(event, callback) {
const idx = listeners.indexOf(callback);
if (idx >= 0) listeners.splice(idx, 1);
if (idx >= 0) {
listeners.splice(idx, 1);
}
return themeShim;
},

View File

@@ -107,15 +107,21 @@ const currentWindow = {
},
on(event, handler) {
if (event === "focus") window.addEventListener("focus", handler);
else if (event === "blur") window.addEventListener("blur", handler);
else if (event === "resize") window.addEventListener("resize", handler);
if (event === "focus") {
window.addEventListener("focus", handler);
} else if (event === "blur") {
window.addEventListener("blur", handler);
} else if (event === "resize") {
window.addEventListener("resize", handler);
}
return currentWindow;
},
once(event, handler) {
if (event === "focus")
if (event === "focus") {
window.addEventListener("focus", handler, { once: true });
}
return currentWindow;
},
@@ -309,19 +315,34 @@ export const windowShim = {
getAllWindows() {
const wins = [currentWindow];
if (_popupWindow) wins.push(_popupWindow);
if (_popupWindow) {
wins.push(_popupWindow);
}
return wins;
},
fromId(id) {
if (id === currentWindow.id) return currentWindow;
if (_popupWindow && id === _popupWindow.id) return _popupWindow;
if (id === currentWindow.id) {
return currentWindow;
}
if (_popupWindow && id === _popupWindow.id) {
return _popupWindow;
}
return null;
},
fromWebContents(wc) {
if (wc === currentWebContents) return currentWindow;
if (_popupWebContents && wc === _popupWebContents) return _popupWindow;
if (wc === currentWebContents) {
return currentWindow;
}
if (_popupWebContents && wc === _popupWebContents) {
return _popupWindow;
}
return null;
},
};
@@ -329,14 +350,22 @@ export const windowShim = {
export const webContentsShim = {
_current: () => currentWebContents,
fromId(id) {
if (id === currentWebContents.id) return currentWebContents;
if (_popupWebContents && id === _popupWebContents.id)
if (id === currentWebContents.id) {
return currentWebContents;
}
if (_popupWebContents && id === _popupWebContents.id) {
return _popupWebContents;
}
return null;
},
getAllWebContents() {
const wcs = [currentWebContents];
if (_popupWebContents) wcs.push(_popupWebContents);
if (_popupWebContents) {
wcs.push(_popupWebContents);
}
return wcs;
},
};