# frozen_string_literal: true

class ReviewableActionSerializer < ApplicationSerializer
  attributes :id,
             :icon,
             :button_class,
             :label,
             :confirm_message,
             :description,
             :client_action,
             :require_reject_reason,
             :custom_modal

  def label
    I18n.t(object.label)
  end

  def confirm_message
    I18n.t(object.confirm_message)
  end

  def description
    I18n.t(object.description, default: nil)
  end

  def include_description?
    description.present?
  end

  def include_confirm_message?
    object.confirm_message.present?
  end

  def include_client_action?
    object.client_action.present?
  end

  def include_require_reject_reason?
    object.require_reject_reason.present?
  end

  def include_custom_modal?
    object.custom_modal.present?
  end
end