Sha256: 8c2344ff0ff4ff608bc4b9f515b95d01a17ea519edeae4bc4a366e7d85b80649

Contents?: true

Size: 997 Bytes

Versions: 7

Compression:

Stored size: 997 Bytes

Contents

module Pageflow
  module Admin
    class SitesTab < ViewComponent
      def build(account)
        embedded_index_table(account.sites,
                             blank_slate_text: I18n.t('pageflow.admin.accounts.no_sites')) do
          table_for_collection class: 'sites', i18n: Pageflow::Site do
            column :name do |site|
              link_to(site.display_name,
                      admin_account_site_path(site.account, site))
            end
            column :title do |site|
              site.title.presence || '-'
            end
            column :host do |site|
              site.host.presence || '-'
            end
          end
        end

        add_button(account)
      end

      private

      def add_button(account)
        return unless authorized?(:create, Site)

        text_node(link_to(t('pageflow.admin.sites.add'),
                          new_admin_account_site_path(account),
                          class: 'button'))
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pageflow-17.0.4 app/views/components/pageflow/admin/sites_tab.rb
pageflow-17.0.3 app/views/components/pageflow/admin/sites_tab.rb
pageflow-17.0.2 app/views/components/pageflow/admin/sites_tab.rb
pageflow-17.0.1 app/views/components/pageflow/admin/sites_tab.rb
pageflow-17.0.0 app/views/components/pageflow/admin/sites_tab.rb
pageflow-16.2.0 app/views/components/pageflow/admin/sites_tab.rb
pageflow-16.1.0 app/views/components/pageflow/admin/sites_tab.rb