adasd
All checks were successful
Deploy / deploy (push) Successful in 17s

This commit is contained in:
2026-05-17 01:07:33 +02:00
parent 70e82cae7b
commit 16c19cd6ff
3 changed files with 183 additions and 161 deletions

View File

@@ -42,45 +42,100 @@ $apiBase = $publicBase === '' ? '' : $publicBase;
</header>
<main class="workspace">
<section class="panel panel--controls">
<div class="panel__heading">
<h2>Projekt</h2>
<p>Rack-Vorlage, Bibliothek und Plugin-Import.</p>
<section class="panel panel--dashboard">
<div class="dashboard-grid">
<section class="dashboard-block dashboard-block--controls">
<div class="panel__heading">
<h2>Projekt</h2>
<p>Rack-Vorlage, Bibliothek und Plugin-Import.</p>
</div>
<div class="dashboard-controls">
<label class="field">
<span>Rack-Vorlage</span>
<select id="rack-template-select"></select>
</label>
<label class="field">
<span>Projektname</span>
<input id="project-name" type="text" value="Neues Rack-Projekt">
</label>
<label class="field">
<span>Rack-Farbe</span>
<input id="rack-color" type="color" value="#50545c">
</label>
<label class="field">
<span>Komponenten filtern</span>
<input id="component-filter" type="search" placeholder="z. B. Switch, UPS, Patch Panel">
</label>
<label class="field">
<span>Plugin-Pack laden</span>
<input id="plugin-input" type="file" accept=".json,application/json">
</label>
<div class="field field--status">
<span>Einsteckmodus</span>
<div id="selected-component-info" class="selection-info">Kein Element ausgewaehlt</div>
</div>
</div>
</section>
<section class="dashboard-block dashboard-block--stats">
<div class="panel__heading">
<h2>Auswertung</h2>
<p>Stueckliste, Platzreserve und Kabelschaetzung.</p>
</div>
<div class="stat-grid" id="project-stats"></div>
<section class="subpanel">
<div class="subpanel__header">
<h3>Stueckliste</h3>
<button id="export-bom" type="button">CSV kopieren</button>
</div>
<div id="bom-output" class="list-output"></div>
</section>
<section class="subpanel">
<div class="subpanel__header">
<h3>Kabel</h3>
</div>
<div class="field-row">
<label class="field">
<span>Von</span>
<select id="cable-from"></select>
</label>
<label class="field">
<span>Zu</span>
<select id="cable-to"></select>
</label>
</div>
<label class="field">
<span>Reserve in %</span>
<input id="cable-slack" type="number" min="0" max="100" step="5" value="20">
</label>
<div id="cable-output" class="notice"></div>
</section>
<section class="subpanel">
<div class="subpanel__header">
<h3>Hinweise</h3>
</div>
<ul class="notes" id="validation-output"></ul>
</section>
</section>
</div>
<label class="field">
<span>Rack-Vorlage</span>
<select id="rack-template-select"></select>
</label>
<label class="field">
<span>Projektname</span>
<input id="project-name" type="text" value="Neues Rack-Projekt">
</label>
<div class="field-row">
<label class="field">
<span>Rack-Farbe</span>
<input id="rack-color" type="color" value="#50545c">
</label>
<div class="field field--status">
<span>Einsteckmodus</span>
<div id="selected-component-info" class="selection-info">Kein Element ausgewaehlt</div>
<section class="dashboard-block dashboard-block--library">
<div class="panel__heading">
<h2>Bibliothek</h2>
<p>Module per Drag-and-Drop direkt aus der Liste ins Rack ziehen.</p>
</div>
</div>
<div class="library-toolbar">
<label class="field">
<span>Komponenten filtern</span>
<input id="component-filter" type="search" placeholder="z. B. Switch, UPS, Patch Panel">
</label>
<label class="field">
<span>Plugin-Pack laden</span>
<input id="plugin-input" type="file" accept=".json,application/json">
</label>
</div>
<div class="library" id="component-library"></div>
<div class="library library--wide" id="component-library"></div>
</section>
</section>
<section class="panel panel--editor">
@@ -90,55 +145,9 @@ $apiBase = $publicBase === '' ? '' : $publicBase;
</div>
<div class="rack-stage">
<div class="rack-summary" id="rack-summary"></div>
<div class="rack-grid" id="rack-grid" aria-live="polite"></div>
</div>
</section>
<aside class="panel panel--sidebar">
<div class="panel__heading">
<h2>Auswertung</h2>
<p>Stueckliste, Platzreserve und Kabelschaetzung.</p>
</div>
<div class="stat-grid" id="project-stats"></div>
<section class="subpanel">
<div class="subpanel__header">
<h3>Stueckliste</h3>
<button id="export-bom" type="button">CSV kopieren</button>
</div>
<div id="bom-output" class="list-output"></div>
</section>
<section class="subpanel">
<div class="subpanel__header">
<h3>Kabel</h3>
</div>
<div class="field-row">
<label class="field">
<span>Von</span>
<select id="cable-from"></select>
</label>
<label class="field">
<span>Zu</span>
<select id="cable-to"></select>
</label>
</div>
<label class="field">
<span>Reserve in %</span>
<input id="cable-slack" type="number" min="0" max="100" step="5" value="20">
</label>
<div id="cable-output" class="notice"></div>
</section>
<section class="subpanel">
<div class="subpanel__header">
<h3>Hinweise</h3>
</div>
<ul class="notes" id="validation-output"></ul>
</section>
</aside>
</main>
</div>