<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>APS — Edit Post</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <style>
    body { background: #f0f2f5; }
    .navbar { background: #fff; border-bottom: 1px solid #e5e7eb; }
    .media-thumb { max-height: 80px; border-radius: 4px; }
  </style>
</head>
<body>

<nav class="navbar px-4 py-3 mb-4">
  <a href="<%= basePath %>/dashboard" class="text-decoration-none text-muted small">← Back to dashboard</a>
  <span class="fw-semibold text-dark ms-3">Edit Post</span>
  <a href="<%= basePath %>/logout" class="text-muted small text-decoration-none ms-auto">Sign out</a>
</nav>

<div class="container" style="max-width:680px">

  <% if (error) { %>
    <div class="alert alert-danger py-2 small"><%= error %></div>
  <% } %>

  <!-- Read-only notice for published posts -->
  <% if (post.status === 'Published') { %>
    <div class="alert alert-info py-2 small">
      This post has already been published and cannot be edited.
    </div>
  <% } %>

  <div class="card border-0 shadow-sm">
    <div class="card-body p-4">

      <% const isReadOnly = post.status === 'Published'; %>

      <form method="POST" action="<%= basePath %>/posts/<%= post.id %>" enctype="multipart/form-data">

        <!-- Status badge (read-only display) -->
        <div class="mb-3">
          <span class="form-label fw-medium me-2">Status</span>
          <%
            const badgeClass = {
              Scheduled:  'bg-primary',
              Published:  'bg-success',
              Failed:     'bg-danger',
              Publishing: 'bg-warning text-dark',
            }[post.status] || 'bg-secondary';
          %>
          <span class="badge <%= badgeClass %>"><%= post.status %></span>
        </div>

        <!-- Scheduled date/time -->
        <div class="mb-3">
          <label for="scheduledAt" class="form-label fw-medium">Scheduled date & time</label>
          <%
            // Format for datetime-local input: "YYYY-MM-DDTHH:MM"
            const dtValue = post.scheduledAt
              ? new Date(post.scheduledAt).toISOString().slice(0,16)
              : '';
          %>
          <input type="datetime-local" id="scheduledAt" name="scheduledAt" class="form-control"
                 value="<%= dtValue %>" <%= isReadOnly ? 'disabled' : '' %>>
        </div>

        <!-- Platforms -->
        <div class="mb-3">
          <label class="form-label fw-medium">Platforms</label>
          <div class="d-flex flex-wrap gap-3">
            <% platforms.forEach(p => { %>
              <div class="form-check">
                <input class="form-check-input" type="checkbox" name="platforms" value="<%= p %>"
                       id="plat_<%= p %>"
                       <%= (post.platforms || []).includes(p) ? 'checked' : '' %>
                       <%= isReadOnly ? 'disabled' : '' %>>
                <label class="form-check-label" for="plat_<%= p %>"><%= p %></label>
              </div>
            <% }) %>
          </div>
        </div>

        <!-- Content type -->
        <div class="mb-3">
          <label for="contentType" class="form-label fw-medium">Content type</label>
          <select id="contentType" name="contentType" class="form-select" <%= isReadOnly ? 'disabled' : '' %>>
            <% contentTypes.forEach(ct => { %>
              <option value="<%= ct %>" <%= post.contentType === ct ? 'selected' : '' %>><%= ct %></option>
            <% }) %>
          </select>
        </div>

        <!-- Caption -->
        <div class="mb-3">
          <label for="caption" class="form-label fw-medium">Caption</label>
          <textarea id="caption" name="caption" class="form-control" rows="4"
                    <%= isReadOnly ? 'disabled' : '' %>><%= post.caption %></textarea>
        </div>

        <!-- Hooks / Overlay text -->
        <div class="mb-3">
          <label for="hooks" class="form-label fw-medium">Hooks / Overlay text</label>
          <textarea id="hooks" name="hooks" class="form-control" rows="2"
                    <%= isReadOnly ? 'disabled' : '' %>><%= post.hooks %></textarea>
          <div class="form-text">For Level 1 posts: text rendered on the image. For events: countdown prefix.</div>
        </div>

        <!-- Existing media -->
        <% if (post.media && post.media.length > 0) { %>
          <div class="mb-3">
            <label class="form-label fw-medium">Current media</label>
            <div class="d-flex flex-wrap gap-2">
              <% post.media.forEach(m => { %>
                <% if (/\.(mp4|mov|m4v|avi)$/i.test(m.filename || m.url || '')) { %>
                  <span class="badge bg-secondary">🎬 <%= m.filename || 'video' %></span>
                <% } else { %>
                  <img src="<%= m.url %>" class="media-thumb" alt="<%= m.filename %>"
                       onerror="this.style.display='none'">
                <% } %>
              <% }) %>
            </div>
          </div>
        <% } %>

        <!-- Media upload (only for editable posts) -->
        <% if (!isReadOnly) { %>
          <div class="mb-4">
            <label for="media" class="form-label fw-medium">
              Replace media <span class="text-muted small fw-normal">(leave blank to keep existing)</span>
            </label>
            <input type="file" id="media" name="media" class="form-control"
                   accept="image/jpeg,image/png,image/gif,image/webp,image/heic,video/mp4,video/quicktime,video/x-m4v">
            <div class="form-text">Uploading a new file replaces the existing one. Accepted: JPEG, PNG, HEIC, WebP, MP4, MOV.</div>
          </div>
        <% } %>

        <!-- Action buttons -->
        <% if (!isReadOnly) { %>
          <div class="d-flex justify-content-between align-items-center gap-2">
            <div class="d-flex gap-2">
              <button type="submit" class="btn btn-primary">Save changes</button>
              <a href="<%= basePath %>/dashboard" class="btn btn-outline-secondary">Cancel</a>
            </div>
            <!-- Delete button (separate form for _method override) -->
            <form method="POST" action="<%= basePath %>/posts/<%= post.id %>/delete"
                  onsubmit="return confirm('Delete this post? This cannot be undone.')">
              <input type="hidden" name="_method" value="DELETE">
              <button type="submit" class="btn btn-outline-danger">Delete post</button>
            </form>
          </div>
        <% } else { %>
          <a href="<%= basePath %>/dashboard" class="btn btn-outline-secondary">Back to dashboard</a>
        <% } %>

      </form>
    </div>
  </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
