Merge pull request #5449 from AntonKhorev/edit-preferences

Make preferences page editable without clicking 'Edit Preferences'
This commit is contained in:
Andy Allan 2025-01-15 12:49:34 +00:00 committed by GitHub
commit b8a1a904c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 35 additions and 83 deletions

View file

@ -1,28 +0,0 @@
<% content_for :heading do %>
<h1><%= t ".title" %></h1>
<% end %>
<%= bootstrap_form_for current_user, :url => { :action => :update } do |f| %>
<%= f.select :preferred_editor, [[t("editor.default", :name => t("editor.#{Settings.default_editor}.name")), "default"]] + Editors::AVAILABLE_EDITORS.collect { |e| [t("editor.#{e}.description"), e] } %>
<%= f.text_field :languages %>
<div class="mb-3">
<%= label_tag "site_color_scheme", t("preferences.show.preferred_site_color_scheme"), :class => "form-label" %>
<%= select_tag "site_color_scheme",
options_for_select(%w[auto light dark].map { |scheme| [t("preferences.show.site_color_schemes.#{scheme}"), scheme] },
preferred_color_scheme(:site)),
:class => "form-select" %>
</div>
<div class="mb-3">
<%= label_tag "map_color_scheme", t("preferences.show.preferred_map_color_scheme"), :class => "form-label" %>
<%= select_tag "map_color_scheme",
options_for_select(%w[auto light dark].map { |scheme| [t("preferences.show.map_color_schemes.#{scheme}"), scheme] },
preferred_color_scheme(:map)),
:class => "form-select" %>
</div>
<%= f.primary t(".save") %>
<%= link_to t(".cancel"), preferences_path, :class => "btn btn-link" %>
<% end %>

View file

@ -2,36 +2,26 @@
<h1><%= t ".title" %></h1>
<% end %>
<dl class="row">
<dt class="col-sm-4"><%= t ".preferred_editor" %></dt>
<%= bootstrap_form_for current_user, :url => { :action => :update } do |f| %>
<%= f.select :preferred_editor, [[t("editor.default", :name => t("editor.#{Settings.default_editor}.name")), "default"]] + Editors::AVAILABLE_EDITORS.collect { |e| [t("editor.#{e}.description"), e] } %>
<% if current_user.preferred_editor? %>
<dd class="col-sm-8"><%= t("editor.#{current_user.preferred_editor}.description") %></dd>
<% else %>
<dd class="col-sm-8"><%= t("editor.default", :name => t("editor.#{Settings.default_editor}.name")) %></dd>
<% end %>
<%= f.text_field :languages %>
<dt class="col-sm-4"><%= t ".preferred_languages" %></dt>
<div class="mb-3">
<%= label_tag "site_color_scheme", t(".preferred_site_color_scheme"), :class => "form-label" %>
<%= select_tag "site_color_scheme",
options_for_select(%w[auto light dark].map { |scheme| [t(".site_color_schemes.#{scheme}"), scheme] },
preferred_color_scheme(:site)),
:class => "form-select" %>
</div>
<dd class="col-sm-8">
<ul class="list-unstyled">
<% current_user.preferred_languages.each do |locale| %>
<li><%= locale %></li>
<% end %>
</ul>
</dd>
<div class="mb-3">
<%= label_tag "map_color_scheme", t(".preferred_map_color_scheme"), :class => "form-label" %>
<%= select_tag "map_color_scheme",
options_for_select(%w[auto light dark].map { |scheme| [t(".map_color_schemes.#{scheme}"), scheme] },
preferred_color_scheme(:map)),
:class => "form-select" %>
</div>
<dt class="col-sm-4"><%= t ".preferred_site_color_scheme" %></dt>
<dd class="col-sm-8">
<%= t ".site_color_schemes.#{preferred_color_scheme(:site)}" %>
</dd>
<dt class="col-sm-4"><%= t ".preferred_map_color_scheme" %></dt>
<dd class="col-sm-8">
<%= t ".map_color_schemes.#{preferred_color_scheme(:map)}" %>
</dd>
</dl>
<div>
<%= link_to t(".edit_preferences"), edit_preferences_path, :class => "btn btn-outline-primary" %>
</div>
<%= f.primary t(".save") %>
<% end %>