Sha256: 8ce20ae5b8bdd155e7fe0180d1ed7c4baefa5b02190800c8199b3a0ff03727cf

Contents?: true

Size: 1005 Bytes

Versions: 1

Compression:

Stored size: 1005 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Lausanne
    module Budgets
      # This cell renders the budget item list in the budgets list
      class BudgetListItemCell < BaseCell
        delegate :voting_finished?, to: :controller

        property :title
        property :excerpt
        alias budget model

        private

          def card_class
            ["card--list__item"].tap do |list|
              unless voting_finished?
                list << "card--list__data-added" if voted?
                list << "card--list__data-progress" if progress?
              end
            end.join(" ")
          end

          def link_class
            "card__link card--list__heading"
          end

          def voted?
            current_user && status == :voted
          end

          def progress?
            current_user && status == :progress
          end

          def status
            @status ||= current_workflow.status(budget)
          end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
decidim-lausanne-budgets-0.1.0 app/cells/decidim/lausanne/budgets/budget_list_item_cell.rb