<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Docker P2P Manager</title>
  
  <!-- Bootstrap CSS -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
  <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">

  <!-- xterm.css for Terminal -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/xterm/css/xterm.css">
  
  <style>
    body {
      margin: 0;
      display: flex;
      height: 100vh;
      background-color: #1a1a1a;
      color: white;
      overflow: hidden;
    }
    #titlebar {
      -webkit-app-region: drag;
      height: 30px;
      width: 100%;
      position: fixed;
      top: 0;
      background-color: #2c2c2c;
      z-index: 1000;
    }
    pear-ctrl[data-platform="darwin"] { 
      float: left; 
      margin-top: 5px; 
      margin-left: 10px;
    }
    #sidebar {
      position: fixed;
      top: 30px;
      left: 0;
      background-color: #2c2c2c;
      height: calc(100vh - 30px);
      width: 250px;
      overflow-y: auto;
      transition: width 0.3s ease-in-out;
    }
    #sidebar.collapsed {
      width: 50px;
    }
    #sidebar.collapsed .content {
      display: none;
    }
    #collapse-sidebar-btn {
      position: absolute;
      top: 10px;
      right: 10px;
      background-color: #444;
      border: none;
      color: white;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      font-size: 16px;
      line-height: 30px;
      text-align: center;
      cursor: pointer;
    }
    #content {
      margin-left: 250px;
      flex: 1;
      padding: 30px;
      overflow-y: auto;
      transition: margin-left 0.3s ease-in-out;
    }
    #sidebar.collapsed ~ #content {
      margin-left: 50px;
    }
    .connection-status {
      border-radius: 50%;
      width: 10px;
      height: 10px;
      display: inline-block;
      margin-right: 8px;
    }
    .status-connected {
      background-color: green;
    }
    .status-disconnected {
      background-color: red;
    }
    #terminal-modal {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      max-height: 400px;
      height: 300px;
      background-color: #1a1a1a;
      border-top: 2px solid #444;
      display: none;
      flex-direction: column;
      z-index: 1000;
    }
    #terminal-modal .header {
      background-color: #444;
      padding: 10px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    #terminal-container {
      flex: 1;
      overflow: hidden;
      background-color: black;
      color: white;
    }
    #tray {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      background-color: #444;
      padding: 5px 10px;
      display: flex;
      gap: 10px;
      overflow-x: auto;
      white-space: nowrap;
      z-index: 999;
    }
    #tray .tray-item {
      background-color: #555;
      color: white;
      padding: 5px 10px;
      border-radius: 5px;
      cursor: pointer;
    }
  </style>

</head>
<body>
  <div id="titlebar">
    <pear-ctrl></pear-ctrl>
  </div>
  
  <div id="sidebar">
    <button id="collapse-sidebar-btn">&lt;</button>
    <div class="content">
      <h4 class="text-center mt-3">Connections</h4>
      <ul id="connection-list" class="list-group mb-3"></ul>
      <form id="add-connection-form" class="px-3">
        <input type="text" id="new-connection-topic" class="form-control mb-2" placeholder="Enter server topic" required>
        <button type="submit" class="btn btn-primary w-100">Add Connection</button>
      </form>
    </div>
  </div>
  
  <div id="content">
    <h1 id="connection-title">Add a Connection</h1>
    <div id="dashboard" class="hidden">
      <h2>Containers</h2>
      <table class="table table-dark table-striped">
        <thead>
          <tr>
            <th>Name</th>
            <th>Image</th>
            <th>Status</th>
            <th>CPU (%)</th>
            <th>Memory (MB)</th>
            <th>IP Address</th>
            <th>Actions</th>
          </tr>
        </thead>
        <tbody id="container-list"></tbody>
      </table>
    </div>
  </div>
  
  <!-- Duplicate Container Modal -->
  <div class="modal fade" id="duplicateModal" tabindex="-1" aria-labelledby="duplicateModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
      <div class="modal-content bg-dark text-white">
        <div class="modal-header">
          <h5 class="modal-title" id="duplicateModalLabel">Duplicate Container</h5>
          <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
        </div>
        <div class="modal-body">
          <form id="duplicate-container-form">
            <div class="mb-3">
              <label for="container-name" class="form-label">Container Name</label>
              <input type="text" class="form-control" id="container-name" required>
            </div>
            <div class="mb-3">
              <label for="container-image" class="form-label">Hostname</label>
              <input type="text" class="form-control" id="container-hostname" required>
            </div>
            <div class="mb-3">
              <label for="container-image" class="form-label">Image</label>
              <input type="text" class="form-control" id="container-image" required>
            </div>
            <div class="mb-3">
              <label for="container-image" class="form-label">Net Mode</label>
              <input type="text" class="form-control" id="container-netmode" required>
            </div>
            <div class="mb-3">
              <label for="container-cpu" class="form-label">CPU Count</label>
              <input type="number" class="form-control" id="container-cpu" required>
            </div>
            <div class="mb-3">
              <label for="container-memory" class="form-label">Memory (MB)</label>
              <input type="number" class="form-control" id="container-memory" required>
            </div>
            <!-- Container Configuration as JSON -->
            <div class="mb-3">
              <label for="container-config" class="form-label">Container Configuration (JSON)</label>
              <textarea class="form-control" id="container-config" rows="10" required></textarea>
            </div>
            <button type="submit" class="btn btn-primary">Deploy Duplicate</button>
          </form>
        </div>
      </div>
    </div>
  </div>
  
  <!-- Terminal Modal -->
  <div id="terminal-modal">
    <div class="header">
      <span id="terminal-title"></span>
      <div>
        <button id="kill-terminal-btn" class="btn btn-sm btn-danger">Kill Terminal</button>
      </div>
    </div>
    <div id="terminal-container"></div>
  </div>
  
  <div id="tray"></div>
  
  <!-- xterm.js -->
  <script src="https://cdn.jsdelivr.net/npm/xterm/lib/xterm.js"></script>
  
  <!-- Bootstrap JS for Modal Functionality -->
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
  

  <!-- Your App JS -->
  <script type="module" src="app.js"></script>
</body>
</html>