✌️
This commit is contained in:
		
							parent
							
								
									073a2def64
								
							
						
					
					
						commit
						e1984e3991
					
				
					 5 changed files with 68 additions and 101 deletions
				
			
		| 
						 | 
				
			
			@ -2,6 +2,7 @@ import Vue from 'vue';
 | 
			
		|||
 | 
			
		||||
import ui from './ui.vue';
 | 
			
		||||
import timeline from './timeline.vue';
 | 
			
		||||
import post from './post.vue';
 | 
			
		||||
import posts from './posts.vue';
 | 
			
		||||
import imagesImage from './images-image.vue';
 | 
			
		||||
import drive from './drive.vue';
 | 
			
		||||
| 
						 | 
				
			
			@ -23,6 +24,7 @@ import widgetContainer from './widget-container.vue';
 | 
			
		|||
 | 
			
		||||
Vue.component('mk-ui', ui);
 | 
			
		||||
Vue.component('mk-timeline', timeline);
 | 
			
		||||
Vue.component('mk-post', post);
 | 
			
		||||
Vue.component('mk-posts', posts);
 | 
			
		||||
Vue.component('mk-images-image', imagesImage);
 | 
			
		||||
Vue.component('mk-drive', drive);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
<div class="mk-notification" :class="notification.type">
 | 
			
		||||
<div class="mk-notification">
 | 
			
		||||
	<div class="notification reaction" v-if="notification.type == 'reaction'">
 | 
			
		||||
		<mk-time :time="notification.created_at"/>
 | 
			
		||||
 | 
			
		||||
	<template v-if="notification.type == 'reaction'">
 | 
			
		||||
		<router-link class="avatar-anchor" :to="`/${notification.user.username}`">
 | 
			
		||||
			<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
| 
						 | 
				
			
			@ -16,9 +15,10 @@
 | 
			
		|||
				%fa:quote-right%
 | 
			
		||||
			</router-link>
 | 
			
		||||
		</div>
 | 
			
		||||
	</template>
 | 
			
		||||
	</div>
 | 
			
		||||
 | 
			
		||||
	<template v-if="notification.type == 'repost'">
 | 
			
		||||
	<div class="notification repost" v-if="notification.type == 'repost'">
 | 
			
		||||
		<mk-time :time="notification.created_at"/>
 | 
			
		||||
		<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`">
 | 
			
		||||
			<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
| 
						 | 
				
			
			@ -31,22 +31,14 @@
 | 
			
		|||
				%fa:quote-left%{{ getPostSummary(notification.post.repost) }}%fa:quote-right%
 | 
			
		||||
			</router-link>
 | 
			
		||||
		</div>
 | 
			
		||||
	</template>
 | 
			
		||||
	</div>
 | 
			
		||||
 | 
			
		||||
	<template v-if="notification.type == 'quote'">
 | 
			
		||||
		<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`">
 | 
			
		||||
			<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
		<div class="text">
 | 
			
		||||
			<p>
 | 
			
		||||
				%fa:quote-left%
 | 
			
		||||
				<router-link :to="`/${notification.post.user.username}`">{{ notification.post.user.name }}</router-link>
 | 
			
		||||
			</p>
 | 
			
		||||
			<router-link class="post-preview" :to="`/${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</router-link>
 | 
			
		||||
		</div>
 | 
			
		||||
		<mk-post :post="notification.post"/>
 | 
			
		||||
	</template>
 | 
			
		||||
 | 
			
		||||
	<template v-if="notification.type == 'follow'">
 | 
			
		||||
	<div class="notification follow" v-if="notification.type == 'follow'">
 | 
			
		||||
		<mk-time :time="notification.created_at"/>
 | 
			
		||||
		<router-link class="avatar-anchor" :to="`/${notification.user.username}`">
 | 
			
		||||
			<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
