1
0
mirror of https://github.com/flarum/core.git synced 2025-10-12 07:24:27 +02:00

Massive JavaScript cleanup

- Use JSX for templates
- Docblock/comment everything
- Mostly passes ESLint (still some work to do)
- Lots of renaming, refactoring, etc.

CSS hasn't been updated yet.
This commit is contained in:
Toby Zerner
2015-07-15 14:00:11 +09:30
parent 4480e0a83f
commit ab6c03c0cc
220 changed files with 9785 additions and 5919 deletions

View File

@@ -0,0 +1,32 @@
import Component from 'flarum/Component';
import avatar from 'flarum/helpers/avatar';
import username from 'flarum/helpers/username';
import humanTime from 'flarum/helpers/humanTime';
import highlight from 'flarum/helpers/highlight';
/**
* The `PostPreview` component shows a link to a post containing the avatar and
* username of the author, and a short excerpt of the post's content.
*
* ### Props
*
* - `post`
*/
export default class PostPreview extends Component {
view() {
const post = this.props.post;
const user = post.user();
const excerpt = highlight(post.contentPlain(), this.props.highlight, 200);
return (
<a className="post-preview" href={app.route.post(post)} config={m.route} onclick={this.props.onclick}>
<span className="post-preview-content">
{avatar(user)}
{username(user)}
{humanTime(post.time())}
<span className="excerpt">{excerpt}</span>
</span>
</a>
);
}
}