summaryrefslogtreecommitdiff
path: root/app/views/shared/notifications/_button.html.haml
blob: 441abd57334fb83421d2309945c59cd26fa35c3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
- btn_class = local_assigns.fetch(:btn_class, '')
- emails_disabled = local_assigns.fetch(:emails_disabled, false)

- if notification_setting
  - if emails_disabled
    - button_title = notification_description(:owner_disabled)
    - aria_label = button_title
    - btn_class << " disabled"
  - else
    - button_title = _("Notification setting")
    - aria_label = _("Notification setting - %{notification_title}") % { notification_title: notification_title(notification_setting.level) }

  .js-notification-dropdown.notification-dropdown.mr-md-2.home-panel-action-button.dropdown.inline
    = form_for notification_setting, remote: true, html: { class: "inline notification-form" } do |f|
      = hidden_setting_source_input(notification_setting)
      = f.hidden_field :level, class: "notification_setting_level"
      .js-notification-toggle-btns
        %div{ class: ("btn-group" if notification_setting.custom?) }
          - if notification_setting.custom?
            %button.dropdown-new.btn.btn-default.btn-xs.has-tooltip.notifications-btn.text-left#notifications-button{ type: "button", title: button_title, class: "#{btn_class}", "aria-label" => aria_label, data: { container: "body", toggle: "modal", target: "#" + notifications_menu_identifier("modal", notification_setting), display: 'static' } }
              = icon("bell", class: "js-notification-loading")
              = notification_title(notification_setting.level)
            %button.btn.dropdown-toggle{ data: { toggle: "dropdown", target: notifications_menu_identifier("dropdown", notification_setting), flip: "false" } }
              = icon('caret-down')
              .sr-only Toggle dropdown
          - else
            %button.dropdown-new.btn.btn-default.btn-xs.has-tooltip.notifications-btn#notifications-button{ type: "button", title: button_title, class: "#{btn_class}", "aria-label" => aria_label, data: { container: "body", toggle: "dropdown", target: notifications_menu_identifier("dropdown", notification_setting), flip: "false" } }
              .float-left
                = icon("bell", class: "js-notification-loading")
                = notification_title(notification_setting.level)
              .float-right
                = icon("caret-down")

          = render "shared/notifications/notification_dropdown", notification_setting: notification_setting

          = content_for :scripts_body do
            = render "shared/notifications/custom_notifications", notification_setting: notification_setting