This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/web/src/elements/Page.ts

26 lines
879 B
TypeScript
Raw Normal View History

import { t } from "@lingui/macro";
2021-02-06 16:55:41 +00:00
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`<section class="pf-c-page__main-section pf-m-light">
<div class="pf-c-content">
<h1>
<i class="${this.pageIcon()}"></i>&nbsp;
${t`${this.pageTitle()}`}
2021-02-06 16:55:41 +00:00
</h1>
${description ? html`<p>${t`${description}`}</p>` : html``}
2021-02-06 16:55:41 +00:00
</div>
</section>
${this.renderContent()}`;
}
}