From bdf32790c961f1807bbd274782f8ef3f21873311 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Fri, 16 May 2025 16:55:28 -0400 Subject: [PATCH] wip --- .../sidebar/tabs/queue/ResultItem.vue | 2 + .../sidebar/tabs/queue/ResultText.vue | 66 +++++++++++++++++++ src/schemas/apiSchema.ts | 3 +- src/stores/queueStore.ts | 6 +- 4 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 src/components/sidebar/tabs/queue/ResultText.vue diff --git a/src/components/sidebar/tabs/queue/ResultItem.vue b/src/components/sidebar/tabs/queue/ResultItem.vue index 9f05ab687..d2544e268 100644 --- a/src/components/sidebar/tabs/queue/ResultItem.vue +++ b/src/components/sidebar/tabs/queue/ResultItem.vue @@ -13,6 +13,7 @@ /> +
{{ result.mediaType }} @@ -28,6 +29,7 @@ import { ResultItemImpl } from '@/stores/queueStore' import { useSettingStore } from '@/stores/settingStore' import ResultAudio from './ResultAudio.vue' +import ResultText from './ResultText.vue' import ResultVideo from './ResultVideo.vue' const props = defineProps<{ diff --git a/src/components/sidebar/tabs/queue/ResultText.vue b/src/components/sidebar/tabs/queue/ResultText.vue new file mode 100644 index 000000000..1e0e4b600 --- /dev/null +++ b/src/components/sidebar/tabs/queue/ResultText.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/schemas/apiSchema.ts b/src/schemas/apiSchema.ts index a6d8eee27..adf414f60 100644 --- a/src/schemas/apiSchema.ts +++ b/src/schemas/apiSchema.ts @@ -22,7 +22,8 @@ const zOutputs = z audio: z.array(zResultItem).optional(), images: z.array(zResultItem).optional(), video: z.array(zResultItem).optional(), - animated: z.array(z.boolean()).optional() + animated: z.array(z.boolean()).optional(), + text: z.string().optional() }) .passthrough() diff --git a/src/stores/queueStore.ts b/src/stores/queueStore.ts index 376063958..2d76d7b90 100644 --- a/src/stores/queueStore.ts +++ b/src/stores/queueStore.ts @@ -193,8 +193,12 @@ export class ResultItemImpl { ) } + get isText(): boolean { + return ['text', 'json', 'display_text'].includes(this.mediaType) + } + get supportsPreview(): boolean { - return this.isImage || this.isVideo || this.isAudio + return this.isImage || this.isVideo || this.isAudio || this.isText } }