| 
						 | 
				
			
			@ -56,35 +48,18 @@
 | 
			
		|||
				<router-link :to="`/${notification.user.username}`">{{ notification.user.name }}</router-link>
 | 
			
		||||
			</p>
 | 
			
		||||
		</div>
 | 
			
		||||
	</template>
 | 
			
		||||
	</div>
 | 
			
		||||
 | 
			
		||||
	<template v-if="notification.type == 'reply'">
 | 
			
		||||
		<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`">
 | 
			
		||||
			<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
		<div class="text">
 | 
			
		||||
			<p>
 | 
			
		||||
				%fa:reply%
 | 
			
		||||
				<router-link :to="`/${notification.post.user.username}`">{{ notification.post.user.name }}</router-link>
 | 
			
		||||
			</p>
 | 
			
		||||
			<router-link class="post-preview" :to="`/${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</router-link>
 | 
			
		||||
		</div>
 | 
			
		||||
		<mk-post :post="notification.post"/>
 | 
			
		||||
	</template>
 | 
			
		||||
 | 
			
		||||
	<template v-if="notification.type == 'mention'">
 | 
			
		||||
		<router-link class="avatar-anchor" :to="`/${notification.post.user.username}`">
 | 
			
		||||
			<img class="avatar" :src="`${notification.post.user.avatar_url}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
		<div class="text">
 | 
			
		||||
			<p>
 | 
			
		||||
				%fa:at%
 | 
			
		||||
				<router-link :to="`/${notification.post.user.username}`">{{ notification.post.user.name }}</router-link>
 | 
			
		||||
			</p>
 | 
			
		||||
			<router-link class="post-preview" :to="`/${notification.post.user.username}/${notification.post.id}`">{{ getPostSummary(notification.post) }}</router-link>
 | 
			
		||||
		</div>
 | 
			
		||||
		<mk-post :post="notification.post"/>
 | 
			
		||||
	</template>
 | 
			
		||||
 | 
			
		||||
	<template v-if="notification.type == 'poll_vote'">
 | 
			
		||||
	<div class="notification poll_vote" v-if="notification.type == 'poll_vote'">
 | 
			
		||||
		<mk-time :time="notification.created_at"/>
 | 
			
		||||
		<router-link class="avatar-anchor" :to="`/${notification.user.username}`">
 | 
			
		||||
			<img class="avatar" :src="`${notification.user.avatar_url}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +72,7 @@
 | 
			
		|||
				%fa:quote-left%{{ getPostSummary(notification.post) }}%fa:quote-right%
 | 
			
		||||
			</router-link>
 | 
			
		||||
		</div>
 | 
			
		||||
	</template>
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -117,10 +92,16 @@ export default Vue.extend({
 | 
			
		|||
 | 
			
		||||
<style lang="stylus" scoped>
 | 
			
		||||
.mk-notification
 | 
			
		||||
	margin 0
 | 
			
		||||
 | 
			
		||||
	> .notification
 | 
			
		||||
		padding 16px
 | 
			
		||||
		overflow-wrap break-word
 | 
			
		||||
 | 
			
		||||
		&:after
 | 
			
		||||
			content ""
 | 
			
		||||
			display block
 | 
			
		||||
			clear both
 | 
			
		||||
 | 
			
		||||
		> .mk-time
 | 
			
		||||
			display inline
 | 
			
		||||
			position absolute
 | 
			
		||||
| 
						 | 
				
			
			@ -128,14 +109,9 @@ export default Vue.extend({
 | 
			
		|||
			right 12px
 | 
			
		||||
			vertical-align top
 | 
			
		||||
			color rgba(0, 0, 0, 0.6)
 | 
			
		||||
		font-size 12px
 | 
			
		||||
			font-size 0.9em
 | 
			
		||||
 | 
			
		||||
	&:after
 | 
			
		||||
		content ""
 | 
			
		||||
		display block
 | 
			
		||||
		clear both
 | 
			
		||||
 | 
			
		||||
	.avatar-anchor
 | 
			
		||||
		> .avatar-anchor
 | 
			
		||||
			display block
 | 
			
		||||
			float left
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -146,7 +122,7 @@ export default Vue.extend({
 | 
			
		|||
				max-height 36px
 | 
			
		||||
				border-radius 6px
 | 
			
		||||
 | 
			
		||||
	.text
 | 
			
		||||
		> .text
 | 
			
		||||
			float right
 | 
			
		||||
			width calc(100% - 36px)
 | 
			
		||||
			padding-left 8px
 | 
			
		||||
| 
						 | 
				
			
			@ -157,10 +133,10 @@ export default Vue.extend({
 | 
			
		|||
				i, .mk-reaction-icon
 | 
			
		||||
					margin-right 4px
 | 
			
		||||
 | 
			
		||||
	.post-preview
 | 
			
		||||
			> .post-preview
 | 
			
		||||
				color rgba(0, 0, 0, 0.7)
 | 
			
		||||
 | 
			
		||||
	.post-ref
 | 
			
		||||
			> .post-ref
 | 
			
		||||
				color rgba(0, 0, 0, 0.7)
 | 
			
		||||
 | 
			
		||||
				[data-fa]
 | 
			
		||||
| 
						 | 
				
			
			@ -170,7 +146,7 @@ export default Vue.extend({
 | 
			
		|||
					display inline-block
 | 
			
		||||
					margin-right 3px
 | 
			
		||||
 | 
			
		||||
	&.repost, &.quote
 | 
			
		||||
		&.repost
 | 
			
		||||
			.text p i
 | 
			
		||||
				color #77B255
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -178,12 +154,5 @@ export default Vue.extend({
 | 
			
		|||
			.text p i
 | 
			
		||||
				color #53c7ce
 | 
			
		||||
 | 
			
		||||
	&.reply, &.mention
 | 
			
		||||
		.text p i
 | 
			
		||||
			color #555
 | 
			
		||||
 | 
			
		||||
		.post-preview
 | 
			
		||||
			color rgba(0, 0, 0, 0.7)
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,7 +77,7 @@
 | 
			
		|||
import Vue from 'vue';
 | 
			
		||||
import MkPostMenu from '../../../common/views/components/post-menu.vue';
 | 
			
		||||
import MkReactionPicker from '../../../common/views/components/reaction-picker.vue';
 | 
			
		||||
import XSub from './posts.post.sub.vue';
 | 
			
		||||
import XSub from './post.sub.vue';
 | 
			
		||||
 | 
			
		||||
export default Vue.extend({
 | 
			
		||||
	components: {
 | 
			
		||||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
	<slot name="head"></slot>
 | 
			
		||||
	<slot></slot>
 | 
			
		||||
	<template v-for="(post, i) in _posts">
 | 
			
		||||
		<x-post :post="post" :key="post.id" @update:post="onPostUpdated(i, $event)"/>
 | 
			
		||||
		<mk-post :post="post" :key="post.id" @update:post="onPostUpdated(i, $event)"/>
 | 
			
		||||
		<p class="date" v-if="i != posts.length - 1 && post._date != _posts[i + 1]._date">
 | 
			
		||||
			<span>%fa:angle-up%{{ post._datetext }}</span>
 | 
			
		||||
			<span>%fa:angle-down%{{ _posts[i + 1]._datetext }}</span>
 | 
			
		||||
| 
						 | 
				
			
			@ -17,12 +17,8 @@
 | 
			
		|||
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import Vue from 'vue';
 | 
			
		||||
import XPost from './posts.post.vue';
 | 
			
		||||
 | 
			
		||||
export default Vue.extend({
 | 
			
		||||
	components: {
 | 
			
		||||
		XPost
 | 
			
		||||
	},
 | 
			
		||||
	props: {
 | 
			
		||||
		posts: {
 | 
			
		||||
			type: Array,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue