27 lines
723 B
JavaScript
27 lines
723 B
JavaScript
/**
|
|
* Hoover — components/layout.js
|
|
*
|
|
* Layout components: PageHeader for page titles with optional subtitles
|
|
* and action buttons.
|
|
*/
|
|
|
|
import { h } from '../vdom.js';
|
|
|
|
/**
|
|
* Page header with title, optional subtitle, and action buttons.
|
|
*
|
|
* @param {object} props
|
|
* @param {string} props.title
|
|
* @param {string} [props.subtitle]
|
|
* @param {VNode} [props.actions]
|
|
*/
|
|
export function PageHeader(props = {}) {
|
|
return h('div', { class: 'page-header' },
|
|
h('div', null,
|
|
h('h1', null, props.title || ''),
|
|
props.subtitle ? h('div', { class: 'subtitle' }, props.subtitle) : null,
|
|
),
|
|
props.actions ? h('div', { class: 'page-actions' }, props.actions) : null,
|
|
);
|
|
}
|