<%= form_for(Settings::RateLimit.new, url: admin_settings_rate_limits_path, html: { data: { action: "submit->config#updateConfigurationSettings" } }) do |f| %>
<%= render partial: "admin/shared/card_header", locals: { header: "Rate limits and anti-spam", state: "collapse", target: "rateLimitsBodyContainer", expanded: false } %>
<%= admin_config_label :user_considered_new_days, model: Settings::RateLimit %> <%= admin_config_description Constants::Settings::RateLimit::DETAILS[:user_considered_new_days][:description] %> <%= f.number_field :user_considered_new_days, class: "crayons-textfield", value: Settings::RateLimit.user_considered_new_days, placeholder: Constants::Settings::RateLimit::DETAILS[:user_considered_new_days][:placeholder] %>
<% configurable_rate_limits.each do |key, field_hash| %>
<%= admin_config_label field_hash[:title], model: Settings::RateLimit %>

<%= field_hash[:description] %>

<%= f.number_field key, class: "crayons-textfield", value: Settings::RateLimit.public_send(key), min: field_hash[:min], placeholder: field_hash[:placeholder] %>
<% end %>
<%= admin_config_label :spam_trigger_terms, model: Settings::RateLimit %> <%= admin_config_description Constants::Settings::RateLimit::DETAILS[:spam_trigger_terms][:description] %> <%= f.text_area :spam_trigger_terms, class: "crayons-textfield", value: Settings::RateLimit.spam_trigger_terms.join(","), placeholder: Constants::Settings::RateLimit::DETAILS[:spam_trigger_terms][:placeholder] %>
<%= render "update_setting_button", f: f %>
<% end %> <%= form_for(Settings::General.new, url: admin_settings_general_settings_path, html: { data: { action: "submit->config#updateConfigurationSettings" } }) do |f| %>
<%= render partial: "admin/shared/card_header", locals: { header: "Social Media", state: "collapse", target: "socialMediaBodyContainer", expanded: false } %>
<%= admin_config_label :twitter_hashtag %> <%= admin_config_description Constants::Settings::General::DETAILS[:twitter_hashtag][:description] %> <%= f.text_field :twitter_hashtag, class: "crayons-textfield", value: Settings::General.twitter_hashtag.to_s, placeholder: Constants::Settings::General::DETAILS[:twitter_hashtag][:placeholder] %>
<%= f.fields_for :social_media_handles do |social_media_field| %> <% Settings::General.social_media_handles.each do |platform, username| %>
<%= admin_config_label platform %>

<%= platform.capitalize %> username

<%= social_media_field.text_field platform, class: "crayons-textfield", value: Settings::General.social_media_handles[platform], placeholder: "" %>
<% end %> <% end %>
<%= render "update_setting_button", f: f %>
<% end %>