class Lookbook::Preview

def all

def all
  load_previews if preview_files.size > ViewComponent::Preview.descendants.size
  return @previews if @previews.present?
  previews = ViewComponent::Preview.descendants.map do |p|
    new(p)
  rescue
    Rails.logger.error "[lookbook] error instantiating preview\n#{exception.full_message}"
  end
  if errors.any?
    errors.each do |error|
      Rails.logger.error "[lookbook] preview error\n#{error.full_message}\n"
    end
  end
  sorted_previews = previews.compact.sort_by { |preview| [preview.position, preview.label] }
  @previews ||= PreviewCollection.new(sorted_previews)
end