<%= render Spina::UserInterface::HeaderComponent.new do |header| %> <% header.actions do %> <%= button_tag type: :submit, form: dom_id(@user), class: 'btn btn-primary', data: {controller: "button hotkeys", hotkeys: "command+s, ctrl+s", hotkeys_target: "button", action: "button#loading", loading_message: t('spina.ui.saving')} do %> <%= heroicon('check', style: :solid, class: 'w-5 h-5 mr-1 -ml-2') %> <%=t 'spina.users.save' %> <% end %> <% end %> <% end %>
<%= form_with model: [spina, :admin, @user], id: dom_id(@user) do |f| %> <%= render Spina::Forms::GroupComponent.new(label: t('spina.users.profile'), description: t('spina.users.profile_description')) do %> <%= render Spina::Forms::LabelComponent.new(f, :name) %> <%= render Spina::Forms::TextFieldComponent.new(f, :name, autofocus: @user.name.blank?) %>
<%= render Spina::Forms::LabelComponent.new(f, :email) %> <%= render Spina::Forms::TextFieldComponent.new(f, :email) %>
<% end %>
<%= render Spina::Forms::GroupComponent.new(label: t('spina.users.authorization'), description: t('spina.users.authorization_description')) do %> <%= render Spina::Forms::LabelComponent.new(f, :password) %> <%= render Spina::Forms::PasswordFieldComponent.new(f, :password) %> <% if @user != Spina::Current.user %>
<%= render Spina::Forms::LabelComponent.new(f, :admin) %> <%= render Spina::Forms::SwitchComponent.new(f, :admin) %>
<% end %> <% end %> <% end %> <% if @user.persisted? && @user != Spina::Current.user %>
<%= button_to spina.admin_user_path(@user), method: :delete, class: 'btn btn-default', form: {data: {controller: "confirm", confirm_message: t('spina.users.delete_confirmation_html', user: @user.name)}} do %> <%= heroicon('trash', class: 'w-4 h-4 mr-1 -ml-1') %> <%=t 'spina.users.delete' %> <% end %>
<% end %>