<commit_before><div class="personal-info">
  <%= form.input :name %>
  <%= form.input :email %>
  <%= form.input :phone %>
</div>
<div class="project-info">
  <%= form.input :title, :maxlength => 50 %>
  <%= form.input :url %>
  <%= form.input :rss_feed_url %>
</div>
<div class="descriptions">
  <%= form.input :about_me, :maxlength => 500, :input_html => { :class => "about-me" }, :disabled => !form.object.new_record?  %>
  <div class="chars_left">
    You have <span id="project_about_me_chars_left">500</span> chars left
  </div>
  <%= form.input :about_project, :maxlength => 2000, :input_html => { :class => "project-desc" }, :disabled => !form.object.new_record? %>
  <div class="chars_left">
    You have <span id="project_about_project_chars_left">2000</span> chars left
  </div>
  <%= form.input :use_for_money, :maxlength => 500, :input_html => { :class => "project-use-for-money" }, :disabled => !form.object.new_record?  %>
  <div class="chars_left">
    You have <span id="project_use_for_money_chars_left">500</span> chars left
  </div>
</div>
<div class="image-upload">
  <% if form.object.photos.present? %>
    <section class="current-images">
    <label><%= t "simple_form.labels.project.current_photos-html" %></label>
      <ul class="old-photos">
        <%= form.input :photo_order, :as => :hidden %>
        <% form.object.photos.each do |photo| %>
          <li data-id="<%= photo.id %>">
            <span><%= photo.image_file_name %></span>
            <a href="#" class="remove-image" data-remove="true">remove</a>
          </li>
        <% end %>
      </ul>
    </section>
  <% end %>
  <div class="input file optional">
    <label class="file optional"><%= t "simple_form.labels.project.new_photos-html" %></label>
    <div class="multi-input first noremove">
      <input class="file optional multi new_photo" id="project_new_photos" name="project[new_photos][]" type="file" value="">
      <a href="#" class="remove-image" data-remove="true">remove</a>
    </div>

    <div><%= t(".image-notes", :dimensions => Photo::MAIN_DIMENSIONS) %></div>

  </div>
</div>
<%= form.input :chapter_id, :collection => Chapter.select_data, :prompt => '- Select -', :as => :select, :group_method => :name %>
<div class="extra-questions" style="display:none">
  <%= form.input :extra_question_1, :as => :hidden, :wrapper_html => {:class => "extra-question"}  %>
  <%= form.input :extra_question_2, :as => :hidden, :wrapper_html => {:class => "extra-question"}  %>
  <%= form.input :extra_question_3, :as => :hidden, :wrapper_html => {:class => "extra-question"}  %>
  <%= form.input :extra_answer_1, :wrapper_html => {:class => "extra-answer"} %>
  <%= form.input :extra_answer_2, :wrapper_html => {:class => "extra-answer"} %><commit_msg>Very simple client-side validation to restrict submission attachments to photos. Need to add server-side validation too since this won't work with all browsers.<commit_after><div class="personal-info">
  <%= form.input :name %>
  <%= form.input :email %>
  <%= form.input :phone %>
</div>
<div class="project-info">
  <%= form.input :title, :maxlength => 50 %>
  <%= form.input :url %>
  <%= form.input :rss_feed_url %>
</div>
<div class="descriptions">
  <%= form.input :about_me, :maxlength => 500, :input_html => { :class => "about-me" }, :disabled => !form.object.new_record?  %>
  <div class="chars_left">
    You have <span id="project_about_me_chars_left">500</span> chars left
  </div>
  <%= form.input :about_project, :maxlength => 2000, :input_html => { :class => "project-desc" }, :disabled => !form.object.new_record? %>
  <div class="chars_left">
    You have <span id="project_about_project_chars_left">2000</span> chars left
  </div>
  <%= form.input :use_for_money, :maxlength => 500, :input_html => { :class => "project-use-for-money" }, :disabled => !form.object.new_record?  %>
  <div class="chars_left">
    You have <span id="project_use_for_money_chars_left">500</span> chars left
  </div>
</div>
<div class="image-upload">
  <% if form.object.photos.present? %>
    <section class="current-images">
    <label><%= t "simple_form.labels.project.current_photos-html" %></label>
      <ul class="old-photos">
        <%= form.input :photo_order, :as => :hidden %>
        <% form.object.photos.each do |photo| %>
          <li data-id="<%= photo.id %>">
            <span><%= photo.image_file_name %></span>
            <a href="#" class="remove-image" data-remove="true">remove</a>
          </li>
        <% end %>
      </ul>
    </section>
  <% end %>
  <div class="input file optional">
    <label class="file optional"><%= t "simple_form.labels.project.new_photos-html" %></label>
    <div class="multi-input first noremove">
      <input class="file optional multi new_photo" id="project_new_photos" name="project[new_photos][]" type="file" value="" accept="image/*">
      <a href="#" class="remove-image" data-remove="true">remove</a>
    </div>

    <div><%= t(".image-notes", :dimensions => Photo::MAIN_DIMENSIONS) %></div>

  </div>
</div>
<%= form.input :chapter_id, :collection => Chapter.select_data, :prompt => '- Select -', :as => :select, :group_method => :name %>
<div class="extra-questions" style="display:none">
  <%= form.input :extra_question_1, :as => :hidden, :wrapper_html => {:class => "extra-question"}  %>
  <%= form.input :extra_question_2, :as => :hidden, :wrapper_html => {:class => "extra-question"}  %>
  <%= form.input :extra_question_3, :as => :hidden, :wrapper_html => {:class => "extra-question"}  %>
  <%= form.input :extra_answer_1, :wrapper_html => {:class => "extra-answer"} %>
  <%= form.input :extra_answer_2, :wrapper_html => {:class => "extra-answer"} %>
{'fraction_non_alphanumeric': 0.20852412821415992, 'fraction_numerical': 0.009510390982740402, 'mean_word_length': 4.093273542600897, 'pattern_counts': {'":': 0, '<': 141, '<?xml version=': 0, '>': 205, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4917458', 'n_tokens_mistral': 2083, 'n_tokens_neox': 1911, 'n_words': 403}