Sha256: 307082eefad1832d9f4f0b47337379b1db4695ad8ec77fe368ec442aea4a9c14

Contents?: true

Size: 1.53 KB

Versions: 18

Compression:

Stored size: 1.53 KB

Contents

# frozen_string_literal: true

module Decidim
  module Sortitions
    # This cell renders the assembly metadata for l card
    class SortitionMetadataCell < Decidim::CardMetadataCell
      include Decidim::Sortitions::SortitionsHelper

      delegate :state, to: :model

      def initialize(*)
        super

        @items.prepend(*sortition_items)
      end

      def sortition_items
        [count_item, seed_item, badge_item]
      end

      def count_item
        {
          text: data_with_text(proposals_count, t("decidim.sortitions.sortitions.sortition.selected_proposals", count: proposals_count)),
          icon: "chat-new-line"
        }
      end

      def seed_item
        {
          text: data_with_text(model.seed, t("random_seed", scope: "decidim.sortitions.sortitions.sortition")),
          icon: "seedling-line"
        }
      end

      def badge_item
        {
          text: content_tag(:span, class: "label #{state_classes}") { badge_name }
        }
      end

      def has_badge?
        false
      end

      def badge_name
        return t("filters.cancelled", scope: "decidim.sortitions.sortitions") if model.cancelled?

        t("filters.active", scope: "decidim.sortitions.sortitions")
      end

      def data_with_text(data, text)
        "#{content_tag(:strong) { data }}#{content_tag(:span) { text }}".html_safe
      end

      def state_classes
        return "alert" if model.cancelled?

        "success"
      end

      def proposals_count
        @proposals_count = model.proposals.count
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
decidim-sortitions-0.30.0.rc3 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.30.0.rc2 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.30.0.rc1 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.29.2 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.5 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.29.1 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.4 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.29.0 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.3 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.29.0.rc4 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.29.0.rc3 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.29.0.rc2 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.29.0.rc1 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.2 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.1 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.0 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.0.rc5 app/cells/decidim/sortitions/sortition_metadata_cell.rb
decidim-sortitions-0.28.0.rc4 app/cells/decidim/sortitions/sortition_metadata_cell.rb