<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Remote server management</title>
  <style>
    body { font-family: Arial, sans-serif; background: #f1f1f1; margin: 0; padding: 0; }
    .container { max-width: 800px; margin: 40px auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 0 10px #ccc; }
    h1 { text-align: center; margin-bottom: 1em; }
    table { width: 100%; border-collapse: collapse; margin-bottom: 1em; }
    table th, table td { border: 1px solid #ccc; padding: 8px; text-align: left; }
    table th { background: #f7f7f7; }
    .form-section { margin-bottom: 20px; background: #fafafa; padding: 10px; border: 1px solid #ddd; border-radius: 4px; }
    label { display: block; margin-top: 1em; }
    input[type="text"], input[type="password"], textarea { width: 100%; padding: 8px; margin-top: 4px; box-sizing: border-box; }
    button { margin-top: 1em; padding: 10px 20px; background: #007bff; border: none; color: #fff; cursor: pointer; border-radius: 4px; }
    button:hover { background: #0056b3; }
    .delete-btn { background: #dc3545; margin-top: 0; }
    .delete-btn:hover { background: #c82333; }
    .links { text-align: center; margin-top: 10px; }
    .links a { color: #007bff; text-decoration: none; margin: 0 10px; }
    .links a:hover { text-decoration: underline; }
    .flash-messages { margin-top: 10px; color: #b30000; text-align: center; }
    .btn {
          display: inline-block;
          padding: 4px 10px;
          margin: 0 3px;
          border-radius: 4px;
          border: none;
          cursor: pointer;
          text-decoration: none;
          color: #fff;
          font-size: 0.85em;
          vertical-align: middle;
        }

        /* Kolorowe warianty */
        .btn-primary {
          background-color: #007bff;
        }
        .btn-primary:hover {
          background-color: #0056b3;
        }

        .btn-info {
          background-color: #17a2b8;
        }
        .btn-info:hover {
          background-color: #138496;
        }

        .btn-success {
          background-color: #28a745;
        }
        .btn-success:hover {
          background-color: #218838;
        }

        .btn-danger {
          background-color: #dc3545;
        }
        .btn-danger:hover {
          background-color: #c82333;
        }
    .resolved-hostname {
      display: none;
      font-size: 0.7em;
      color: #777;
    }
    td:hover .resolved-hostname {
      display: block;
    }
  </style>
</head>
<body>
  <div class="container">
    <h1>Remote server management</h1>
    {% with messages = get_flashed_messages(category_filter=["danger","success","info"]) %}
      {% if messages %}
        <div class="flash-messages">
          {% for message in messages %}
            <p>{{ message }}</p>
          {% endfor %}
        </div>
      {% endif %}
    {% endwith %}
    <div class="form-section">
      <h2>Add new server</h2>
      <form method="POST" action="{{ url_for('manage_hosts') }}">
        <label for="hostname">Hostname (IP or domain):</label>
        <input type="text" name="hostname" id="hostname" required />
        <label for="username">SSH Username:</label>
        <input type="text" name="username" id="username" required />
        <label for="password">SSH Password:</label>
        <input type="password" name="password" id="password" />
        <label for="port">SSH Port:</label>
        <input type="text" name="port" id="port" value="22" />
        <label for="host_type">Type:</label>
        <select name="host_type" id="host_type" required>
          <option value="linux">Linux</option>
          <option value="mikrotik">Mikrotik</option>
        </select>
        <label for="auth_method">Authentication Method:</label>
        <select name="auth_method" id="auth_method">
          <option value="password">Password</option>
          <option value="ssh_key">SSH Key</option>
        </select>
        <label for="private_key">Private Key (if using SSH Key):</label>
        <textarea name="private_key" id="private_key" rows="5"></textarea>
        <label for="key_passphrase">Key Passphrase (if encrypted key):</label>
        <input type="password" name="key_passphrase" id="key_passphrase" />
        <button type="submit">Add Host</button>
      </form>
    </div>
    <table>
      <thead>
        <tr>
          <th>ID</th>
          <th>Hostname</th>
          <th>SSH User</th>
          <th>Port</th>
          <th>Type</th>
          <th>Auth Method</th>
          <th>Actions</th>
        </tr>
      </thead>
      <tbody>
        {% for h in hosts %}
        <tr>
          <td>{{ h.id }}</td>
          <td>
            <span class="primary-hostname">{{ h.hostname }}</span>
            <br>
            <span class="resolved-hostname">{{ h.resolved_hostname }}</span>
          </td>
          
          <td>{{ h.username }}</td>
          <td>{{ h.port }}</td>
          <td>{{ h.type }}</td>
          <td>{{ h.auth_method }}</td>
          <td>
            <a href="{{ url_for('edit_host', id=h.id) }}" class="btn btn-primary">Edit</a>
            <a href="{{ url_for('test_host', id=h.id) }}" class="btn btn-info">Test</a>
            <a href="{{ url_for('backup_host', host_id=h.id) }}" class="btn btn-success">Backup</a>
            <form method="GET" action="{{ url_for('delete_host', id=h.id) }}" style="display:inline;">
              <button type="submit" class="btn btn-danger">Delete</button>
            </form>
          </td>
        </tr>
        {% endfor %}
      </tbody>
    </table>
    <div class="links">
      <a href="{{ url_for('import_hosts') }}">Import Servers from CSV</a> |
      <a href="{{ url_for('export_hosts') }}">Export Servers to CSV</a> |
      <a href="{{ url_for('dashboard') }}">Go to Dashboard</a>
    </div>
  </div>
</body>
</html>