Add show bots toggle

This commit is contained in:
codingneko 2024-10-06 02:08:26 +00:00
parent 934e007698
commit 347dc25bb8

View file

@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.tl"> <div :class="$style.tl">
<MkTimeline <MkTimeline
ref="tlComponent" ref="tlComponent"
:key="src + withRenotes + withReplies + onlyFiles" :key="src + withRenotes + withBots + withReplies + onlyFiles"
:src="src.split(':')[0]" :src="src.split(':')[0]"
:list="src.split(':')[1]" :list="src.split(':')[1]"
:withRenotes="withRenotes" :withRenotes="withRenotes"
@ -37,6 +37,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<script lang="ts" setup> <script lang="ts" setup>
import { computed, watch, provide, shallowRef, ref, onMounted, onActivated } from 'vue'; import { computed, watch, provide, shallowRef, ref, onMounted, onActivated } from 'vue';
import type { Tab } from '@/components/global/MkPageHeader.tabs.vue'; import type { Tab } from '@/components/global/MkPageHeader.tabs.vue';
import type { BasicTimelineType } from '@/timelines.js';
import MkTimeline from '@/components/MkTimeline.vue'; import MkTimeline from '@/components/MkTimeline.vue';
import MkInfo from '@/components/MkInfo.vue'; import MkInfo from '@/components/MkInfo.vue';
import MkPostForm from '@/components/MkPostForm.vue'; import MkPostForm from '@/components/MkPostForm.vue';
@ -54,7 +55,6 @@ import { deepMerge } from '@/scripts/merge.js';
import { MenuItem } from '@/types/menu.js'; import { MenuItem } from '@/types/menu.js';
import { miLocalStorage } from '@/local-storage.js'; import { miLocalStorage } from '@/local-storage.js';
import { availableBasicTimelines, hasWithReplies, isAvailableBasicTimeline, isBasicTimeline, basicTimelineIconClass } from '@/timelines.js'; import { availableBasicTimelines, hasWithReplies, isAvailableBasicTimeline, isBasicTimeline, basicTimelineIconClass } from '@/timelines.js';
import type { BasicTimelineType } from '@/timelines.js';
provide('shouldOmitHeaderTitle', true); provide('shouldOmitHeaderTitle', true);
@ -264,25 +264,33 @@ const headerActions = computed(() => {
icon: 'ti ti-dots', icon: 'ti ti-dots',
text: i18n.ts.options, text: i18n.ts.options,
handler: (ev) => { handler: (ev) => {
os.popupMenu([{ os.popupMenu([
type: 'switch', {
text: i18n.ts.showRenotes, type: 'switch',
ref: withRenotes, text: i18n.ts.showRenotes,
}, isBasicTimeline(src.value) && hasWithReplies(src.value) ? { ref: withRenotes,
type: 'switch', },
text: i18n.ts.showRepliesToOthersInTimeline, {
ref: withReplies, type: 'switch',
disabled: onlyFiles, text: i18n.ts.showBots,
} : undefined, { ref: withBots,
type: 'switch', },
text: i18n.ts.withSensitive, isBasicTimeline(src.value) && hasWithReplies(src.value) ? {
ref: withSensitive, type: 'switch',
}, { text: i18n.ts.showRepliesToOthersInTimeline,
type: 'switch', ref: withReplies,
text: i18n.ts.fileAttachedOnly, disabled: onlyFiles,
ref: onlyFiles, } : undefined, {
disabled: isBasicTimeline(src.value) && hasWithReplies(src.value) ? withReplies : false, type: 'switch',
}], ev.currentTarget ?? ev.target); text: i18n.ts.withSensitive,
ref: withSensitive,
}, {
type: 'switch',
text: i18n.ts.fileAttachedOnly,
ref: onlyFiles,
disabled: isBasicTimeline(src.value) && hasWithReplies(src.value) ? withReplies : false,
},
], ev.currentTarget ?? ev.target);
}, },
}, },
]; ];