wip
This commit is contained in:
		
							parent
							
								
									d65e5541b3
								
							
						
					
					
						commit
						e8f48bcec4
					
				|  | @ -1,33 +0,0 @@ | |||
| <mk-user-timeline> | ||||
| 	<mk-timeline ref="timeline" init={ init } more={ more } empty={ withMedia ? '%i18n:mobile.tags.mk-user-timeline.no-posts-with-media%' : '%i18n:mobile.tags.mk-user-timeline.no-posts%' }/> | ||||
| 	<style lang="stylus" scoped> | ||||
| 		:scope | ||||
| 			display block | ||||
| 			max-width 600px | ||||
| 			margin 0 auto | ||||
| 	</style> | ||||
| 	<script lang="typescript"> | ||||
| 		this.mixin('api'); | ||||
| 
 | ||||
| 		this.user = this.opts.user; | ||||
| 		this.withMedia = this.opts.withMedia; | ||||
| 
 | ||||
| 		this.init = new Promise((res, rej) => { | ||||
| 			this.$root.$data.os.api('users/posts', { | ||||
| 				user_id: this.user.id, | ||||
| 				with_media: this.withMedia | ||||
| 			}).then(posts => { | ||||
| 				res(posts); | ||||
| 				this.$emit('loaded'); | ||||
| 			}); | ||||
| 		}); | ||||
| 
 | ||||
| 		this.more = () => { | ||||
| 			return this.$root.$data.os.api('users/posts', { | ||||
| 				user_id: this.user.id, | ||||
| 				with_media: this.withMedia, | ||||
| 				until_id: this.$refs.timeline.tail().id | ||||
| 			}); | ||||
| 		}; | ||||
| 	</script> | ||||
| </mk-user-timeline> | ||||
|  | @ -0,0 +1,46 @@ | |||
| <template> | ||||
| <div class="mk-user-timeline"> | ||||
| 	<mk-posts :posts="posts"> | ||||
| 		<div class="init" v-if="fetching"> | ||||
| 			%fa:spinner .pulse%%i18n:common.loading% | ||||
| 		</div> | ||||
| 		<div class="empty" v-if="!fetching && posts.length == 0"> | ||||
| 			%fa:R comments% | ||||
| 			{{ withMedia ? '%i18n:mobile.tags.mk-user-timeline.no-posts-with-media%' : '%i18n:mobile.tags.mk-user-timeline.no-posts%' }} | ||||
| 		</div> | ||||
| 		<button v-if="canFetchMore" @click="more" :disabled="fetching" slot="tail"> | ||||
| 			<span v-if="!fetching">%i18n:mobile.tags.mk-user-timeline.load-more%</span> | ||||
| 			<span v-if="fetching">%i18n:common.loading%<mk-ellipsis/></span> | ||||
| 		</button> | ||||
| 	</mk-posts> | ||||
| </div> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import Vue from 'vue'; | ||||
| export default Vue.extend({ | ||||
| 	props: ['user', 'withMedia'], | ||||
| 	data() { | ||||
| 		return { | ||||
| 			fetching: true, | ||||
| 			posts: [] | ||||
| 		}; | ||||
| 	}, | ||||
| 	mounted() { | ||||
| 		this.$root.$data.os.api('users/posts', { | ||||
| 			user_id: this.user.id, | ||||
| 			with_media: this.withMedia | ||||
| 		}).then(posts => { | ||||
| 			this.fetching = false; | ||||
| 			this.posts = posts; | ||||
| 			this.$emit('loaded'); | ||||
| 		}); | ||||
| 	} | ||||
| }); | ||||
| </script> | ||||
| 
 | ||||
| <style lang="stylus" scoped> | ||||
| .mk-user-timeline | ||||
| 	max-width 600px | ||||
| 	margin 0 auto | ||||
| </style> | ||||
		Loading…
	
		Reference in New Issue