forked from cory/tildefriends
Now I can render blog messages, too.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4068 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
@ -14,6 +14,7 @@ class TfMessageElement extends LitElement {
|
||||
raw: {type: Boolean},
|
||||
collapsed: {type: Boolean},
|
||||
content_warning_expanded: {type: Boolean},
|
||||
blog_data: {type: String},
|
||||
}
|
||||
}
|
||||
|
||||
@ -297,6 +298,50 @@ class TfMessageElement extends LitElement {
|
||||
${this.render_children()}
|
||||
</div>
|
||||
`;
|
||||
} else if (content.type === 'blog') {
|
||||
let self = this;
|
||||
console.log('requesting data');
|
||||
tfrpc.rpc.get_blob(content.blog).then(function(data) {
|
||||
self.blog_data = data;
|
||||
});
|
||||
let body = this.raw ?
|
||||
this.render_raw() :
|
||||
html`
|
||||
<h2>${content.title}</h2>
|
||||
<div style="border: 1px solid #fff; border-radius: 1em; padding: 8px; margin: 4px: display: flex; flex-direction: row">
|
||||
<img src=/${content.thumbnail}/view>
|
||||
<span>${content.summary}</span>
|
||||
</div>
|
||||
<div>${this.blog_data ? unsafeHTML(tfutils.markdown(this.blog_data)) : 'Loading...'}</div>
|
||||
`;
|
||||
return html`
|
||||
<style>
|
||||
code {
|
||||
white-space: pre-wrap;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
div {
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
<div style="border: 1px solid black; background-color: rgba(255, 255, 255, 0.1); margin-top: 8px; padding: 16px">
|
||||
<div style="display: flex; flex-direction: row">
|
||||
<tf-user id=${this.message.author} .users=${this.users}></tf-user>
|
||||
<span style="flex: 1"></span>
|
||||
<span style="padding-right: 8px"><a target="_top" href=${'#' + self.message.id}>%</a> ${new Date(this.message.timestamp).toLocaleString()}</span>
|
||||
<span>${raw_button}</span>
|
||||
</div>
|
||||
|
||||
<div>${body}</div>
|
||||
${this.render_mentions()}
|
||||
${this.render_votes()}
|
||||
</div>
|
||||
`;
|
||||
} else if (content.type === 'pub') {
|
||||
return small_frame(html`
|
||||
<span>
|
||||
|
Reference in New Issue
Block a user