enhance: タイムラインからRenoteを除外するオプションを追加

This commit is contained in:
syuilo 2023-09-28 11:41:41 +09:00
parent d854942a1f
commit eb740e2c72
14 changed files with 94 additions and 28 deletions

View file

@ -15,14 +15,19 @@ import * as sound from '@/scripts/sound.js';
import { $i } from '@/account.js';
import { defaultStore } from '@/store.js';
const props = defineProps<{
const props = withDefaults(defineProps<{
src: string;
list?: string;
antenna?: string;
channel?: string;
role?: string;
sound?: boolean;
}>();
withRenotes?: boolean;
withReplies?: boolean;
}>(), {
withRenotes: true,
withReplies: false,
});
const emit = defineEmits<{
(ev: 'note'): void;
@ -62,10 +67,12 @@ if (props.src === 'antenna') {
} else if (props.src === 'home') {
endpoint = 'notes/timeline';
query = {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
};
connection = stream.useChannel('homeTimeline', {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
});
connection.on('note', prepend);
@ -73,28 +80,34 @@ if (props.src === 'antenna') {
} else if (props.src === 'local') {
endpoint = 'notes/local-timeline';
query = {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
};
connection = stream.useChannel('localTimeline', {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
});
connection.on('note', prepend);
} else if (props.src === 'social') {
endpoint = 'notes/hybrid-timeline';
query = {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
};
connection = stream.useChannel('hybridTimeline', {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
});
connection.on('note', prepend);
} else if (props.src === 'global') {
endpoint = 'notes/global-timeline';
query = {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
};
connection = stream.useChannel('globalTimeline', {
withReplies: defaultStore.state.showTimelineReplies,
withRenotes: props.withRenotes,
withReplies: props.withReplies,
});
connection.on('note', prepend);
} else if (props.src === 'mentions') {
@ -116,9 +129,13 @@ if (props.src === 'antenna') {
} else if (props.src === 'list') {
endpoint = 'notes/user-list-timeline';
query = {
withRenotes: props.withRenotes,
withReplies: props.withReplies,
listId: props.list,
};
connection = stream.useChannel('userList', {
withRenotes: props.withRenotes,
withReplies: props.withReplies,
listId: props.list,
});
connection.on('note', prepend);