2016-10-28 13:19:42 +00:00
|
|
|
<template>
|
2017-03-05 10:56:28 +00:00
|
|
|
<div class="status-el base00-background" v-if="!status.deleted" v-bind:class="[{ 'expanded-status': !expandable }, { 'base01-background': focused }]">
|
2017-02-13 23:01:50 +00:00
|
|
|
<template v-if="muted">
|
|
|
|
<div class="media status container muted">
|
|
|
|
<small><router-link :to="{ name: 'user-profile', params: { id: status.user.id } }">{{status.user.screen_name}}</router-link></small>
|
2017-02-14 20:47:37 +00:00
|
|
|
<a href="#" class="unmute" @click.prevent="toggleMute"><i class="icon-eye-off"></i></a>
|
2016-10-28 13:19:42 +00:00
|
|
|
</div>
|
2017-02-13 23:01:50 +00:00
|
|
|
</template>
|
|
|
|
<template v-if="!muted">
|
|
|
|
<div v-if="retweet" class="media container retweet-info">
|
|
|
|
<div class="media-left">
|
|
|
|
<i class='fa icon-retweet retweeted'></i>
|
|
|
|
</div>
|
|
|
|
<div class="media-body">
|
|
|
|
Retweeted by {{retweeter}}
|
|
|
|
</div>
|
2016-10-28 13:19:42 +00:00
|
|
|
</div>
|
2017-02-13 23:01:50 +00:00
|
|
|
<div class="media status container">
|
|
|
|
<div class="media-left">
|
|
|
|
<a :href="status.user.statusnet_profile_url">
|
2017-02-16 14:58:49 +00:00
|
|
|
<img @click.prevent="toggleUserExpanded" class='avatar' :src="status.user.profile_image_url_original">
|
2017-02-13 23:01:50 +00:00
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="media-body">
|
2017-02-16 14:58:49 +00:00
|
|
|
<div class="base05 base05=border usercard" v-if="userExpanded">
|
|
|
|
<user-card-content :user="status.user"></user-card-content>
|
|
|
|
</div>
|
2017-02-13 23:01:50 +00:00
|
|
|
<div class="user-content">
|
|
|
|
<h4 class="media-heading">
|
|
|
|
{{status.user.name}}
|
|
|
|
<small><router-link :to="{ name: 'user-profile', params: { id: status.user.id } }">{{status.user.screen_name}}</router-link></small>
|
|
|
|
<small v-if="status.in_reply_to_screen_name"> >
|
|
|
|
<router-link :to="{ name: 'user-profile', params: { id: status.in_reply_to_user_id } }">
|
|
|
|
{{status.in_reply_to_screen_name}}
|
|
|
|
</router-link>
|
|
|
|
</small>
|
2017-03-05 10:56:28 +00:00
|
|
|
<template v-if="isReply">
|
|
|
|
<small>
|
|
|
|
<router-link :to="{ name: 'conversation', params: { id: status.in_reply_to_status_id } }">
|
|
|
|
<i class="icon-reply"></i>
|
|
|
|
</router-link>
|
|
|
|
</small>
|
|
|
|
</template>
|
2017-02-04 12:53:28 +00:00
|
|
|
-
|
|
|
|
<small>
|
2017-02-13 23:01:50 +00:00
|
|
|
<router-link :to="{ name: 'conversation', params: { id: status.id } }">
|
|
|
|
<timeago :since="status.created_at" :auto-update="60"></timeago>
|
|
|
|
</router-link>
|
|
|
|
</small>
|
|
|
|
<template v-if="expandable">
|
|
|
|
-
|
|
|
|
<small>
|
2017-02-14 20:47:37 +00:00
|
|
|
<a href="#" @click.prevent="toggleExpanded" ><i class="icon-plus-squared"></i></a>
|
|
|
|
</small>
|
|
|
|
<small v-if="status.user.muted">
|
|
|
|
<a href="#" @click.prevent="toggleMute" ><i class="icon-eye-off"></i></a>
|
2017-02-13 23:01:50 +00:00
|
|
|
</small>
|
|
|
|
</template>
|
|
|
|
<small v-if="!status.is_local" class="source_url">
|
2017-02-14 20:47:37 +00:00
|
|
|
<a :href="status.external_url" target="_blank" ><i class="icon-binoculars"></i></a>
|
2017-02-04 12:53:28 +00:00
|
|
|
</small>
|
2017-02-13 23:01:50 +00:00
|
|
|
</h4>
|
2016-11-28 15:10:03 +00:00
|
|
|
|
2017-02-19 11:58:25 +00:00
|
|
|
<div @click.prevent="linkClicked" class="status-content" v-html="status.statusnet_html"></div>
|
2016-11-28 15:10:03 +00:00
|
|
|
|
2017-02-13 23:01:50 +00:00
|
|
|
<div v-if='status.attachments' class='attachments'>
|
2017-02-22 23:04:47 +00:00
|
|
|
<attachment v-if="!hideAttachments" :status-id="status.id" :nsfw="status.nsfw" :attachment="attachment" v-for="attachment in status.attachments">
|
2017-02-13 23:01:50 +00:00
|
|
|
</attachment>
|
|
|
|
</div>
|
2016-11-28 15:10:03 +00:00
|
|
|
</div>
|
2016-10-28 13:19:42 +00:00
|
|
|
|
2017-02-13 23:01:50 +00:00
|
|
|
<div v-if="loggedIn">
|
|
|
|
<div class='status-actions'>
|
|
|
|
<div>
|
|
|
|
<a href="#" v-on:click.prevent="toggleReplying">
|
|
|
|
<i class='fa icon-reply'></i>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<retweet-button :status=status></retweet-button>
|
|
|
|
<favorite-button :status=status></favorite-button>
|
|
|
|
<delete-button :status=status></delete-button>
|
2016-10-28 13:19:42 +00:00
|
|
|
</div>
|
|
|
|
|
2017-02-13 23:01:50 +00:00
|
|
|
<post-status-form v-if="replying" :reply-to="status.id" :attentions="status.attentions" :repliedUser="status.user" v-on:posted="toggleReplying"></post-status-form>
|
|
|
|
</div>
|
2016-10-28 13:19:42 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2017-02-13 23:01:50 +00:00
|
|
|
</template>
|
2016-10-28 13:19:42 +00:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script src="./status.js" ></script>
|
2016-10-28 23:38:41 +00:00
|
|
|
|
|
|
|
<style lang="scss">
|
2016-11-25 16:19:46 +00:00
|
|
|
@import '../../_variables.scss';
|
|
|
|
.status-el {
|
2016-11-12 19:57:54 +00:00
|
|
|
hyphens: auto;
|
|
|
|
overflow-wrap: break-word;
|
2016-10-28 23:38:41 +00:00
|
|
|
word-wrap: break-word;
|
2016-11-03 15:59:27 +00:00
|
|
|
word-break: break-word;
|
2016-10-28 23:38:41 +00:00
|
|
|
|
2016-11-28 15:10:03 +00:00
|
|
|
.user-content {
|
|
|
|
min-height: 52px;
|
2017-02-18 07:48:35 +00:00
|
|
|
padding-top: 1px;
|
2016-11-28 15:10:03 +00:00
|
|
|
}
|
|
|
|
|
2016-11-25 16:34:41 +00:00
|
|
|
.source_url {
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
|
2016-11-25 16:34:59 +00:00
|
|
|
.greentext {
|
|
|
|
color: green;
|
|
|
|
}
|
|
|
|
|
2016-10-28 23:38:41 +00:00
|
|
|
a {
|
2016-11-12 19:57:54 +00:00
|
|
|
display: inline-block;
|
2017-02-19 11:13:56 +00:00
|
|
|
word-break: break-all;
|
2016-10-28 23:38:41 +00:00
|
|
|
}
|
2016-11-12 20:31:41 +00:00
|
|
|
|
|
|
|
.status-content {
|
2017-02-18 07:48:35 +00:00
|
|
|
margin: 3px 15px 4px 0;
|
2016-11-12 20:31:41 +00:00
|
|
|
}
|
2016-11-25 12:42:33 +00:00
|
|
|
|
|
|
|
p {
|
2016-11-25 16:19:46 +00:00
|
|
|
margin: 0;
|
|
|
|
margin-top: 0.2em;
|
|
|
|
margin-bottom: 0.5em;
|
2016-11-25 12:42:33 +00:00
|
|
|
}
|
2016-11-25 16:19:46 +00:00
|
|
|
}
|
2016-11-02 17:38:30 +00:00
|
|
|
|
2017-02-22 23:26:37 +00:00
|
|
|
.expanded-status {
|
|
|
|
border-left: 4px solid rgba(255, 48, 16, 0.65);
|
|
|
|
}
|
|
|
|
|
2016-11-25 16:19:46 +00:00
|
|
|
.status-actions {
|
2016-11-02 17:38:30 +00:00
|
|
|
padding-top: 5px;
|
2016-11-25 16:19:46 +00:00
|
|
|
}
|
2016-11-13 16:52:20 +00:00
|
|
|
|
2016-11-25 16:19:46 +00:00
|
|
|
.icon-reply:hover {
|
2016-11-13 16:52:20 +00:00
|
|
|
color: $blue;
|
2016-11-25 16:19:46 +00:00
|
|
|
}
|
2016-11-25 12:42:33 +00:00
|
|
|
|
2016-11-25 16:19:46 +00:00
|
|
|
.status .avatar {
|
|
|
|
width: 48px;
|
|
|
|
}
|
2016-11-25 12:42:33 +00:00
|
|
|
|
2016-11-25 16:19:46 +00:00
|
|
|
.status.compact .avatar {
|
|
|
|
width: 32px;
|
|
|
|
}
|
2016-11-25 12:42:33 +00:00
|
|
|
|
2016-11-25 16:19:46 +00:00
|
|
|
.status {
|
2017-02-18 07:48:35 +00:00
|
|
|
padding: 0.65em 0.7em 0.8em 0.8em;
|
2017-01-15 14:44:56 +00:00
|
|
|
border-bottom: 1px solid;
|
2016-11-25 16:19:46 +00:00
|
|
|
}
|
2017-02-13 23:01:50 +00:00
|
|
|
.muted button {
|
|
|
|
margin-left: auto;
|
|
|
|
}
|
2017-02-14 20:47:37 +00:00
|
|
|
|
|
|
|
a.unmute {
|
|
|
|
display: block;
|
|
|
|
margin-left: auto;
|
|
|
|
}
|
2017-02-16 14:58:49 +00:00
|
|
|
|
|
|
|
.usercard {
|
|
|
|
border-style: solid;
|
|
|
|
border-width: 1px;
|
2017-02-24 15:32:41 +00:00
|
|
|
border-radius: 10px;
|
2017-02-16 14:58:49 +00:00
|
|
|
margin-bottom: 1em;
|
2017-02-24 15:32:41 +00:00
|
|
|
margin-top: 0.2em;
|
2017-02-16 14:58:49 +00:00
|
|
|
}
|
2016-10-28 23:38:41 +00:00
|
|
|
</style>
|