docbrown/app/views/admin/settings/forms/_images.html.erb

66 lines
3.4 KiB
Text

<%= form_for(Settings::General.new,
url: admin_settings_general_settings_path,
html: { data: { action: "submit->config#updateConfigurationSettings" } }) do |f| %>
<div class="card mt-3">
<%= render partial: "admin/shared/card_header",
locals: {
header: "Images",
state: "collapse",
target: "imagesBodyContainer",
expanded: false
} %>
<div id="imagesBodyContainer" class="card-body collapse hide" aria-labelledby="imagesBodyContainer">
<fieldset class="grid gap-4">
<div class="crayons-field">
<%= admin_config_label :main_social_image %>
<%= admin_config_description Constants::Settings::General::DETAILS[:main_social_image][:description] %>
<%= f.text_field :main_social_image,
class: "crayons-textfield",
value: Settings::General.main_social_image,
placeholder: Constants::Settings::General::DETAILS[:main_social_image][:placeholder] %>
<% if Settings::General.main_social_image.present? %>
<img alt="main social image" class="img-fluid" src="<%= Settings::General.main_social_image %>" width="600" height="337" loading="lazy" />
<% end %>
</div>
<div class="crayons-field">
<%= admin_config_label :favicon_url, "Favicon URL" %>
<%= admin_config_description Constants::Settings::General::DETAILS[:favicon_url][:description] %>
<%= f.text_field :favicon_url,
class: "form-control",
value: Settings::General.favicon_url,
placeholder: Constants::Settings::General::DETAILS[:favicon_url][:placeholder] %>
<img alt="favicon" class="preview" src="<%= Images::Optimizer.call(Settings::General.favicon_url, width: 32) %>" width="32" height="32" loading="lazy" />
</div>
<div class="crayons-field">
<%= admin_config_label :logo_png %>
<%= admin_config_description Constants::Settings::General::DETAILS[:logo_png][:description] %>
<%= f.text_field :logo_png,
class: "crayons-textfield",
value: Settings::General.logo_png,
placeholder: Constants::Settings::General::DETAILS[:logo_png][:placeholder] %>
<% if Settings::General.logo_png.present? %>
<img src="<%= Images::Optimizer.call(Settings::General.logo_png, width: 128) %>" width="128" height="128" loading="lazy" />
<% end %>
</div>
<div class="crayons-field">
<%= admin_config_label :logo_svg %>
<%= admin_config_description Constants::Settings::General::DETAILS[:logo_svg][:description] %>
<%= f.text_area :logo_svg,
class: "crayons-textfield",
value: Settings::General.logo_svg,
rows: 6,
placeholder: Constants::Settings::General::DETAILS[:logo_svg][:placeholder] %>
<% if Settings::General.logo_svg.present? %>
<div class="site-logo">
<%= Settings::General.logo_svg.html_safe %>
</div>
<% end %>
</div>
</fieldset>
<%= render "update_setting_button", f: f %>
</div>
</div>
<% end %>