アニメーション停止箇所の追加 (#4138)
This commit is contained in:
		
							parent
							
								
									7b7359fbdc
								
							
						
					
					
						commit
						4162981081
					
				
					 5 changed files with 48 additions and 12 deletions
				
			
		| 
						 | 
				
			
			@ -5,9 +5,9 @@
 | 
			
		|||
 | 
			
		||||
		<p :class="$style.fetching" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
 | 
			
		||||
		<div :class="$style.stream" v-if="!fetching && images.length > 0">
 | 
			
		||||
			<div v-for="image in images"
 | 
			
		||||
			<div v-for="(image, i) in images" :key="i"
 | 
			
		||||
				:class="$style.img"
 | 
			
		||||
				:style="`background-image: url(${image.thumbnailUrl || image.url})`"
 | 
			
		||||
				:style="`background-image: url(${thumbnail(image)})`"
 | 
			
		||||
				draggable="true"
 | 
			
		||||
				@dragstart="onDragstart(image, $event)"
 | 
			
		||||
			></div>
 | 
			
		||||
| 
						 | 
				
			
			@ -20,6 +20,7 @@
 | 
			
		|||
<script lang="ts">
 | 
			
		||||
import define from '../../../common/define-widget';
 | 
			
		||||
import i18n from '../../../i18n';
 | 
			
		||||
import { getStaticImageUrl } from '../../scripts/get-static-image-url';
 | 
			
		||||
 | 
			
		||||
export default define({
 | 
			
		||||
	name: 'photo-stream',
 | 
			
		||||
| 
						 | 
				
			
			@ -77,6 +78,12 @@ export default define({
 | 
			
		|||
			e.dataTransfer.effectAllowed = 'move';
 | 
			
		||||
			e.dataTransfer.setData('mk_drive_file', JSON.stringify(file));
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		thumbnail(image: any): string {
 | 
			
		||||
			return this.$store.state.device.disableShowingAnimatedImages
 | 
			
		||||
				? getStaticImageUrl(image.thumbnailUrl)
 | 
			
		||||
				: image.thumbnailUrl;
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
});
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,8 +3,8 @@
 | 
			
		|||
	<p class="title"><fa icon="camera"/>{{ $t('title') }}</p>
 | 
			
		||||
	<p class="initializing" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('loading') }}<mk-ellipsis/></p>
 | 
			
		||||
	<div class="stream" v-if="!fetching && images.length > 0">
 | 
			
		||||
		<div v-for="image in images" class="img"
 | 
			
		||||
			:style="`background-image: url(${image.thumbnailUrl})`"
 | 
			
		||||
		<div v-for="(image, i) in images" :key="i" class="img"
 | 
			
		||||
			:style="`background-image: url(${thumbnail(image)})`"
 | 
			
		||||
		></div>
 | 
			
		||||
	</div>
 | 
			
		||||
	<p class="empty" v-if="!fetching && images.length == 0">{{ $t('no-photos') }}</p>
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +14,8 @@
 | 
			
		|||
<script lang="ts">
 | 
			
		||||
import Vue from 'vue';
 | 
			
		||||
import i18n from '../../../../i18n';
 | 
			
		||||
import { getStaticImageUrl } from '../../../../common/scripts/get-static-image-url';
 | 
			
		||||
 | 
			
		||||
export default Vue.extend({
 | 
			
		||||
	i18n: i18n('desktop/views/pages/user/user.photos.vue'),
 | 
			
		||||
	props: ['user'],
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +46,14 @@ export default Vue.extend({
 | 
			
		|||
			}
 | 
			
		||||
			this.fetching = false;
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		thumbnail(image: any): string {
 | 
			
		||||
			return this.$store.state.device.disableShowingAnimatedImages
 | 
			
		||||
				? getStaticImageUrl(image.thumbnailUrl)
 | 
			
		||||
				: image.thumbnailUrl;
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
});
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
<div class="mk-note-card">
 | 
			
		||||
	<a :href="note | notePage">
 | 
			
		||||
		<header>
 | 
			
		||||
			<img :src="note.user.avatarUrl" alt="avatar"/>
 | 
			
		||||
			<img :src="avator" alt="avatar"/>
 | 
			
		||||
			<h3><mk-user-name :user="note.user"/></h3>
 | 
			
		||||
		</header>
 | 
			
		||||
		<div>
 | 
			
		||||
| 
						 | 
				
			
			@ -16,13 +16,19 @@
 | 
			
		|||
<script lang="ts">
 | 
			
		||||
import Vue from 'vue';
 | 
			
		||||
import summary from '../../../../../misc/get-note-summary';
 | 
			
		||||
import { getStaticImageUrl } from '../../../common/scripts/get-static-image-url';
 | 
			
		||||
 | 
			
		||||
export default Vue.extend({
 | 
			
		||||
	props: ['note'],
 | 
			
		||||
	computed: {
 | 
			
		||||
		text(): string {
 | 
			
		||||
			return summary(this.note);
 | 
			
		||||
		}
 | 
			
		||||
		},
 | 
			
		||||
		avator(): string {
 | 
			
		||||
			return this.$store.state.device.disableShowingAnimatedImages
 | 
			
		||||
				? getStaticImageUrl(this.note.user.avatarUrl)
 | 
			
		||||
				: this.note.user.avatarUrl;
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
});
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
<mk-ui>
 | 
			
		||||
	<template slot="header" v-if="!fetching"><img :src="user.avatarUrl" alt="">
 | 
			
		||||
	<template slot="header" v-if="!fetching"><img :src="avator" alt="">
 | 
			
		||||
		<mk-user-name :user="user"/>
 | 
			
		||||
	</template>
 | 
			
		||||
	<main v-if="!fetching">
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +11,7 @@
 | 
			
		|||
			<div class="body">
 | 
			
		||||
				<div class="top">
 | 
			
		||||
					<a class="avatar">
 | 
			
		||||
						<img :src="user.avatarUrl" alt="avatar"/>
 | 
			
		||||
						<img :src="avator" alt="avatar"/>
 | 
			
		||||
					</a>
 | 
			
		||||
					<button class="menu" ref="menu" @click="menu"><fa icon="ellipsis-h"/></button>
 | 
			
		||||
					<mk-follow-button v-if="$store.getters.isSignedIn && $store.state.i.id != user.id" :user="user"/>
 | 
			
		||||
| 
						 | 
				
			
			@ -82,6 +82,7 @@ import parseAcct from '../../../../../misc/acct/parse';
 | 
			
		|||
import Progress from '../../../common/scripts/loading';
 | 
			
		||||
import XUserMenu from '../../../common/views/components/user-menu.vue';
 | 
			
		||||
import XHome from './user/home.vue';
 | 
			
		||||
import { getStaticImageUrl } from '../../../common/scripts/get-static-image-url';
 | 
			
		||||
 | 
			
		||||
export default Vue.extend({
 | 
			
		||||
	i18n: i18n('mobile/views/pages/user.vue'),
 | 
			
		||||
| 
						 | 
				
			
			@ -99,6 +100,11 @@ export default Vue.extend({
 | 
			
		|||
		age(): number {
 | 
			
		||||
			return age(this.user.profile.birthday);
 | 
			
		||||
		},
 | 
			
		||||
		avator(): string {
 | 
			
		||||
			return this.$store.state.device.disableShowingAnimatedImages
 | 
			
		||||
				? getStaticImageUrl(this.user.avatarUrl)
 | 
			
		||||
				: this.user.avatarUrl;
 | 
			
		||||
		},
 | 
			
		||||
		style(): any {
 | 
			
		||||
			if (this.user.bannerUrl == null) return {};
 | 
			
		||||
			return {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
<div class="root photos">
 | 
			
		||||
	<p class="initializing" v-if="fetching"><fa icon="spinner" pulse fixed-width/>{{ $t('@.loading') }}<mk-ellipsis/></p>
 | 
			
		||||
	<div class="stream" v-if="!fetching && images.length > 0">
 | 
			
		||||
		<a v-for="image in images"
 | 
			
		||||
		<a v-for="(image, i) in images" :key="i"
 | 
			
		||||
			class="img"
 | 
			
		||||
			:style="`background-image: url(${image.media.thumbnailUrl})`"
 | 
			
		||||
			:style="`background-image: url(${thumbnail(image.media)})`"
 | 
			
		||||
			:href="image.note | notePage"
 | 
			
		||||
		></a>
 | 
			
		||||
	</div>
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +15,7 @@
 | 
			
		|||
<script lang="ts">
 | 
			
		||||
import Vue from 'vue';
 | 
			
		||||
import i18n from '../../../../i18n';
 | 
			
		||||
import { getStaticImageUrl } from '../../../../common/scripts/get-static-image-url';
 | 
			
		||||
 | 
			
		||||
export default Vue.extend({
 | 
			
		||||
	i18n: i18n('mobile/views/pages/user/home.photos.vue'),
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +51,14 @@ export default Vue.extend({
 | 
			
		|||
			}
 | 
			
		||||
			this.fetching = false;
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		thumbnail(image: any): string {
 | 
			
		||||
			return this.$store.state.device.disableShowingAnimatedImages
 | 
			
		||||
				? getStaticImageUrl(image.thumbnailUrl)
 | 
			
		||||
				: image.thumbnailUrl;
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
});
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue