This commit is contained in:
		
							parent
							
								
									db1c211322
								
							
						
					
					
						commit
						ab0b650696
					
				|  | @ -56,6 +56,7 @@ export default Vue.extend({ | |||
| 	}, | ||||
| 	watch: { | ||||
| 		value() { | ||||
| 			(this.$el).style.transition = 'all 0.3s'; | ||||
| 			(this.$refs.input as any).checked = this.checked; | ||||
| 		} | ||||
| 	}, | ||||
|  |  | |||
|  | @ -69,11 +69,21 @@ export default Vue.extend({ | |||
| 			margin-right 8px | ||||
| 
 | ||||
| 	> footer | ||||
| 		padding 16px | ||||
| 		text-align center | ||||
| 		color #ccc | ||||
| 		border-top solid 1px #eaeaea | ||||
| 		border-bottom-left-radius 4px | ||||
| 		border-bottom-right-radius 4px | ||||
| 		> * | ||||
| 			display block | ||||
| 			margin 0 | ||||
| 			padding 16px | ||||
| 			width 100% | ||||
| 			text-align center | ||||
| 			color #ccc | ||||
| 			border-top solid 1px #eaeaea | ||||
| 			border-bottom-left-radius 4px | ||||
| 			border-bottom-right-radius 4px | ||||
| 
 | ||||
| 		> button | ||||
| 			&:hover | ||||
| 				background #f5f5f5 | ||||
| 
 | ||||
| 			&:active | ||||
| 				background #eee | ||||
| </style> | ||||
|  |  | |||
|  | @ -18,6 +18,13 @@ | |||
| 			<x-profile/> | ||||
| 		</section> | ||||
| 
 | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>動作</h1> | ||||
| 			<mk-switch v-model="fetchOnScroll" @change="onChangeFetchOnScroll" text="スクロールで自動読み込み"> | ||||
| 				<span>ページを下までスクロールしたときに自動で追加のコンテンツを読み込みます。</span> | ||||
| 			</mk-switch> | ||||
| 		</section> | ||||
| 
 | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>デザイン</h1> | ||||
| 			<div class="div"> | ||||
|  | @ -186,6 +193,7 @@ export default Vue.extend({ | |||
| 			version, | ||||
| 			latestVersion: undefined, | ||||
| 			checkingForUpdate: false, | ||||
| 			fetchOnScroll: true, | ||||
| 			autoWatch: true, | ||||
| 			enableSounds: localStorage.getItem('enableSounds') == 'true', | ||||
| 			lang: localStorage.getItem('lang') || '', | ||||
|  | @ -223,6 +231,16 @@ export default Vue.extend({ | |||
| 
 | ||||
| 		if ((this as any).os.i.settings.auto_watch != null) { | ||||
| 			this.autoWatch = (this as any).os.i.settings.auto_watch; | ||||
| 			this.$watch('os.i.settings.auto_watch', v => { | ||||
| 				this.autoWatch = v; | ||||
| 			}); | ||||
| 		} | ||||
| 
 | ||||
| 		if ((this as any).os.i.client_settings.fetchOnScroll != null) { | ||||
| 			this.fetchOnScroll = (this as any).os.i.client_settings.fetchOnScroll; | ||||
| 			this.$watch('os.i.client_settings.fetchOnScroll', v => { | ||||
| 				this.fetchOnScroll = v; | ||||
| 			}); | ||||
| 		} | ||||
| 	}, | ||||
| 	methods: { | ||||
|  | @ -230,6 +248,12 @@ export default Vue.extend({ | |||
| 			this.$router.push('/i/customize-home'); | ||||
| 			this.$emit('done'); | ||||
| 		}, | ||||
| 		onChangeFetchOnScroll(v) { | ||||
| 			(this as any).api('i/update_client_setting', { | ||||
| 				name: 'fetchOnScroll', | ||||
| 				value: v | ||||
| 			}); | ||||
| 		}, | ||||
| 		onChangeAutoWatch(v) { | ||||
| 			(this as any).api('i/update', { | ||||
| 				auto_watch: v | ||||
|  |  | |||
|  | @ -8,10 +8,10 @@ | |||
| 		%fa:R comments%自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。 | ||||
| 	</p> | ||||
| 	<mk-posts :posts="posts" ref="timeline"> | ||||
| 		<div slot="footer"> | ||||
| 			<template v-if="!moreFetching">%fa:comments%</template> | ||||
| 		<button slot="footer" @click="more" :disabled="moreFetching" :style="{ cursor: moreFetching ? 'wait' : 'pointer' }"> | ||||
| 			<template v-if="!moreFetching">もっと見る</template> | ||||
| 			<template v-if="moreFetching">%fa:spinner .pulse .fw%</template> | ||||
| 		</div> | ||||
| 		</button> | ||||
| 	</mk-posts> | ||||
| </div> | ||||
| </template> | ||||
|  | @ -105,8 +105,10 @@ export default Vue.extend({ | |||
| 			this.fetch(); | ||||
| 		}, | ||||
| 		onScroll() { | ||||
| 			const current = window.scrollY + window.innerHeight; | ||||
| 			if (current > document.body.offsetHeight - 8) this.more(); | ||||
| 			if ((this as any).os.i.client_settings.fetchOnScroll !== false) { | ||||
| 				const current = window.scrollY + window.innerHeight; | ||||
| 				if (current > document.body.offsetHeight - 8) this.more(); | ||||
| 			} | ||||
| 		}, | ||||
| 		onKeydown(e) { | ||||
| 			if (e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue