Sha256: 06176ef7c18a894d7a831576c0e6ec335bdc1457a0241f81a4cb96b83fe66791

Contents?: true

Size: 1.5 KB

Versions: 18

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true

module Decidim
  module Initiatives
    # This cell renders the assembly metadata for g card
    class InitiativeMetadataGCell < Decidim::CardMetadataCell
      include Cell::ViewModel::Partial
      include Decidim::Initiatives::InitiativeHelper

      alias current_initiative resource
      alias initiative resource

      def initialize(*)
        super

        @items.prepend(*initiative_items)
      end

      private

      def initiative_items
        [dates_item, progress_bar_item, state_item].compact
      end

      def start_date
        initiative.signature_start_date
      end

      def end_date
        initiative.signature_end_date
      end

      def state_item
        return if initiative.state.blank?

        {
          text: content_tag(
            :span,
            t(initiative.state, scope: "decidim.initiatives.show.badge_name"),
            class: "label #{metadata_badge_css_class(initiative.state)} initiative-status"
          )
        }
      end

      def progress_bar_item
        return if %w(created validating discarded).include?(initiative.state)

        type_scope = initiative.votable_initiative_type_scopes[0]

        {
          cell: "decidim/progress_bar",
          args: [initiative.supports_count_for(type_scope.scope), {
            total: type_scope.supports_required,
            element_id: "initiative-#{initiative.id}-votes-count",
            class: "progress-bar__sm"
          }],
          icon: nil
        }
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

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