Add image preview support: Krea-tag parsing with modal, file-explorer preview, skill output endpoint, increase execute timeout to 180s
- SkillEndpoint: GET /api/skills/{slug}/output/{filename} for skill output files
- WorkspaceEndpoint: GET /api/workspace/raw for raw file serving (images)
- File-Explorer: Image preview for png/jpg/gif/webp/svg/bmp/ico
- Chat UI: Parse [Krea: filename] tags into clickable chips with image modal
- ToolService: Increase execute timeout from 30s to 180s for long-running skills
This commit is contained in:
1 parent
cf6caea2dc
commit
9e4ed6dada
7 files changed
+253
-3
No files matched your search
@@ -204,6 +204,15 @@ async function feSelectFile(entry, itemEl) {
|
||||
// Vorherige Editor-Instanz aufräumen
|
||||
feDestroyEditor();
|
||||
|
||||
const imageExts = ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.bmp', '.ico'];
|
||||
if (!entry.isText && imageExts.includes((entry.ext || '').toLowerCase())) {
|
||||
const rawUrl = _feApiUrl('raw', `path=${encodeURIComponent(entry.path)}`);
|
||||
main.innerHTML = `<div class="fe-image-preview"><img src="${rawUrl}" alt="${esc(entry.name)}" /></div>`;
|
||||
footer.hidden = true;
|
||||
_feState.selectedFile = null;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!entry.isText) {
|
||||
main.innerHTML = `<div class="fe-placeholder">${getFileIcon(entry.ext)} ${esc(entry.name)}<br><small>${formatSize(entry.size)} - Vorschau nicht verfügbar</small></div>`;
|
||||
footer.hidden = true;
|
||||
|
||||
Reference in new issue
Block a user