Blaupausen je Kunde, Datei-Uploads, RDP-Verknuepfungen, Bloatware-Entfernung

- Blaupausen (blueprints\) mit Kunde/Beschreibung, gruppierte Ansicht,
  Duplizieren/Export, Schnellauswahl auf der Uebersicht, 2 Beispiele
- Upload von Setups (EXE/MSI/MSIX/PS1/CMD) per Drag & Drop inkl.
  gespeicherter Silent-Parameter; Upload von Icons und .rdp-Dateien
- RDP-Verknuepfungen fuer alle Benutzer: Generator (Gateway, RemoteApp,
  Umleitungen) oder hochgeladene .rdp-Dateien
- Bloatware-Tab: Store-Apps, Hersteller-Tools, Testversionen,
  vorinstalliertes Office/OneNote (C2R) und OneDrive entfernen;
  Katalog in config/bloatware.json, auch als Schritt in Blaupausen
- Fix: Top-Level-JSON-Arrays (Vorlagen) wurden falsch serialisiert

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-09 16:00:25 +02:00
co-authored by Claude Opus 5.5
parent f4c2a16612
commit ebfec7000e
11 changed files with 940 additions and 89 deletions
+16
View File
@@ -81,3 +81,19 @@ code { font-family: Consolas, monospace; font-size: 12px; }
nav a.active { border-bottom-color: var(--accent); } .side-foot { display: none; }
main { padding: 16px; } .cols, .cols.jobs { grid-template-columns: 1fr; }
}
textarea { font: inherit; color: var(--text); background: var(--bg); border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; width: 100%; resize: vertical; display: block; margin-top: 3px; }
.drop { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; border: 2px dashed var(--line); border-radius: 10px; padding: 18px; cursor: pointer; margin-bottom: 8px; }
.drop:hover, .drop.over { border-color: var(--accent); background: var(--accent-2); }
.hint { cursor: pointer; padding: 1px 4px; border-radius: 4px; background: var(--accent-2); }
.item input.args { flex: 1; max-width: 260px; padding: 4px 7px; font-size: 12px; }
.cust { margin-bottom: 18px; }
.cust > h3 { margin: 0 0 8px; }
.bpgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.bp { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.bp.active { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.bp .t { font-weight: 600; } .bp .d { font-size: 12px; color: var(--muted); flex: 1; }
.bp .meta { font-size: 11px; color: var(--muted); }
.bp .acts { display: flex; gap: 4px; flex-wrap: wrap; }
details summary { cursor: pointer; margin: 6px 0; }
input[hidden] { display: none !important; }
div.f { margin-bottom: 10px; font-size: 12px; color: var(--muted); }