mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-10 01:09:43 +02:00
refactor(tui): clean up unused code and consolidate input handling
- Remove unused imports (Text, execSync, writeFileSync, React) - Move n/r/q key handlers from App.tsx to StartScreen component - Mark unused onClose prop in HelpOverlay with underscore prefix - Consolidate keyboard handling in components that display the controls Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
+4
-16
@@ -24,8 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import React, { useState, useEffect, useCallback } from 'react';
|
import React, { useState, useEffect, useCallback } from 'react';
|
||||||
import { Box, Text, useApp, useInput, useStdout } from 'ink';
|
import { Box, useApp, useInput, useStdout } from 'ink';
|
||||||
import { execSync, spawnSync } from 'child_process';
|
import { spawnSync } from 'child_process';
|
||||||
import { StartScreen } from './components/StartScreen.js';
|
import { StartScreen } from './components/StartScreen.js';
|
||||||
import { TabBar } from './components/TabBar.js';
|
import { TabBar } from './components/TabBar.js';
|
||||||
import { TerminalView } from './components/TerminalView.js';
|
import { TerminalView } from './components/TerminalView.js';
|
||||||
@@ -118,21 +118,9 @@ export function App(): React.ReactElement {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start screen specific inputs
|
// Start screen specific inputs - handled by StartScreen component
|
||||||
|
// Only number keys for quick session selection are handled here
|
||||||
if (viewMode === 'start') {
|
if (viewMode === 'start') {
|
||||||
if (input === 'q') {
|
|
||||||
exit();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (input === 'n') {
|
|
||||||
handleCreateSession();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (input === 'r') {
|
|
||||||
refreshSessions();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Number keys to select session
|
|
||||||
const num = parseInt(input, 10);
|
const num = parseInt(input, 10);
|
||||||
if (!isNaN(num) && num >= 1 && num <= sessions.length) {
|
if (!isNaN(num) && num >= 1 && num <= sessions.length) {
|
||||||
handleSelectSession(sessions[num - 1]);
|
handleSelectSession(sessions[num - 1]);
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ const SHORTCUT_GROUPS: ShortcutGroup[] = [
|
|||||||
* @param props.onClose - Callback invoked when overlay should close
|
* @param props.onClose - Callback invoked when overlay should close
|
||||||
* @returns The help overlay element
|
* @returns The help overlay element
|
||||||
*/
|
*/
|
||||||
export function HelpOverlay({ onClose }: HelpOverlayProps): React.ReactElement {
|
export function HelpOverlay({ onClose: _onClose }: HelpOverlayProps): React.ReactElement {
|
||||||
return (
|
return (
|
||||||
<Box flexDirection="column" padding={2}>
|
<Box flexDirection="column" padding={2}>
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
|
|||||||
@@ -125,6 +125,24 @@ export function StartScreen({
|
|||||||
onDeleteSession(sessions[selectedIndex]);
|
onDeleteSession(sessions[selectedIndex]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 'n' to create new session
|
||||||
|
if (input === 'n') {
|
||||||
|
onCreateSession();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 'r' to refresh session list
|
||||||
|
if (input === 'r') {
|
||||||
|
onRefresh();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 'q' to quit
|
||||||
|
if (input === 'q') {
|
||||||
|
onExit();
|
||||||
|
return;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { useState, useEffect, useCallback, useRef } from 'react';
|
import { useState, useEffect, useCallback, useRef } from 'react';
|
||||||
import { existsSync, readFileSync, writeFileSync, watchFile, unwatchFile, unlinkSync } from 'fs';
|
import { existsSync, readFileSync, watchFile, unwatchFile, unlinkSync } from 'fs';
|
||||||
import { homedir } from 'os';
|
import { homedir } from 'os';
|
||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
import { execSync } from 'child_process';
|
import { execSync } from 'child_process';
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
* @see {@link ./hooks/useSessionManager.ts} for state management
|
* @see {@link ./hooks/useSessionManager.ts} for state management
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
|
||||||
import { render } from 'ink';
|
import { render } from 'ink';
|
||||||
import { App } from './App.js';
|
import { App } from './App.js';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user