Class: RubyUI::AdminPageHeader
- Defined in:
- lib/generators/ruby_cms/templates/components/ruby_ui/admin_page/admin_page_header.rb
Constant Summary
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#initialize(title:, subtitle: nil, breadcrumbs: [], actions_left: false, **user_attrs) ⇒ AdminPageHeader
constructor
A new instance of AdminPageHeader.
- #view_template(&block) ⇒ Object
Constructor Details
#initialize(title:, subtitle: nil, breadcrumbs: [], actions_left: false, **user_attrs) ⇒ AdminPageHeader
Returns a new instance of AdminPageHeader.
5 6 7 8 9 10 11 |
# File 'lib/generators/ruby_cms/templates/components/ruby_ui/admin_page/admin_page_header.rb', line 5 def initialize(title:, subtitle: nil, breadcrumbs: [], actions_left: false, **user_attrs) @title = title @subtitle = subtitle @breadcrumbs = Array() @actions_left = actions_left super(**user_attrs) end |
Instance Method Details
#view_template(&block) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/generators/ruby_cms/templates/components/ruby_ui/admin_page/admin_page_header.rb', line 13 def view_template(&block) div(class: "flex items-center justify-between gap-2 sm:gap-3 px-3 sm:px-4 py-2.5 border-b border-[#e9e4d4] flex-wrap min-h-12") do div(class: "min-w-0 flex-1 flex items-center gap-2 sm:gap-2.5 flex-nowrap") do div(class: "min-w-0 flex items-baseline gap-2.5 flex-nowrap overflow-hidden") do if @breadcrumbs.any? h1(class: "text-[14px] font-semibold tracking-[-0.005em] text-[#1c1917] m-0 truncate leading-snug min-w-0") { @title } if @title.present? p(class: "hidden sm:block text-[12px] text-[#78716c] m-0 whitespace-nowrap overflow-hidden text-ellipsis min-w-0") { @subtitle } if @subtitle end # Left-aligned actions (e.g. visual editor controls) sit next to the breadcrumb. div(class: "flex items-center gap-1.5 flex-shrink-0", &block) if @actions_left && block end div(class: "flex items-center gap-1.5 sm:gap-2 flex-shrink-0 flex-wrap justify-end") do if block && !@actions_left div(class: "flex items-center gap-1.5 flex-wrap justify-end", &block) end raw view_context.render(partial: "layouts/admin/topbar_widgets") end end end |