mirror of
https://github.com/KarnerF/SMPlusGui.git
synced 2026-10-06 05:00:21 +02:00
Fix: wrap loadGames/loadImages/mountGame/unmountGame in H() so JS is actually sent to browser
This commit is contained in:
1 parent
d316ce32d1
commit
9026d211a2
1 file changed
+6
-6
@@ -1803,14 +1803,14 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
"if(d.ok){var nm=path.split('/').pop();var l=document.getElementById('pref-elf-lbl');var b=document.getElementById('pref-elf-clr');"
|
||||
"if(l){l.textContent=nm;l.title=path;l.style.display='inline';}if(b)b.style.display='inline';}"
|
||||
"setTimeout(refreshStatus,2000);})"
|
||||
".catch(function(){if(btn)btn.disabled=false;});}""function showElfPicker(btn,paths,cb){var old=document.getElementById('sm-elf-picker');if(old)old.remove();var picker=document.createElement('div');picker.id='sm-elf-picker';picker.style.cssText='position:fixed;top:0;left:0;width:100%%;height:100%%;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:9999;';var box=document.createElement('div');box.style.cssText='background:#0d111a;border:1px solid #1e2a42;border-radius:14px;padding:36px;min-width:500px;max-width:800px;';var title=document.createElement('p');title.style.cssText='margin:0 0 20px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-family:monospace;';title.textContent=_t.sel_sm;box.appendChild(title);paths.forEach(function(p){var b=document.createElement('button');b.style.cssText='display:block;width:100%%;margin-bottom:10px;padding:16px 18px;border-radius:8px;border:1px solid #1e2a42;background:#131927;color:#e2e8f0;cursor:pointer;text-align:left;font-family:monospace;font-size:.75rem;word-break:break-all;';b.textContent=p;b.onclick=function(){picker.remove();if(cb)cb(p);else launchElf(btn,p);};box.appendChild(b);});var cancel=document.createElement('button');cancel.style.cssText='display:block;width:100%%;padding:14px;border-radius:8px;border:1px solid #1e2a42;background:transparent;color:#64748b;cursor:pointer;font-family:monospace;font-size:.75rem;margin-top:6px;';cancel.textContent=_t.cancel;cancel.onclick=function(){picker.remove();};box.appendChild(cancel);picker.appendChild(box);document.body.appendChild(picker);}""document.querySelector('form').addEventListener('keydown',function(e){""if(e.key==='Enter'&&e.target.tagName!=='BUTTON')e.preventDefault();""});"
|
||||
"function loadGames(){"
|
||||
".catch(function(){if(btn)btn.disabled=false;});}""function showElfPicker(btn,paths,cb){var old=document.getElementById('sm-elf-picker');if(old)old.remove();var picker=document.createElement('div');picker.id='sm-elf-picker';picker.style.cssText='position:fixed;top:0;left:0;width:100%%;height:100%%;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:9999;';var box=document.createElement('div');box.style.cssText='background:#0d111a;border:1px solid #1e2a42;border-radius:14px;padding:36px;min-width:500px;max-width:800px;';var title=document.createElement('p');title.style.cssText='margin:0 0 20px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-family:monospace;';title.textContent=_t.sel_sm;box.appendChild(title);paths.forEach(function(p){var b=document.createElement('button');b.style.cssText='display:block;width:100%%;margin-bottom:10px;padding:16px 18px;border-radius:8px;border:1px solid #1e2a42;background:#131927;color:#e2e8f0;cursor:pointer;text-align:left;font-family:monospace;font-size:.75rem;word-break:break-all;';b.textContent=p;b.onclick=function(){picker.remove();if(cb)cb(p);else launchElf(btn,p);};box.appendChild(b);});var cancel=document.createElement('button');cancel.style.cssText='display:block;width:100%%;padding:14px;border-radius:8px;border:1px solid #1e2a42;background:transparent;color:#64748b;cursor:pointer;font-family:monospace;font-size:.75rem;margin-top:6px;';cancel.textContent=_t.cancel;cancel.onclick=function(){picker.remove();};box.appendChild(cancel);picker.appendChild(box);document.body.appendChild(picker);}""document.querySelector('form').addEventListener('keydown',function(e){""if(e.key==='Enter'&&e.target.tagName!=='BUTTON')e.preventDefault();""});");
|
||||
H("function loadGames(){"
|
||||
"var el=document.getElementById('games-list');if(!el)return;"
|
||||
"el.innerHTML='<p class=\"hint\">Lade...</p>';"
|
||||
"fetch('/api/sm/games',{method:'POST'}).then(function(r){return r.json();})"
|
||||
".then(function(d){"
|
||||
"if(!d.games||!d.games.length){el.innerHTML='<p class=\"hint\">Keine Spiele gefunden</p>';return;}"
|
||||
"var h='<table style=\"width:100%;border-collapse:collapse;font-size:.78rem;\">';"
|
||||
"var h='<table style=\"width:100%%;border-collapse:collapse;font-size:.78rem;\">';"
|
||||
"h+='<tr style=\"border-bottom:1px solid var(--border);color:var(--dim);font-size:.7rem;\">';"
|
||||
"h+='<th style=\"text-align:left;padding:4px 8px;\">Titel</th>';"
|
||||
"h+='<th style=\"text-align:left;padding:4px 8px;\">ID</th>';"
|
||||
@@ -1838,7 +1838,7 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
"fetch('/api/sm/images',{method:'POST'}).then(function(r){return r.json();})"
|
||||
".then(function(d){"
|
||||
"if(!d.images||!d.images.length){el.innerHTML='<p class=\"hint\">Keine Images gefunden</p>';return;}"
|
||||
"var h='<table style=\"width:100%;border-collapse:collapse;font-size:.78rem;\">';"
|
||||
"var h='<table style=\"width:100%%;border-collapse:collapse;font-size:.78rem;\">';"
|
||||
"h+='<tr style=\"border-bottom:1px solid var(--border);color:var(--dim);font-size:.7rem;\">';"
|
||||
"h+='<th style=\"text-align:left;padding:4px 8px;\">Datei</th>';"
|
||||
"h+='<th style=\"padding:4px 8px;\">Gr\\u00f6\\u00dfe</th>';"
|
||||
@@ -1852,8 +1852,8 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
"h+='<td style=\"padding:6px 8px;text-align:center;\">'+sz+'</td>';"
|
||||
"h+='<td style=\"padding:6px 8px;text-align:center;\">'+st+'</td></tr>';"
|
||||
"});h+='</table>';el.innerHTML=h;})"
|
||||
".catch(function(){el.innerHTML='<p class=\"hint\" style=\"color:#f87171;\">SM API nicht erreichbar</p>';});}"
|
||||
"function addPath(){"
|
||||
".catch(function(){el.innerHTML='<p class=\"hint\" style=\"color:#f87171;\">SM API nicht erreichbar</p>';});}");
|
||||
H("function addPath(){"
|
||||
"var c=document.getElementById('paths-list');"
|
||||
"var d=document.createElement('div');d.className='path-row';"
|
||||
"d.innerHTML='<input type=\"text\" name=\"paths[]\" placeholder=\"/data/homebrew\"><button type=\"button\" '"
|
||||
|
||||
Reference in new issue
Block a user