<div class="container">
  <h1>Edit <%= @content.schema.name %> #<%= @content.id %></h1>

  <form action={"/content/#{@content.id}/update"} method="post" >
    <%= for field <- @content.schema.fields do %>
      <div class="form-group">
        <label for={"field_#{field.id}"}><%= field.name %>:</label>

        <%= if field.field_type == "text" do %>
          <input
            type="text"
            id={"field_#{field.id}"}
            name={"content[#{field.id}]"}
            value={Map.get(@content.field_values, to_string(field.id), "")}
            required
          />
        <% else %>
          <select
            id={"field_#{field.id}"}
            name={"content[#{field.id}]"}
            required
          >
            <option value="">Select <%= field.name %>...</option>
            <%= for content <- @all_contents do %>
              <%= if content.schema_id == field.referenced_schema_id do %>
                <% current_value = Map.get(@content.field_values, to_string(field.id)) %>
                <% is_selected = current_value && to_string(content.id) == to_string(current_value) %>
                <option value={content.id} selected={is_selected}>
                  <%= content.schema.name %> #<%= content.id %>
                  <%= if Map.get(content.field_values, "name"), do: " - #{Map.get(content.field_values, "name")}" %>
                </option>
              <% end %>
            <% end %>
          </select>
        <% end %>
      </div>
    <% end %>

    <div class="actions">
      <button type="submit">Save Changes</button>
      <a href={"/content/#{@content.id}"} class="btn-secondary">Cancel</a>
    </div>
  </form>
</div>
