<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <title>%DEVICENAME%</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="static/css/bootstrap.min.css">
  <link rel="stylesheet" href="static/css/custom.css">
  <link rel="stylesheet" href="static/css/tweaks.css">
  <script src="static/js/jquery.min.js"></script>
  <script src="static/js/bootstrap.min.js"></script>
  <script src="static/js/websocket.js"></script>
  <link rel="apple-touch-icon" sizes="180x180" href="static/img/apple-touch-icon.png">
  <link rel="icon" type="image/png" sizes="32x32" href="static/img/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="static/img/favicon-16x16.png">
  <link rel="manifest" href="static/img/site.webmanifest">
</head>

<body>

  <nav class="navbar fixed-top navbar-dark bg-primary" id="navbar1">
    <a class="navbar-brand" href="#">
      <img src="static/img/logo.png" width="30" height="30" class="d-inline-block align-top mr-1" alt="">
      %DEVICENAME%
    </a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsingNavbar"
      aria-controls="collapsingNavbar" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="collapsingNavbar">
      <ul class="navbar-nav nav mr-auto mt-2 mt-lg-0">

        <li class="nav-item"><a class="nav-link active" role="tab" data-toggle="tab" href="#tab_home">Home</a></li>
        <li class="nav-item"><a class="nav-link" role="tab" data-toggle="tab" href="#tab_maintenance">Wartung</a></li>
        <li class="nav-item"><a class="nav-link" role="tab" data-toggle="tab" href="#tab_source">Einstellungen</a></li>
        <li class="nav-item"><a class="nav-link" role="tab" data-toggle="tab" href="#tab_sysinfo">Systeminfo</a></li>
        <li class="nav-item"><a class="nav-link" role="tab" data-toggle="tab" href="#tab_fwupdate">Update</a></li>

      </ul>
    </div>
  </nav>

  <main class="container">

    <!-- Tabs Content -->
    <div class="tab-content">
      <!-- Div Tab Home-->
      <div id="tab_home" class="tab-pane fade show active" role="tabpanel">
        <div class="col text-center">
          <div class="jumbotron">
            <img src="static/img/logo.png" width="120" height="120" class="img-fluid" alt="">
            <h3 class="pt-3">%DEVICENAME%</h3>
          </div>
        </div>
        <!-- Div Group Battery remain -->
        <hr />
        <p>
        <h4>Akku Ladestand</h4>
        <div class="progress">
          <div class="progress-bar text-light" role="progressbar" aria-valuenow="%BAT_REMAIN_CAPACITY%"
            aria-valuemin="0" aria-valuemax="100" style="width: %BAT_REMAIN_CAPACITY%&#37;">
            %BAT_REMAIN_CAPACITY%&#37;
          </div>
        </div>
        </p>
        <!-- Div Group Battery remain -->
        <!-- Div Group current Mode -->
        <hr />
        <p>
        <h4>aktueller Modus</h4>
        <input class="form-control" type="text" placeholder="%SYSTEM_STATUS%" readonly>
        </p>
        <!-- Div Group current Mode -->
        <!-- Div Group Faction Points -->
        <hr />
        <p>
        <h4>aktueller Punktestand</h4>
        <div class="table-responsive">
          <table class="table table-borderless table-dark">
            <thead>
              <tr>
                <th class="text-center" scope="col">%NAME_FAC_1%</th>
                <th class="text-center" scope="col">%NAME_FAC_2%</th>
                <th class="text-center" scope="col">%NAME_FAC_3%</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td class="mx-auto"><img src="static/img/logo_fac1.png" class="rounded mx-auto img-fluid d-block"
                    alt="..."></td>
                <td class="mx-auto"><img src="static/img/logo_fac2.png" class="rounded mx-auto img-fluid d-block"
                    alt="..."></td>
                <td class="mx-auto"><img src="static/img/logo_fac3.png" class="rounded mx-auto img-fluid d-block"
                    alt="..."></td>
              </tr>
              <tr>
                <td class="text-center">%POINTS_FAC_1%</td>
                <td class="text-center">%POINTS_FAC_2%</td>
                <td class="text-center">%POINTS_FAC_3%</td>
              </tr>
            </tbody>
          </table>
        </div>
        </p>
        <!-- Div GroupFaction Points -->
        <!-- Div Group DTC Table -->
        <div %SHOW_DTC_TABLE%>
          <hr />
          <p>
          <h4>Fehlercodes</h4>
          <table class="table">
            <tbody>
              <tr>
                <th class="col-6" scope="col">Zeitstempel</th>
                <th class="col-2" scope="col">Fehlercode</th>
                <th class="col-2" scope="col">Schwere</th>
                <th class="col-2" scope="col">Aktiv</th>
              </tr>
              %DTC_TABLE%
            </tbody>
          </table>
          </p>
        </div>
        <!-- Div Group DTC Table -->
      </div>
      <!-- Div Tab Home-->

      <!-- Div Tab Maintenance -->
      <div id="tab_maintenance" class="tab-pane fade" role="tabpanel">
        <h3>Wartung</h3>
        <!-- Div Group Reset Timers -->
        <hr />
        <p>
        <h4>Punkte zur&uuml;cksetzen</h4>
        <form action="post.htm" method="POST" class="form-horizontal">
          <div class="form-group row">
            <div class="col text-center">
              <button name="resetpoints" type="submit" class="btn btn-outline-primary">Reset</button>
            </div>
          </div>
        </form>
        </p>
        <!-- Div Group Reset Timers  -->
        <!-- Div Group EEPROM formatting -->
        <hr />
        <p>
        <h4>EEPROM formatieren</h4>
        <div class="alert alert-primary alert-dismissable show fade" role="alert">
          <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">×</span>
          </button>
          <strong>Achtung!</strong><br>
          Das Formatieren der EEPROM-Bereiche sollte nur ausgeführt werden wenn es unbedingt erforderlich ist!
          Hierdurch werden alle Einstellungen zurück gesetzt bzw. alle Betriebsdaten gehen verloren.
          Folgende Situationen erfordern unter anderem eine Formatierung:
          - Erstinitialisierung (bei neu aufgebautem Gerät)
          - Firmware-Update (nur wenn es die Release-Notes fordern)
        </div>
        <form action="post.htm" method="POST" class="form-horizontal">
          <div class="form-group row">
            <div class="offset-4 col-8">
              <div class="form-check">
                <input class="form-check-input" type="checkbox" name="reset_ee_cfg" id="reset_ee_cfg">
                <label class="form-check-label" for="reset_ee_cfg">
                  Bereich "CFG"
                </label>
              </div>
              <div class="form-check">
                <input class="form-check-input" type="checkbox" name="reset_ee_pds" id="reset_ee_pds">
                <label class="form-check-label" for="reset_ee_pds">
                  Bereich "PDS"
                </label>
              </div>
            </div>
          </div>
          <div class="form-group row">
            <div class="col text-center">
              <button name="reset_ee_btn" type="submit" class="btn btn-outline-primary">EEPROM formatieren</button>
            </div>
          </div>
        </form>
        </p>
        <!-- Div Group EEPROM formatting -->
        <!-- Div Group Device Reboot -->
        <hr />
        <p>
        <h4>Ger&auml;t neustarten</h4>
        <form action="post.htm" method="POST" class="form-horizontal">
          <div class="form-group row">
            <div class="col text-center">
              <button name="reboot" type="submit" class="btn btn-outline-primary">Reboot</button>
            </div>
          </div>
        </form>
        </p>
        <!-- Div Group Device Reboot -->
      </div>
      <!-- Div Tab Maintenance -->
      <!-- Div Tab Settings-->
      <div id="tab_source" class="tab-pane fade" role="tabpanel">
        <h3>Einstellungen</h3>
        <!-- Div Group Battery Type -->
        <hr />
        <p>
        <h4>Akku-Variante</h4>
        <form action="post.htm" method="POST" class="form-horizontal">
          <div class="form-group row">
            <label for="battery_select" class="control-label col-4">Akku</label>
            <div class="col-8">
              <select id="battery_select" name="battery_select" class="select form-control">
                %BATTERY_SELECT_OPTIONS%
              </select>
            </div>
          </div>
          <div class="form-group row">
            <div class="col text-center">
              <button name="settingssave" type="submit" class="btn btn-outline-primary">&Uuml;bernehmen</button>
            </div>
          </div>
        </form>
        </p>
        <!-- Div Group Battery Type -->
      </div>
      <!-- Div Tab Settings -->

      <!-- Div Tab SystemInfo -->
      <div id="tab_sysinfo" class="tab-pane fade" role="tabpanel">
        <h3>Systeminfo</h3>
        <!-- Div Group Sysinfo:Geraeteinfo -->
        <hr />
        <p>
        <h4>Ger&auml;t</h4>
        <table class="table">
          <tbody>
            <tr>
              <th class="col-7" scope="col">Parameter</td>
              <th class="col-5" scope="col">Value</td>
            </tr>
            <tr>
              <td>Hostname</td>
              <td>%HOSTNAME%</td>
            </tr>
            <tr>
              <td>Battery Voltage</td>
              <td>%BAT_VOLTAGE%V</td>
            </tr>
            <tr>
              <td>Battery Remain</td>
              <td>%BAT_REMAIN_CAPACITY%&#37;</td>
            </tr>
        </table>
        </p>
        <!-- Div Group Sysinfo:Geraeteinfo -->
        <!-- Div Group Sysinfo:Settings -->
        <hr />
        <p>
        <h4>Einstellungen</h4>
        <table class="table">
          <tbody>
            <tr>
              <th class="col-7" scope="col">Parameter</td>
              <th class="col-5" scope="col">Value</td>
            </tr>
            <tr>
              <td>Battery_type</td>
              <td>%BATTERY_TYPE%</td>
            </tr>
            <tr>
              <td>EEPROM Version</td>
              <td>%EEPROM_VERSION%</td>
            </tr>
            <tr>
              <td>Checksum</td>
              <td>%CONFIG_CHECKSUM%</td>
            </tr>
          </tbody>
        </table>
        </p>
        <!-- Div Group Sysinfo:Settings -->
        <!-- Div Group Sysinfo:Persistance -->
        <hr />
        <p>
        <h4>Betriebsdaten</h4>
        <table class="table">
          <tbody>
            <tr>
              <th class="col-7" scope="col">Parameter</td>
              <th class="col-5" scope="col">Value</td>
            </tr>
            <tr>
              <td>writeCycleCounter</td>
              <td>%WRITE_CYCLE_COUNT%</td>
            </tr>
            <tr>
              <td>PersistenceMarker</td>
              <td>%PERSISTENCE_MARKER%</td>
            </tr>
            <tr>
              <td>activeFaction</td>
              <td>%ACTIVE_FACTION%</td>
            </tr>
            <tr>
              <td>faction_1_timer</td>
              <td>%POINTS_FAC_1%</td>
            </tr>
            <tr>
              <td>faction_2_timer</td>
              <td>%POINTS_FAC_2%</td>
            </tr>
            <tr>
              <td>faction_3_timer</td>
              <td>%POINTS_FAC_3%</td>
            </tr>
            <tr>
              <td>checksum</td>
              <td>%PERSISTANCE_CHECKSUM%</td>
            </tr>
        </table>
        </p>
        <!-- Div Group Sysinfo:Persistance -->
        <!-- Div Group LiveDebug -->
        <hr />
        <p>
        <h4>Live Debug</h4>
        <div class="form-group row">
          <textarea class="form-control" spellcheck="false" id="livedebug-out" rows="3" readonly></textarea>
        </div>
        <div class="form-group row">
          <div class="col text-center">
            <button id="btn-ws-start" class="btn btn-outline-primary">Start</button>
            <button id="btn-ws-stop" class="btn btn-outline-primary ml-2">Stop</button>
          </div>
        </div>
        </p>
        <!-- Div Group LiveDebug -->
      </div>
      <!-- Div Tab SystemInfo -->

      <!-- Div Tab Firmware Update-->
      <div id="tab_fwupdate" class="tab-pane fade" role="tabpanel">
        <h3>Firmware</h3>
        <!-- Div Group VersionInfo -->
        <hr />
        <p>
        <h4>Version-Info</h4>
        <table class="table">
          <tbody>
            <tr>
              <th class="col-7" scope="col">Parameter</td>
              <th class="col-5" scope="col">Value</td>
            </tr>
            <tr>
              <td>Firmware Version</td>
              <td>%SW_VERSION%</td>
            </tr>
            <tr>
              <td>Flash Version</td>
              <td>%FS_VERSION%</td>
            </tr>
            <tr>
              <td>Git Revision</td>
              <td>%GIT_REV%</td>
            </tr>
        </table>
        </p>
        <!-- Div Group VersionInfo -->
        <!-- Div Group EEPROM Backup -->
        <hr />
        <p>
        <h4>EEPROM-Backup</h4>
        <div class="form-group row">
          <div class="col text-center">
            <a class="btn btn-outline-primary" href="eejson" role="button" id="ee-backup-download">Download</a>
          </div>
        </div>
        </p>
        <!-- Div Group EEPROM Backup -->
        <!-- Div Group EEPROM Restore -->
        <hr />
        <p>
        <h4>EEPROM-Restore</h4>
        <form method='POST' action='eeRestore' enctype='multipart/form-data'>
          <div class="form-group row">
            <div class="custom-file">
              <input type="file" name="ee-restore-file" class="custom-file-input" id="ee-restore-file" accept=".ee.json"
                required />
              <label class="custom-file-label" for="ee-restore-file">EEPROM-Backup ausw&auml;hlen</label>
            </div>
          </div>
          <div class="form-group row">
            <div class="col text-center">
              <button name="submit" type="submit" class="btn btn-outline-primary">Restore starten</button>
            </div>
          </div>
        </form>
        </p>
        <!-- Div Group EEPROM Restore -->
        <!-- Div Group Firmware Update -->
        <hr />
        <p>
        <h4>Firmware-Update</h4>
        <form method='POST' action='doUpdate' enctype='multipart/form-data'>
          <div class="form-group row">
            <div class="custom-file">
              <input type="file" name="fw-update-file" class="custom-file-input" id="fw-update-file"
                accept=".fw.bin,.fs.gz" required />
              <label class="custom-file-label" for="fw-update-file">Firmware-Update ausw&auml;hlen</label>
            </div>
          </div>
          <div class="form-group row">
            <div class="col text-center">
              <button name="submit" type="submit" class="btn btn-outline-primary">Update starten</button>
            </div>
          </div>
        </form>
        </p>
        <!-- Div Group Firmware Update -->
      </div>
      <!-- Div Tab Firmware Update-->
    </div>
    <!-- Tabs Content -->
  </main>


  <!-- Footer -->

  <footer class="page-footer navbar-dark bg-primary font-small fixed-bottom">
    <div class="container-fluid text-center">
      <div class="footer-copyright text-center py-3">
        <span class="text-muted">© 2023 -
          <a class="text-reset fw-bold" href="https://hiabuto.de/">Hiabuto Defence Systems</a></span>
      </div>
    </div>
  </footer>

  <!-- Footer -->

  <!-- Modal Dialog -->

  <div class="modal fade" id="dtcModal" tabindex="-1" role="dialog" aria-labelledby="dtcModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="dtcModalLabel">DTC-Description</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="modal-body">
          <p class="dtc-desc">DTC Description</p>
          <p class="dtc-debugval">DTC DebugVal</p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
        </div>
      </div>
    </div>
  </div>

  <!-- Modal Dialog -->

  <script>
    $('.navbar-nav>li>a').on('click', function () {
      $('.navbar-collapse').collapse('hide');
    });

    document.querySelector('.custom-file-input').addEventListener('change', function (e) {
      var fileName = document.getElementById("fw-update-file").files[0].name;
      var nextSibling = e.target.nextElementSibling
      nextSibling.innerText = fileName
    });

    $(document).ready(function () {
      $("tr[data-dtc]").each(function (i) {
        $(this).attr('data-toggle', "modal");
        $(this).attr('data-target', "#dtcModal");
      });
    });

    $('#dtcModal').on('show.bs.modal', function (event) {
      var dtctr = $(event.relatedTarget)
      var dtc = dtctr.data('dtc')
      var debugval = dtctr.data('debugval')
      var modal = $(this)
      $.getJSON('static/tt_dtc/dtc_' + dtc + '.json', function (data) {
        modal.find('.modal-title').text(data.title)
        modal.find('.dtc-desc').text(data.description)
        if (debugval > 0) {
          modal.find('.dtc-debugval').text("Debugvalue: " + debugval)
        }
        else {
          modal.find('.dtc-debugval').remove()
        }
      }).fail(function () {
        console.log("An error has occurred.");
        modal.find('.modal-title').text("Fehler")
        modal.find('.dtc-desc').text("DTC-Beschreibung konnte nicht geladen werden")
      });
    });

  </script>

</body>

</html>