35 lines
1.8 KiB
Text
35 lines
1.8 KiB
Text
- icon_name = 'bullhorn'
|
|
- dismissable = message.dismissable?
|
|
- preview = local_assigns.fetch(:preview, false)
|
|
|
|
- unless message.notification?
|
|
.gl-broadcast-message.broadcast-banner-message{ role: "alert", class: "js-broadcast-notification-#{message.id} #{message.theme}" }
|
|
.gl-broadcast-message-content
|
|
.gl-broadcast-message-icon
|
|
= sprite_icon(icon_name)
|
|
.gl-broadcast-message-text.js-broadcast-message-preview
|
|
- if message.message.present?
|
|
= render_broadcast_message(message)
|
|
- else
|
|
= yield
|
|
- if dismissable && !preview
|
|
= render Pajamas::ButtonComponent.new(category: :tertiary,
|
|
icon: 'close',
|
|
size: :small,
|
|
button_options: { class: 'gl-close-btn-color-inherit gl-broadcast-message-dismiss js-dismiss-current-broadcast-notification', 'aria-label': _('Close'), data: { id: message.id, expire_date: message.ends_at.iso8601 } },
|
|
icon_classes: 'gl-mx-3! gl-text-white')
|
|
- else
|
|
- notification_class = "js-broadcast-notification-#{message.id}"
|
|
- notification_class << ' preview' if preview
|
|
.broadcast-message.broadcast-notification-message.mt-2{ role: "alert", class: notification_class, data: { qa_selector: 'broadcast_notification_container' } }
|
|
= sprite_icon(icon_name, css_class: 'vertical-align-text-top')
|
|
- if message.message.present?
|
|
= render_broadcast_message(message)
|
|
- else
|
|
= yield
|
|
- if !preview
|
|
= render Pajamas::ButtonComponent.new(variant: :link,
|
|
icon: 'close',
|
|
size: :small,
|
|
button_options: { class: 'js-dismiss-current-broadcast-notification', 'aria-label': _('Close'), data: { id: message.id, expire_date: message.ends_at.iso8601, qa_selector: 'close_button' } },
|
|
icon_classes: 'gl-mx-3! gl-text-gray-700')
|