class Avo::AlertComponent
def classes
def classes return "hidden" if is_empty? result = "max-w-lg w-full shadow-lg rounded px-4 py-3 rounded relative border text-white pointer-events-auto" result += if is_error? " bg-red-400 border-red-600" elsif is_success? " bg-green-500 border-green-600" elsif is_warning? " bg-orange-400 border-orange-600" else " bg-blue-400 border-blue-600" end result end
def icon
def icon return "heroicons/solid/exclamation-circle" if is_error? return "heroicons/solid/exclamation" if is_warning? return "heroicons/solid/exclamation-circle" if is_info? return "heroicons/solid/check-circle" if is_success? "check-circle" end
def is_empty?
def is_empty? @message.nil? end
def is_error?
def is_error? @type.to_sym == :error || @type.to_sym == :alert end
def is_info?
def is_info? @type.to_sym == :notice || @type.to_sym == :info end
def is_success?
def is_success? @type.to_sym == :success end
def is_warning?
def is_warning? @type.to_sym == :warning end
def keep_open?
def keep_open? @timeout.try(:to_sym) == :forever end
def timeout
def timeout return @timeout if @timeout.is_a?(Numeric) Avo.configuration.alert_dismiss_time end