diff --git a/apps/web/src/components/terminal.tsx b/apps/web/src/components/terminal.tsx index 5019995..a809379 100644 --- a/apps/web/src/components/terminal.tsx +++ b/apps/web/src/components/terminal.tsx @@ -21,8 +21,8 @@ interface TerminalProps { } const FONT_SIZE_KEY = "terminal-font-size"; -const MIN_FONT_SIZE = 6; -const MAX_FONT_SIZE = 20; +const MIN_FONT_SIZE = 12; +const MAX_FONT_SIZE = 24; const RECONNECT_ATTEMPTS = 3; const RECONNECT_DELAY_BASE = 1000; @@ -51,9 +51,13 @@ export const TerminalComponent: React.FC = ({ const activeModifierRef = useRef(activeModifier); activeModifierRef.current = activeModifier; const [fontSize, setFontSize] = useState(() => { - if (typeof window === "undefined") return isMobile ? 12 : 10; + if (typeof window === "undefined") return isMobile ? 14 : 12; const stored = localStorage.getItem(FONT_SIZE_KEY); - return stored ? parseInt(stored, 10) : isMobile ? 12 : 10; + if (stored) { + const parsed = parseInt(stored, 10); + return Math.max(MIN_FONT_SIZE, Math.min(MAX_FONT_SIZE, parsed)); + } + return isMobile ? 14 : 12; }); const lastPingRef = useRef(0); const heartbeatCheckRef = useRef(null); diff --git a/apps/web/src/styles.css b/apps/web/src/styles.css index 73a0ad4..37a2105 100644 --- a/apps/web/src/styles.css +++ b/apps/web/src/styles.css @@ -2637,22 +2637,13 @@ a.nav-item, overflow: hidden; } -.terminal-container .xterm { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} +/* xterm.js manages its own positioning and sizing */ .terminal-container canvas { display: block; } -/* Ensure xterm fills container */ -.terminal-container .xterm-viewport { - width: 100% !important; -} +/* xterm.js manages its own viewport dimensions - do not override */ /* Mobile terminal container - no padding to maximize space */ .terminal-wrapper.mobile .terminal-container { @@ -3264,18 +3255,9 @@ a.nav-item, position: relative; } -/* xterm fills container */ -.terminal-wrapper.mobile .terminal-container .xterm { - width: 100%; - height: 100%; -} +/* xterm.js manages its own sizing */ -/* Enable scrolling in mobile terminal */ -.terminal-wrapper.mobile .terminal-container .xterm-viewport { - overflow-y: auto !important; - -webkit-overflow-scrolling: touch !important; - height: 100% !important; -} +/* xterm.js manages its own scrolling and viewport dimensions */ /* Special Keys Strip */ .special-keys-strip {