Better renote annotation rendering
Co-Authored-By: tamaina <tamaina@hotmail.co.jp>
This commit is contained in:
		
							parent
							
								
									93898b7a5f
								
							
						
					
					
						commit
						c80b288db3
					
				
					 2 changed files with 72 additions and 63 deletions
				
			
		| 
						 | 
				
			
			@ -4,7 +4,6 @@
 | 
			
		|||
		<x-sub :note="p.reply"/>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="renote" v-if="isRenote">
 | 
			
		||||
		<p>
 | 
			
		||||
		<router-link class="avatar-anchor" :to="note.user | userPage" v-user-preview="note.userId">
 | 
			
		||||
			<img class="avatar" :src="`${note.user.avatarUrl}?thumbnail&size=32`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
| 
						 | 
				
			
			@ -12,7 +11,6 @@
 | 
			
		|||
		<span>{{ '%i18n:!@reposted-by%'.substr(0, '%i18n:!@reposted-by%'.indexOf('{')) }}</span>
 | 
			
		||||
		<a class="name" :href="note.user | userPage" v-user-preview="note.userId">{{ note.user | userName }}</a>
 | 
			
		||||
		<span>{{ '%i18n:!@reposted-by%'.substr('%i18n:!@reposted-by%'.indexOf('}') + 1) }}</span>
 | 
			
		||||
		</p>
 | 
			
		||||
		<mk-time :time="note.createdAt"/>
 | 
			
		||||
	</div>
 | 
			
		||||
	<article>
 | 
			
		||||
| 
						 | 
				
			
			@ -324,13 +322,12 @@ root(isDark)
 | 
			
		|||
			border-radius 4px
 | 
			
		||||
 | 
			
		||||
	> .renote
 | 
			
		||||
		color #9dbb00
 | 
			
		||||
		background isDark ? linear-gradient(to bottom, #314027 0%, #282c37 100%) : linear-gradient(to bottom, #edfde2 0%, #fff 100%)
 | 
			
		||||
 | 
			
		||||
		> p
 | 
			
		||||
			margin 0
 | 
			
		||||
		display flex
 | 
			
		||||
		align-items baseline
 | 
			
		||||
		padding 16px 32px
 | 
			
		||||
		line-height 28px
 | 
			
		||||
		color #9dbb00
 | 
			
		||||
		background isDark ? linear-gradient(to bottom, #314027 0%, #282c37 100%) : linear-gradient(to bottom, #edfde2 0%, #fff 100%)
 | 
			
		||||
 | 
			
		||||
		.avatar-anchor
 | 
			
		||||
			display inline-block
 | 
			
		||||
| 
						 | 
				
			
			@ -345,15 +342,24 @@ root(isDark)
 | 
			
		|||
		[data-fa]
 | 
			
		||||
			margin-right 4px
 | 
			
		||||
 | 
			
		||||
		> span
 | 
			
		||||
			flex-shrink 0
 | 
			
		||||
 | 
			
		||||
			&:last-of-type
 | 
			
		||||
				margin-right 8px
 | 
			
		||||
 | 
			
		||||
		.name
 | 
			
		||||
			overflow hidden
 | 
			
		||||
			flex-shrink 1
 | 
			
		||||
			text-overflow ellipsis
 | 
			
		||||
			white-space nowrap
 | 
			
		||||
			font-weight bold
 | 
			
		||||
 | 
			
		||||
		> .mk-time
 | 
			
		||||
			position absolute
 | 
			
		||||
			top 16px
 | 
			
		||||
			right 32px
 | 
			
		||||
			display block
 | 
			
		||||
			margin-left auto
 | 
			
		||||
			flex-shrink 0
 | 
			
		||||
			font-size 0.9em
 | 
			
		||||
			line-height 28px
 | 
			
		||||
 | 
			
		||||
		& + article
 | 
			
		||||
			padding-top 8px
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,6 @@
 | 
			
		|||
		<x-sub :note="p.reply"/>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="renote" v-if="isRenote">
 | 
			
		||||
		<p>
 | 
			
		||||
		<router-link class="avatar-anchor" :to="note.user | userPage">
 | 
			
		||||
			<img class="avatar" :src="`${note.user.avatarUrl}?thumbnail&size=64`" alt="avatar"/>
 | 
			
		||||
		</router-link>
 | 
			
		||||
| 
						 | 
				
			
			@ -12,7 +11,6 @@
 | 
			
		|||
		<span>{{ '%i18n:!@reposted-by%'.substr(0, '%i18n:!@reposted-by%'.indexOf('{')) }}</span>
 | 
			
		||||
		<router-link class="name" :to="note.user | userPage">{{ note.user | userName }}</router-link>
 | 
			
		||||
		<span>{{ '%i18n:!@reposted-by%'.substr('%i18n:!@reposted-by%'.indexOf('}') + 1) }}</span>
 | 
			
		||||
		</p>
 | 
			
		||||
		<mk-time :time="note.createdAt"/>
 | 
			
		||||
	</div>
 | 
			
		||||
	<article>
 | 
			
		||||
| 
						 | 
				
			
			@ -251,13 +249,12 @@ export default Vue.extend({
 | 
			
		|||
		font-size 16px
 | 
			
		||||
 | 
			
		||||
	> .renote
 | 
			
		||||
		color #9dbb00
 | 
			
		||||
		background linear-gradient(to bottom, #edfde2 0%, #fff 100%)
 | 
			
		||||
 | 
			
		||||
		> p
 | 
			
		||||
			margin 0
 | 
			
		||||
		display flex
 | 
			
		||||
		align-items baseline
 | 
			
		||||
		padding 8px 16px
 | 
			
		||||
		line-height 28px
 | 
			
		||||
		color #9dbb00
 | 
			
		||||
		background linear-gradient(to bottom, #edfde2 0%, #fff 100%)
 | 
			
		||||
 | 
			
		||||
		@media (min-width 500px)
 | 
			
		||||
			padding 16px
 | 
			
		||||
| 
						 | 
				
			
			@ -275,18 +272,24 @@ export default Vue.extend({
 | 
			
		|||
		[data-fa]
 | 
			
		||||
			margin-right 4px
 | 
			
		||||
 | 
			
		||||
		> span
 | 
			
		||||
			flex-shrink 0
 | 
			
		||||
 | 
			
		||||
			&:last-of-type
 | 
			
		||||
				margin-right 8px
 | 
			
		||||
 | 
			
		||||
		.name
 | 
			
		||||
			overflow hidden
 | 
			
		||||
			flex-shrink 1
 | 
			
		||||
			text-overflow ellipsis
 | 
			
		||||
			white-space nowrap
 | 
			
		||||
			font-weight bold
 | 
			
		||||
 | 
			
		||||
		> .mk-time
 | 
			
		||||
			position absolute
 | 
			
		||||
			top 8px
 | 
			
		||||
			right 16px
 | 
			
		||||
			display block
 | 
			
		||||
			margin-left auto
 | 
			
		||||
			flex-shrink 0
 | 
			
		||||
			font-size 0.9em
 | 
			
		||||
			line-height 28px
 | 
			
		||||
 | 
			
		||||
			@media (min-width 500px)
 | 
			
		||||
				top 16px
 | 
			
		||||
 | 
			
		||||
		& + article
 | 
			
		||||
			padding-top 8px
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue