Sha256: 91f147fd48567d2f26a9c1b92ad7882eaa72601535329c8e6e7ddc5e2e28b02e

Contents?: true

Size: 1.29 KB

Versions: 39

Compression:

Stored size: 1.29 KB

Contents

module Plutonium
  module UI
    class PageHeader < Plutonium::UI::Component::Base
      def initialize(title:, description:, actions:)
        @title = title
        @description = description
        @actions = actions || []
      end

      def view_template
        div(class: "sm:flex sm:space-y-0 sm:space-x-4 sm:flex-row items-center justify-between space-y-3 mb-6") {
          div {
            phlexi_render(@title) {
              render_title @title
            }

            phlexi_render(@description) {
              render_description @description
            }
          }
          div(class: "flex flex-row space-x-2") {
            render_actions
          }
        }
      end

      private

      def render_title(title)
        h2(class: "mb-2 text-3xl font-extrabold leading-none tracking-tight text-gray-900 md:text-4xl dark:text-white") {
          title
        }
      end

      def render_description(description)
        p(class: "text-gray-500 dark:text-gray-400") {
          description
        }
      end

      def render_actions
        @actions.each do |action|
          url = resource_url_for(resource_record || resource_class, *action.route_options.url_args, **action.route_options.url_options)
          ActionButton(action, url:)
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
plutonium-0.18.5 lib/plutonium/ui/page_header.rb
plutonium-0.18.4 lib/plutonium/ui/page_header.rb
plutonium-0.18.3 lib/plutonium/ui/page_header.rb
plutonium-0.18.2 lib/plutonium/ui/page_header.rb
plutonium-0.18.1 lib/plutonium/ui/page_header.rb
plutonium-0.18.0 lib/plutonium/ui/page_header.rb
plutonium-0.16.5 lib/plutonium/ui/page_header.rb
plutonium-0.16.4 lib/plutonium/ui/page_header.rb
plutonium-0.16.3 lib/plutonium/ui/page_header.rb
plutonium-0.16.1 lib/plutonium/ui/page_header.rb
plutonium-0.16.0 lib/plutonium/ui/page_header.rb
plutonium-0.15.24 lib/plutonium/ui/page_header.rb
plutonium-0.15.23 lib/plutonium/ui/page_header.rb
plutonium-0.15.22 lib/plutonium/ui/page_header.rb
plutonium-0.15.21 lib/plutonium/ui/page_header.rb
plutonium-0.15.20 lib/plutonium/ui/page_header.rb
plutonium-0.15.19 lib/plutonium/ui/page_header.rb
plutonium-0.15.18 lib/plutonium/ui/page_header.rb
plutonium-0.15.17 lib/plutonium/ui/page_header.rb
plutonium-0.15.16 lib/plutonium/ui/page_header.rb