diff options
Diffstat (limited to 'app/views/admin/application_settings/appearances')
4 files changed, 163 insertions, 0 deletions
diff --git a/app/views/admin/application_settings/appearances/_form.html.haml b/app/views/admin/application_settings/appearances/_form.html.haml new file mode 100644 index 00000000000..a48b57bffd9 --- /dev/null +++ b/app/views/admin/application_settings/appearances/_form.html.haml @@ -0,0 +1,114 @@ +- parsed_with_gfm = (_("Content parsed with %{link}.") % { link: link_to('GitLab Flavored Markdown', help_page_path('user/markdown'), target: '_blank') }).html_safe + += form_for @appearance, url: admin_application_settings_appearances_path, html: { class: 'gl-mt-3' } do |f| + = form_errors(@appearance) + + + .row + .col-lg-4.profile-settings-sidebar + %h4.gl-mt-0= _('Navigation bar') + + .col-lg-8 + .form-group + = f.label :header_logo, _('Header logo'), class: 'col-form-label label-bold pt-0' + %p + - if @appearance.header_logo? + = image_tag @appearance.header_logo_path, class: 'appearance-light-logo-preview' + - if @appearance.persisted? + %br + = link_to _('Remove header logo'), header_logos_admin_application_settings_appearances_path, data: { confirm: _("Header logo will be removed. Are you sure?") }, method: :delete, class: "btn gl-button btn-danger btn-danger-secondary btn-sm" + %hr + = f.hidden_field :header_logo_cache + = f.file_field :header_logo, class: "", accept: 'image/*' + .hint + = _('Maximum file size is 1MB. Pages are optimized for a 28px tall header logo') + %hr + .row + .col-lg-4.profile-settings-sidebar + %h4.gl-mt-0 Favicon + + .col-lg-8 + .form-group + = f.label :favicon, _('Favicon'), class: 'col-form-label label-bold pt-0' + %p + - if @appearance.favicon? + = image_tag @appearance.favicon_path, class: 'appearance-light-logo-preview' + - if @appearance.persisted? + %br + = link_to _('Remove favicon'), favicon_admin_application_settings_appearances_path, data: { confirm: _("Favicon will be removed. Are you sure?") }, method: :delete, class: "btn gl-button btn-danger btn-danger-secondary btn-sm" + %hr + = f.hidden_field :favicon_cache + = f.file_field :favicon, class: '', accept: 'image/*' + .hint + = _("Maximum file size is 1MB. Image size must be 32x32px. Allowed image formats are %{favicon_extension_whitelist}.") % { favicon_extension_whitelist: favicon_extension_whitelist } + %br + = _("Images with incorrect dimensions are not resized automatically, and may result in unexpected behavior.") + + = render partial: 'admin/application_settings/appearances/system_header_footer_form', locals: { form: f } + + %hr + .row + .col-lg-4.profile-settings-sidebar + %h4.gl-mt-0= _('Sign in/Sign up pages') + + .col-lg-8 + .form-group + = f.label :title, class: 'col-form-label label-bold' + = f.text_field :title, class: "form-control gl-form-input" + .form-group + = f.label :description, class: 'col-form-label label-bold' + = f.text_area :description, class: "form-control gl-form-input", rows: 10 + .hint + = parsed_with_gfm + .form-group + = f.label :logo, class: 'col-form-label label-bold pt-0' + %p + - if @appearance.logo? + = image_tag @appearance.logo_path, class: 'appearance-logo-preview' + - if @appearance.persisted? + %br + = link_to _('Remove logo'), logo_admin_application_settings_appearances_path, data: { confirm: _("Logo will be removed. Are you sure?") }, method: :delete, class: "btn gl-button btn-danger btn-danger-secondary btn-sm remove-logo" + %hr + = f.hidden_field :logo_cache + = f.file_field :logo, class: "", accept: 'image/*' + .hint + = _('Maximum file size is 1MB. Pages are optimized for a 640x360 px logo.') + + %hr + .row + .col-lg-4.profile-settings-sidebar + %h4.gl-mt-0= _('New project pages') + + .col-lg-8 + .form-group + = f.label :new_project_guidelines, class: 'col-form-label label-bold' + %p + = f.text_area :new_project_guidelines, class: "form-control gl-form-input", rows: 10 + .hint + = parsed_with_gfm + + %hr + .row + .col-lg-4.profile-settings-sidebar + %h4.gl-mt-0= _('Profile image guideline') + + .col-lg-8 + .form-group + = f.label :profile_image_guidelines, class: 'col-form-label label-bold' + %p + = f.text_area :profile_image_guidelines, class: "form-control gl-form-input", rows: 10 + .hint + = parsed_with_gfm + + .gl-mt-3.gl-mb-3 + = f.submit _('Update appearance settings'), class: 'btn gl-button btn-confirm' + - if @appearance.persisted? || @appearance.updated_at + .mt-4 + - if @appearance.persisted? + Preview last save: + = link_to _('Sign-in page'), preview_sign_in_admin_application_settings_appearances_path, class: 'btn', target: '_blank', rel: 'noopener noreferrer' + = link_to _('New project page'), new_project_path, class: 'btn', target: '_blank', rel: 'noopener noreferrer' + + - if @appearance.updated_at + %span.float-right + Last edit #{time_ago_with_tooltip(@appearance.updated_at)} diff --git a/app/views/admin/application_settings/appearances/_system_header_footer_form.html.haml b/app/views/admin/application_settings/appearances/_system_header_footer_form.html.haml new file mode 100644 index 00000000000..4571d34a497 --- /dev/null +++ b/app/views/admin/application_settings/appearances/_system_header_footer_form.html.haml @@ -0,0 +1,33 @@ +- form = local_assigns.fetch(:form) + +%hr +.row + .col-lg-4.profile-settings-sidebar + %h4.gl-mt-0 + = _('System header and footer') + + .col-lg-8 + .form-group + = form.label :header_message, _('Header message'), class: 'col-form-label label-bold' + = form.text_area :header_message, placeholder: _('State your message to activate'), class: "form-control gl-form-input js-autosize" + .form-group + = form.label :footer_message, _('Footer message'), class: 'col-form-label label-bold' + = form.text_area :footer_message, placeholder: _('State your message to activate'), class: "form-control gl-form-input js-autosize" + .form-group + .form-check + = form.check_box :email_header_and_footer_enabled, class: 'form-check-input' + = form.label :email_header_and_footer_enabled, class: 'label-bold' do + = _('Enable header and footer in emails') + + .hint + = _('Add header and footer to emails. Please note that color settings will only be applied within the application interface') + + .form-group.js-toggle-colors-container + %button.btn.gl-button.btn-link.js-toggle-colors-link{ type: 'button' } + = _('Customize colors') + .form-group.js-toggle-colors-container.hide + = form.label :message_background_color, _('Background Color'), class: 'col-form-label label-bold' + = form.color_field :message_background_color, class: "form-control gl-form-input" + .form-group.js-toggle-colors-container.hide + = form.label :message_font_color, _('Font Color'), class: 'col-form-label label-bold' + = form.color_field :message_font_color, class: "form-control gl-form-input" diff --git a/app/views/admin/application_settings/appearances/preview_sign_in.html.haml b/app/views/admin/application_settings/appearances/preview_sign_in.html.haml new file mode 100644 index 00000000000..77c37abbeef --- /dev/null +++ b/app/views/admin/application_settings/appearances/preview_sign_in.html.haml @@ -0,0 +1,12 @@ += render 'devise/shared/tab_single', tab_title: _('Sign in preview') +.login-box + %form.gl-show-field-errors + .form-group + = label_tag :login + = text_field_tag :login, nil, class: "form-control gl-form-input top", title: _('Please provide your username or email address.') + .form-group + = label_tag :password + = password_field_tag :password, nil, class: "form-control gl-form-input bottom", title: _('This field is required.') + .form-group + = button_tag _("Sign in"), class: "btn gl-button btn-confirm", type: "button" + diff --git a/app/views/admin/application_settings/appearances/show.html.haml b/app/views/admin/application_settings/appearances/show.html.haml new file mode 100644 index 00000000000..77a08913666 --- /dev/null +++ b/app/views/admin/application_settings/appearances/show.html.haml @@ -0,0 +1,4 @@ +- page_title _("Appearance") +- @content_class = "limit-container-width" unless fluid_layout + += render 'form' |