import { customElement, property, state } from "lit/decorators.js"; import { FeedobellElement } from "../FeedobellElement"; import type { IPost } from "@feedobell/client"; import { getRelativeDate } from "../utils"; import calender from "../assets/calender.svg"; import { html } from "lit"; import { unsafeHTML } from "lit/directives/unsafe-html.js"; @customElement("feedobell-post") export class Post extends FeedobellElement { @property({ attribute: "post" }) post: IPost | undefined; @state() private _expanded: boolean = false; private _renderPostHeader = ({ post }: { post: IPost }) => { return html` Notifications ${getRelativeDate(post?.createdAt)} `; }; private _readMore({ html: content, previewLines, }: { html: string; previewLines?: number; }) { const shouldShowButton = false return html`
${shouldShowButton ? html` ` : ""}
`; } private _renderPostBody = ({ post }: { post: IPost }) => { return html`

${this.post?.title || "Untitled"}

${this._readMore({ html: post?.htmlContent || "", previewLines: 10000000 })}`; }; protected render() { if (!this.post) return null; return html`
${this._renderPostHeader({ post: this.post })} ${this._renderPostBody({ post: this.post })}
`; } } declare global { interface HTMLElementTagNameMap { "feedobell-post": Post; } }