From a1d2445ae6b5724f758fd9fbdb7c55646f00957c Mon Sep 17 00:00:00 2001 From: MacRimi Date: Mon, 24 Nov 2025 19:01:15 +0100 Subject: [PATCH] Update terminal-panel.tsx --- AppImage/components/terminal-panel.tsx | 85 +++++++++++++++++++------- 1 file changed, 62 insertions(+), 23 deletions(-) diff --git a/AppImage/components/terminal-panel.tsx b/AppImage/components/terminal-panel.tsx index cc8b894..4c2713e 100644 --- a/AppImage/components/terminal-panel.tsx +++ b/AppImage/components/terminal-panel.tsx @@ -141,7 +141,6 @@ export const TerminalPanel: React.FC = ({ websocketUrl, onCl const [searchModalOpen, setSearchModalOpen] = useState(false) const [searchQuery, setSearchQuery] = useState("") const [filteredCommands, setFilteredCommands] = useState>(proxmoxCommands) - const [lastKeyPressed, setLastKeyPressed] = useState(null) const [isSearching, setIsSearching] = useState(false) const [searchResults, setSearchResults] = useState([]) const [useOnline, setUseOnline] = useState(true) @@ -489,7 +488,13 @@ export const TerminalPanel: React.FC = ({ websocketUrl, onCl } } - const handleKeyButton = (key: string) => { + const handleKeyButton = (key: string, e?: React.MouseEvent | React.TouchEvent) => { + // Prevenir comportamientos por defecto del navegador + if (e) { + e.preventDefault() + e.stopPropagation() + } + const activeTerminal = terminals.find((t) => t.id === activeTerminalId) if (!activeTerminal || !activeTerminal.ws || activeTerminal.ws.readyState !== WebSocket.OPEN) return let seq = "" @@ -519,10 +524,6 @@ export const TerminalPanel: React.FC = ({ websocketUrl, onCl break } activeTerminal.ws.send(seq) - if (key) { - setLastKeyPressed(key) - setTimeout(() => setLastKeyPressed(null), 2000) - } } const handleClear = () => { @@ -552,14 +553,15 @@ export const TerminalPanel: React.FC = ({ websocketUrl, onCl } } - const sendSequence = (seq: string, keyName?: string) => { + const sendSequence = (seq: string, e?: React.MouseEvent | React.TouchEvent) => { + if (e) { + e.preventDefault() + e.stopPropagation() + } + const activeTerminal = terminals.find((t) => t.id === activeTerminalId) if (activeTerminal?.ws && activeTerminal.ws.readyState === WebSocket.OPEN) { activeTerminal.ws.send(seq) - if (keyName) { - setLastKeyPressed(keyName) - setTimeout(() => setLastKeyPressed(null), 2000) - } } } @@ -756,30 +758,67 @@ export const TerminalPanel: React.FC = ({ websocketUrl, onCl {(isMobile || isTablet) && (
- {lastKeyPressed && ( - - Sent: {lastKeyPressed} - - )} - - - - - - -