mirror of
https://github.com/flarum/core.git
synced 2025-10-11 15:04:25 +02:00
- Get rid of Bootstrap (except we still rely on some JS) - Use BEM class names - Rework variables/theme config - Fix various bugs, including some on mobile The CSS is still not ideal – it needs to be cleaned up some more. But that can be a focus for after beta.
33 lines
992 B
JavaScript
33 lines
992 B
JavaScript
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="PostPreview" href={app.route.post(post)} config={m.route} onclick={this.props.onclick}>
|
|
<span className="PostPreview-content">
|
|
{avatar(user)}
|
|
{username(user)}
|
|
{humanTime(post.time())}
|
|
<span className="PostPreview-excerpt">{excerpt}</span>
|
|
</span>
|
|
</a>
|
|
);
|
|
}
|
|
}
|