liftman/public/app.html
2026-05-22 23:05:37 +02:00

190 lines
7.9 KiB
HTML

<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Alkalmazás | LiftEllenőr</title>
<link rel="stylesheet" href="/style.css?v=20260522-5" />
</head>
<body>
<div id="pageShell">
<main id="appShell">
<div id="topBar" class="panel app-topbar">
<div class="topbar-heading">
<img class="topbar-logo" src="/logo.png" alt="" aria-hidden="true" />
<div>
<h1 id="welcomeText" class="page-title">Kezelőfelület</h1>
<p id="routeText" class="page-text"></p>
</div>
</div>
<div class="panel-actions">
<a class="ghost-button" href="/naplo">Napló megnyitása</a>
<button id="logoutButton" class="ghost-button" type="button">Kijelentkezés</button>
</div>
</div>
<section class="panel">
<div class="panel-head">
<div class="section-heading">
<h2>Határidők</h2>
<p>A bejelentkezett technikus útvonalához tartozó, a következő 7 napban esedékes ellenőrzések.</p>
</div>
</div>
<div id="dashboardCards" class="dashboard-grid"></div>
</section>
<section class="panel">
<div class="panel-head">
<div class="section-heading">
<h2>Eszközök</h2>
<p>Külön kezelt eszközlista, amelynek az állapota új naplóbejegyzésekkel frissül.</p>
</div>
<div class="panel-actions">
<button id="openDeviceModalButton" class="secondary-button" type="button">Új eszköz</button>
<button id="openLogModalButton" class="primary-button" type="button">Új napló</button>
</div>
</div>
<div id="deviceList" class="entries-grid"></div>
</section>
</main>
</div>
<div id="deviceModal" class="modal-backdrop hidden">
<div class="modal-panel" role="dialog" aria-modal="true" aria-labelledby="deviceModalTitle">
<div class="modal-head">
<div class="section-heading">
<h2 id="deviceModalTitle">Új eszköz</h2>
<p id="deviceModalSubtitle">Új lift vagy berendezés rögzítése a technikusi útvonalhoz.</p>
</div>
<button id="closeDeviceModalButton" class="ghost-button modal-close" type="button">Bezárás</button>
</div>
<form id="deviceForm">
<input id="deviceEditId" name="elevatorId" type="hidden" />
<div class="form-grid">
<div class="field-wrap">
<label for="deviceName">Eszköz neve</label>
<input id="deviceName" name="name" type="text" required />
</div>
<div class="field-wrap">
<label for="deviceSerialNumber">Gyári szám</label>
<input id="deviceSerialNumber" name="serialNumber" type="text" required />
</div>
<div class="field-wrap field-wide">
<label for="deviceLocation">Helyszín</label>
<input id="deviceLocation" name="location" type="text" required />
</div>
<div class="field-wrap">
<label for="deviceRouteName">Technikusi útvonal</label>
<input id="deviceRouteName" class="readonly-input" name="routeName" type="text" readonly />
</div>
<div class="field-wrap">
<label for="deviceStatus">Aktuális állapot</label>
<select id="deviceStatus" name="status">
<option value="rendben">Rendben</option>
<option value="figyelmeztetes">Figyelmeztetés</option>
<option value="lejart">Lejárt</option>
</select>
</div>
<div class="field-wrap">
<label for="deviceInspectionIntervalDays">Ellenőrzési ciklus napokban</label>
<input id="deviceInspectionIntervalDays" name="inspectionIntervalDays" type="number" min="1" value="30" required />
</div>
<div class="field-wrap">
<label for="deviceNextInspectionDate">Következő ellenőrzés</label>
<input id="deviceNextInspectionDate" name="nextInspectionDate" type="date" />
</div>
</div>
<div class="form-actions">
<div class="inline-actions">
<button id="deviceSubmitButton" class="primary-button" type="submit">Eszköz mentése</button>
<button id="cancelDeviceModalButton" class="ghost-button" type="button">Mégse</button>
</div>
<p id="deviceMessage" class="feedback-text"></p>
</div>
</form>
</div>
</div>
<div id="logModal" class="modal-backdrop hidden">
<div class="modal-panel" role="dialog" aria-modal="true" aria-labelledby="logModalTitle">
<div class="modal-head">
<div class="section-heading">
<h2 id="logModalTitle">Új naplóbejegyzés</h2>
<p>Egy meglévő eszköz állapotának frissítése új ellenőrzési naplóval.</p>
</div>
<button id="closeLogModalButton" class="ghost-button modal-close" type="button">Bezárás</button>
</div>
<form id="logForm">
<div class="form-grid">
<div class="field-wrap field-wide">
<label for="logElevatorId">Eszköz kiválasztása</label>
<select id="logElevatorId" name="elevatorId" required></select>
</div>
<div class="field-wrap field-wide">
<div id="logElevatorSummary" class="summary-card">
Válassz ki egy eszközt a naplóbejegyzéshez.
</div>
</div>
<div class="field-wrap">
<label for="logStatus">Állapot</label>
<select id="logStatus" name="status">
<option value="rendben">Rendben</option>
<option value="figyelmeztetes">Figyelmeztetés</option>
<option value="lejart">Lejárt</option>
</select>
</div>
<div class="field-wrap">
<label for="logInspectionDate">Ellenőrzés dátuma</label>
<input id="logInspectionDate" name="inspectionDate" type="date" required />
</div>
<div class="field-wrap">
<label for="logInspectionIntervalDays">Ellenőrzési ciklus napokban</label>
<input id="logInspectionIntervalDays" name="inspectionIntervalDays" type="number" min="1" value="30" required />
</div>
<div class="field-wrap">
<label for="logNextInspectionDate">Következő ellenőrzés</label>
<input id="logNextInspectionDate" name="nextInspectionDate" type="date" required />
</div>
<div class="field-wrap field-wide">
<label for="logNotes">Megjegyzés</label>
<textarea id="logNotes" name="notes" rows="4" placeholder="Rövid állapotleírás vagy teendő"></textarea>
</div>
<div class="field-wrap field-wide">
<label for="logPdfs">PDF csatolmányok</label>
<input id="logPdfs" name="pdfs" type="file" accept="application/pdf,.pdf" multiple />
</div>
</div>
<div class="form-actions">
<div class="inline-actions">
<button id="logSubmitButton" class="primary-button" type="submit">Bejegyzés mentése</button>
<button id="openDeviceFromLogButton" class="secondary-button" type="button">Új eszköz létrehozása</button>
<button id="cancelLogModalButton" class="ghost-button" type="button">Mégse</button>
</div>
<p id="logMessage" class="feedback-text"></p>
</div>
</form>
</div>
</div>
<script src="/app.js?v=20260522-5"></script>
</body>
</html>