Sha256: 09417f44907da42d13820209ed311f62d3f50970718f2b789b87d1d67d623c12

Contents?: true

Size: 637 Bytes

Versions: 1

Compression:

Stored size: 637 Bytes

Contents

# frozen_string_literal: true

class Avo::AlertComponent < ViewComponent::Base
  include Avo::ApplicationHelper

  attr_reader :type
  attr_reader :message

  def initialize(type, message)
    @type = type
    @message = message
  end

  def icon
    return 'x-circle' if is_error?

    'check-circle'
  end

  def classes
    result = "max-w-sm w-full shadow-lg rounded px-4 py-3 rounded relative border text-white pointer-events-auto"

    if is_error?
      result += " bg-red-400 border-red-700"
    else
      result += " bg-green-400 border-green-700"
    end

    result
  end

  def is_error?
    type.to_sym == :error
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
avo-2.0.0 app/components/avo/alert_component.rb