limit depth of reply posts (#7979)
* limit depth of reply posts * some tweaks Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
This commit is contained in:
		
							parent
							
								
									037db7c5ef
								
							
						
					
					
						commit
						12fad68f58
					
				
					 2 changed files with 22 additions and 11 deletions
				
			
		|  | @ -806,6 +806,7 @@ muteThread: "スレッドをミュート" | |||
| unmuteThread: "スレッドのミュートを解除" | ||||
| ffVisibility: "つながりの公開範囲" | ||||
| ffVisibilityDescription: "自分のフォロー/フォロワー情報の公開範囲を設定できます。" | ||||
| continueThread: "さらにスレッドを見る" | ||||
| deleteAccountConfirm: "アカウントが削除されます。よろしいですか?" | ||||
| 
 | ||||
| _emailUnavailable: | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| <template> | ||||
| <div class="wrpstxzv" :class="{ children }" v-size="{ max: [450] }"> | ||||
| <div class="wrpstxzv" :class="{ children: depth > 1 }" v-size="{ max: [450] }"> | ||||
| 	<div class="main"> | ||||
| 		<MkAvatar class="avatar" :user="note.user"/> | ||||
| 		<div class="body"> | ||||
|  | @ -15,12 +15,18 @@ | |||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<XSub v-for="reply in replies" :key="reply.id" :note="reply" class="reply" :detail="true" :children="true"/> | ||||
| 	<template v-if="depth < 5"> | ||||
| 		<XSub v-for="reply in replies" :key="reply.id" :note="reply" class="reply" :detail="true" :depth="depth + 1"/> | ||||
| 	</template> | ||||
| 	<div v-else class="more"> | ||||
| 		<MkA class="text _link" :to="notePage(note)">{{ $ts.continueThread }} <i class="fas fa-angle-double-right"></i></MkA> | ||||
| 	</div> | ||||
| </div> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import notePage from '@/filters/note'; | ||||
| import XNoteHeader from './note-header.vue'; | ||||
| import XSubNoteContent from './sub-note-content.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
|  | @ -45,16 +51,12 @@ export default defineComponent({ | |||
| 			required: false, | ||||
| 			default: false | ||||
| 		}, | ||||
| 		children: { | ||||
| 			type: Boolean, | ||||
| 		// how many notes are in between this one and the note being viewed in detail | ||||
| 		depth: { | ||||
| 			type: Number, | ||||
| 			required: false, | ||||
| 			default: false | ||||
| 			default: 1 | ||||
| 		}, | ||||
| 		// TODO | ||||
| 		truncate: { | ||||
| 			type: Boolean, | ||||
| 			default: true | ||||
| 		} | ||||
| 	}, | ||||
| 
 | ||||
| 	data() { | ||||
|  | @ -74,6 +76,10 @@ export default defineComponent({ | |||
| 			}); | ||||
| 		} | ||||
| 	}, | ||||
| 
 | ||||
| 	methods: { | ||||
| 		notePage, | ||||
| 	} | ||||
| }); | ||||
| </script> | ||||
| 
 | ||||
|  | @ -138,9 +144,13 @@ export default defineComponent({ | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	> .reply { | ||||
| 	> .reply, > .more { | ||||
| 		border-left: solid 0.5px var(--divider); | ||||
| 		margin-top: 10px; | ||||
| 	} | ||||
| 
 | ||||
| 	> .more { | ||||
| 		padding: 10px 0 0 16px; | ||||
| 	} | ||||
| } | ||||
| </style> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue