diff --git a/web/src/components/ActionBar.vue b/web/src/components/ActionBar.vue index 1e0e82a1..f95c2de5 100644 --- a/web/src/components/ActionBar.vue +++ b/web/src/components/ActionBar.vue @@ -58,6 +58,7 @@ const isCh9329Backend = computed(() => hidBackend.value.includes('ch9329')) const showMsd = computed(() => { return !!systemStore.msd?.available && !isCh9329Backend.value }) +const showAtx = computed(() => systemStore.atx?.available === true) const props = defineProps<{ mouseMode?: 'absolute' | 'relative' @@ -65,8 +66,10 @@ const props = defineProps<{ ttydRunning?: boolean showTerminal?: boolean showComputerUse?: boolean + showPasteText?: boolean }>() const showStats = computed(() => (props.videoMode ?? 'mjpeg') !== 'mjpeg') +const showPasteText = computed(() => props.showPasteText !== false) const emit = defineEmits<{ (e: 'toggleFullscreen'): void @@ -108,11 +111,13 @@ const openFromOverflow = (setter: () => void) => { } const openMobileAtx = () => openFromOverflow(() => { + if (!showAtx.value) return mobileAtxOpen.value = true mobileAtxOpenTime.value = Date.now() }) const openMobilePaste = () => openFromOverflow(() => { + if (!showPasteText.value) return mobilePasteOpen.value = true mobilePasteOpenTime.value = Date.now() }) @@ -192,11 +197,27 @@ watch(locale, () => { measureButtonWidths() }) +watch(showAtx, (visible) => { + if (!visible) { + atxOpen.value = false + mobileAtxOpen.value = false + } +}) + +watch(showPasteText, (visible) => { + if (!visible) { + pasteOpen.value = false + mobilePasteOpen.value = false + } +}) + const RIGHT_FIXED_PX = 120 const collapsibleItems = computed(() => { const items = ITEM_SPECS.slice(3).filter(item => { if (item.id === 'msd' && !showMsd.value) return false + if (item.id === 'atx' && !showAtx.value) return false + if (item.id === 'paste' && !showPasteText.value) return false if (item.id === 'stats' && !showStats.value) return false if (item.id === 'terminal' && props.showTerminal === false) return false return true @@ -294,7 +315,7 @@ const hasRightOverflow = computed(() => { -
+
-
+
+
+ + +