diff --git a/web/src/components/TerminalDialog.vue b/web/src/components/TerminalDialog.vue new file mode 100644 index 00000000..c74749b9 --- /dev/null +++ b/web/src/components/TerminalDialog.vue @@ -0,0 +1,108 @@ + + + + + + + + + + {{ t('extensions.ttyd.title') }} + + + + + + + + + Close + + + + + + + + + + + diff --git a/web/src/views/ConsoleView.vue b/web/src/views/ConsoleView.vue index 63395bee..a573f31c 100644 --- a/web/src/views/ConsoleView.vue +++ b/web/src/views/ConsoleView.vue @@ -33,6 +33,7 @@ import InfoBar from '@/components/InfoBar.vue' import VirtualKeyboard from '@/components/VirtualKeyboard.vue' import StatsSheet from '@/components/StatsSheet.vue' import ComputerUseSheet from '@/components/ComputerUseSheet.vue' +import TerminalDialog from '@/components/TerminalDialog.vue' import type { ComputerUseTimelineItem, NewComputerUseTimelineItem } from '@/types/computerUseTimeline' import LanguageToggleButton from '@/components/LanguageToggleButton.vue' import BrandMark from '@/components/BrandMark.vue' @@ -61,8 +62,6 @@ import { Sun, Moon, ChevronDown, - Terminal, - ExternalLink, KeyRound, Loader2, } from 'lucide-vue-next' @@ -2023,12 +2022,6 @@ function openTerminal() { showTerminalDialog.value = true } -function openTerminalInNewTab() { - if (!showTerminal.value) return - if (!ttydStatus.value?.running) return - window.open('/api/terminal/', '_blank') -} - async function handlePowerShort() { try { await atxApi.power('short') @@ -3103,37 +3096,7 @@ onUnmounted(() => { v-model:open="statsSheetOpen" :webrtc-stats="webrtc.stats.value" /> - - - - - - - {{ t('extensions.ttyd.title') }} - - - - - - - - - - - + diff --git a/web/src/views/SettingsView.vue b/web/src/views/SettingsView.vue index 9e7db31a..7187434d 100644 --- a/web/src/views/SettingsView.vue +++ b/web/src/views/SettingsView.vue @@ -56,6 +56,7 @@ import { getVideoFormatState } from '@/lib/video-format-support' import { formatVideoDeviceLabel } from '@/lib/video-device-label' import AppLayout from '@/components/AppLayout.vue' import LanguageToggleButton from '@/components/LanguageToggleButton.vue' +import TerminalDialog from '@/components/TerminalDialog.vue' import { Button } from '@/components/ui/button' import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card' import { Input } from '@/components/ui/input' @@ -1696,10 +1697,6 @@ function openTerminal() { showTerminalDialog.value = true } -function openTerminalInNewTab() { - window.open('/api/terminal/', '_blank') -} - function getExtStatusText(status: ExtensionStatus | undefined): string { if (!status) return t('extensions.stopped') switch (status.state) { @@ -5354,37 +5351,7 @@ watch(isWindows, () => { - - - - - - - {{ t('extensions.ttyd.title') }} - - - - - - - - - - - +