enhance: ユーザーページのノート一覧でRenoteを除外できるように

This commit is contained in:
syuilo 2023-09-28 11:02:01 +09:00 committed by Insert5StarName
parent 8bc2e6e72e
commit 0e0c61e64a
3 changed files with 17 additions and 4 deletions

View File

@ -15,6 +15,7 @@
## next
### General
- Enhance: ユーザーページのート一覧でRenoteを除外できるように
### Client
- Enhance: モデレーションログ機能の強化

View File

@ -42,6 +42,7 @@ export const paramDef = {
properties: {
userId: { type: 'string', format: 'misskey:id' },
includeReplies: { type: 'boolean', default: true },
includeRenotes: { type: 'boolean', default: true },
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
sinceId: { type: 'string', format: 'misskey:id' },
untilId: { type: 'string', format: 'misskey:id' },
@ -118,6 +119,16 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
query.andWhere('note.replyId IS NULL');
}
if (ps.includeRenotes === false) {
query.andWhere(new Brackets(qb => {
qb.orWhere('note.renoteId IS NULL');
qb.orWhere(new Brackets(qb => {
qb.orWhere('note.text IS NOT NULL');
qb.orWhere('note.fileIds != \'{}\'');
}));
}));
}
if (ps.includeMyRenotes === false) {
query.andWhere(new Brackets(qb => {
qb.orWhere('note.userId != :userId', { userId: user.id });

View File

@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #header>
<MkTab v-model="include" :class="$style.tab">
<option :value="null">{{ i18n.ts.notes }}</option>
<option value="replies">{{ i18n.ts.notesAndReplies }}</option>
<option value="all">{{ i18n.ts.all }}</option>
<option value="files">{{ i18n.ts.withFiles }}</option>
</MkTab>
</template>
@ -36,7 +36,8 @@ const pagination = {
limit: 10,
params: computed(() => ({
userId: props.user.id,
includeReplies: include.value === 'replies' || include.value === 'files',
includeRenotes: include.value === 'all',
includeReplies: include.value === 'all' || include.value === 'files',
withFiles: include.value === 'files',
})),
};
@ -51,7 +52,7 @@ const pagination = {
.tl {
background: var(--bg);
border-radius: var(--radius);
overflow: clip;
border-radius: var(--radius);
overflow: clip;
}
</style>