<div class="container">
  <h1>Create <%= @schema.name %></h1>

  <form action={"#{@base_path}/content"} method="post" class="content-form" enctype="multipart/form-data">
    <input type="hidden" name="_csrf_token" value={Plug.CSRFProtection.get_csrf_token()} />
    <input type="hidden" name="schema_id" value={@schema.id} />

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

        <%= if field.field_type == "text" do %>
          <%= if Map.get(field.options, "multiline") do %>
            <textarea
              id={"field_#{field.id}"}
              name={"content[#{field.id}]"}
              style="width: 100%; height: 250px; resize: none;"
              required
            ></textarea>
          <% else %>
            <input
              type="text"
              id={"field_#{field.id}"}
              name={"content[#{field.id}]"}
              required
            />
          <% end %>
        <% end %>

        <%= if field.field_type == "richtext" do %>
          <input
            type="hidden"
            id={"field_#{field.id}"}
            name={"content[#{field.id}]"}
            value=""
          />
          <trix-editor
            input={"field_#{field.id}"}
            placeholder={"Enter #{field.name}..."}
          ></trix-editor>
        <% end %>

        <%= if field.field_type == "image" do %>
          <input
            type="file"
            id={"field_#{field.id}"}
            name={"content_files[#{field.id}]"}
            accept="image/*"
            required
          />
          <small style="color: #666; font-size: 0.875rem;">Upload an image file</small>
        <% end %>

        <%= if field.field_type == "reference" do %>
          <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 %>
                <option value={content.id}>
                  <%= 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">Create</button>
      <a href={"#{@base_path}/content"} class="btn-secondary">Cancel</a>
    </div>
  </form>
</div>
