UNPKG

glass-app-manager

Version:

Informatica's Glass Framework CLI for bootstrapping

42 lines (36 loc) 1.2 kB
//@flow import * as React from "react"; type Props = { breadcrumbs: Array<React.Node>, buttonGroup?: React.Node, children: React.Node, }; const renderPageTitle = ( breadcrumbs: $PropertyType<Props, "breadcrumbs">, buttonGroup: $PropertyType<Props, "buttonGroup"> ) => { return ( <header className="shell__page__title"> <ul className="shell__page__title__breadcrumbs"> {breadcrumbs.map((breadcrumb, index) => ( <li key={index} className="shell__page__title__breadcrumbs__breadcrumb"> {breadcrumb} </li> ))} </ul> {buttonGroup ? <span className="button-group">{buttonGroup}</span> : null} </header> ); }; const Page = (props: Props) => { const { breadcrumbs, buttonGroup, children, ...rest } = props; return ( <React.Fragment> {breadcrumbs ? renderPageTitle(breadcrumbs, buttonGroup) : null} <div className="shell__page__content" {...rest}> {children} </div> </React.Fragment> ); }; export default Page;