mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-30 01:32:25 +01:00
Preserve preview harness, editor, email and task improvements
Snapshot current maintainer-preview application changes and regression fixtures for integration into lab. Excludes local runtime data, evaluation outputs and source backups. Focused Python regression selection: 140 passed; full suite not certified.
This commit is contained in:
@@ -99,6 +99,14 @@ export function wireImport({ container, saveState, createLayer, composite, rende
|
||||
document.getElementById('ge-import-file')?.addEventListener('click', () => importFileInput.click());
|
||||
|
||||
document.getElementById('ge-import-paste')?.addEventListener('click', async () => {
|
||||
const pasteFromKeyboard = () => {
|
||||
document.getElementById('gallery-editor-container')?.focus();
|
||||
uiModule?.showToast('Press Ctrl+V to paste the image');
|
||||
};
|
||||
if (!navigator.clipboard?.read) {
|
||||
pasteFromKeyboard();
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const clipItems = await navigator.clipboard.read();
|
||||
let blob = null;
|
||||
@@ -113,7 +121,7 @@ export function wireImport({ container, saveState, createLayer, composite, rende
|
||||
img.onerror = () => { URL.revokeObjectURL(url); if (uiModule) uiModule.showToast('Failed to load clipboard image'); };
|
||||
img.src = url;
|
||||
} catch (e) {
|
||||
if (uiModule) uiModule.showToast('Clipboard access denied or no image available');
|
||||
pasteFromKeyboard();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user