import { t } from "@lingui/macro"; import { LitElement } from "lit-element"; import { html, TemplateResult } from "lit-html"; export abstract class Page extends LitElement { abstract pageTitle(): string; abstract pageDescription(): string | undefined; abstract pageIcon(): string; abstract renderContent(): TemplateResult; render(): TemplateResult { const description = this.pageDescription(); return html`

  ${t`${this.pageTitle()}`}

${description ? html`

${t`${description}`}

` : html``}
${this.renderContent()}`; } }