fix: remove 28 unused variables across frontend components

Cleaned up unused imports, state variables, and function parameters:
- CredentialsManager.tsx: removed 8 unused variables (Sheet/Select imports)
- FileManager.tsx: removed 10 unused variables (icons, state, functions)
- Terminal.tsx (Desktop): removed 5 unused variables (state, handlers)
- Terminal.tsx (Mobile): removed 5 unused variables (imports, state)

Reduced lint errors from 271 to 236 (35 errors fixed)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ZacharyZcR
2025-10-09 19:26:09 +08:00
parent 24a7b02f70
commit 720b7b5972
4 changed files with 27 additions and 74 deletions

View File

@@ -9,21 +9,7 @@ import {
AccordionItem,
AccordionTrigger,
} from "@/components/ui/accordion";
import {
Sheet,
SheetContent,
SheetDescription,
SheetFooter,
SheetHeader,
SheetTitle,
} from "@/components/ui/sheet";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { Sheet, SheetContent } from "@/components/ui/sheet";
import {
Tooltip,
TooltipContent,
@@ -37,7 +23,6 @@ import {
Edit,
Trash2,
Shield,
Pin,
Tag,
Info,
FolderMinus,
@@ -75,9 +60,7 @@ export function CredentialsManager({
const [error, setError] = useState<string | null>(null);
const [searchQuery, setSearchQuery] = useState("");
const [showViewer, setShowViewer] = useState(false);
const [viewingCredential, setViewingCredential] = useState<Credential | null>(
null,
);
const [viewingCredential] = useState<Credential | null>(null);
const [draggedCredential, setDraggedCredential] = useState<Credential | null>(
null,
);
@@ -153,7 +136,7 @@ export function CredentialsManager({
const data = await getCredentials();
setCredentials(data);
setError(null);
} catch (err) {
} catch {
setError(t("credentials.failedToFetchCredentials"));
} finally {
setLoading(false);
@@ -256,7 +239,7 @@ export function CredentialsManager({
);
await fetchCredentials();
window.dispatchEvent(new CustomEvent("credentials:changed"));
} catch (err) {
} catch {
toast.error(t("credentials.failedToRemoveFromFolder"));
} finally {
setOperationLoading(false);
@@ -285,7 +268,7 @@ export function CredentialsManager({
window.dispatchEvent(new CustomEvent("credentials:changed"));
setEditingFolder(null);
setEditingFolderName("");
} catch (err) {
} catch {
toast.error(t("credentials.failedToRenameFolder"));
} finally {
setOperationLoading(false);
@@ -359,7 +342,7 @@ export function CredentialsManager({
);
await fetchCredentials();
window.dispatchEvent(new CustomEvent("credentials:changed"));
} catch (err) {
} catch {
toast.error(t("credentials.failedToMoveToFolder"));
} finally {
setOperationLoading(false);

View File

@@ -23,8 +23,6 @@ import {
Search,
Grid3X3,
List,
Eye,
Settings,
} from "lucide-react";
import { TerminalWindow } from "./components/TerminalWindow";
import type { SSHHost, FileItem } from "../../../types/index.js";
@@ -87,9 +85,7 @@ function FileManagerContent({ initialHost, onClose }: FileManagerProps) {
const { t } = useTranslation();
const { confirmWithToast } = useConfirmation();
const [currentHost, setCurrentHost] = useState<SSHHost | null>(
initialHost || null,
);
const [currentHost] = useState<SSHHost | null>(initialHost || null);
const [currentPath, setCurrentPath] = useState(
initialHost?.defaultPath || "/",
);
@@ -145,10 +141,9 @@ function FileManagerContent({ initialHost, onClose }: FileManagerProps) {
const [createIntent, setCreateIntent] = useState<CreateIntent | null>(null);
const [editingFile, setEditingFile] = useState<FileItem | null>(null);
const { selectedFiles, selectFile, selectAll, clearSelection, setSelection } =
useFileSelection();
const { selectedFiles, clearSelection, setSelection } = useFileSelection();
const { isDragging, dragHandlers } = useDragAndDrop({
const { dragHandlers } = useDragAndDrop({
onFilesDropped: handleFilesDropped,
onError: (error) => toast.error(error),
maxFileSize: 5120,
@@ -784,7 +779,7 @@ function FileManagerContent({ initialHost, onClose }: FileManagerProps) {
}
};
async function handleFileOpen(file: FileItem, editMode: boolean = false) {
async function handleFileOpen(file: FileItem) {
if (file.type === "directory") {
setCurrentPath(file.path);
} else if (file.type === "link") {
@@ -834,14 +829,6 @@ function FileManagerContent({ initialHost, onClose }: FileManagerProps) {
}
}
function handleFileEdit(file: FileItem) {
handleFileOpen(file, true);
}
function handleFileView(file: FileItem) {
handleFileOpen(file, false);
}
function handleContextMenu(event: React.MouseEvent, file?: FileItem) {
event.preventDefault();
@@ -1351,18 +1338,16 @@ function FileManagerContent({ initialHost, onClose }: FileManagerProps) {
}
if (successCount > 0) {
const movedFiles = draggedFiles
.slice(0, successCount)
.map((file, index) => {
const targetPath = targetFolder.path.endsWith("/")
? `${targetFolder.path}${file.name}`
: `${targetFolder.path}/${file.name}`;
return {
originalPath: file.path,
targetPath: targetPath,
targetName: file.name,
};
});
const movedFiles = draggedFiles.slice(0, successCount).map((file) => {
const targetPath = targetFolder.path.endsWith("/")
? `${targetFolder.path}${file.name}`
: `${targetFolder.path}/${file.name}`;
return {
originalPath: file.path,
targetPath: targetPath,
targetName: file.name,
};
});
const undoAction: UndoAction = {
type: "cut",

View File

@@ -80,8 +80,8 @@ export const Terminal = forwardRef<TerminalHandle, SSHTerminalProps>(
const [visible, setVisible] = useState(false);
const [isConnected, setIsConnected] = useState(false);
const [isConnecting, setIsConnecting] = useState(false);
const [connectionError, setConnectionError] = useState<string | null>(null);
const [isAuthenticated, setIsAuthenticated] = useState(false);
const [, setConnectionError] = useState<string | null>(null);
const [, setIsAuthenticated] = useState(false);
const [totpRequired, setTotpRequired] = useState(false);
const [totpPrompt, setTotpPrompt] = useState<string>("");
const isVisibleRef = useRef<boolean>(false);
@@ -227,13 +227,6 @@ export const Terminal = forwardRef<TerminalHandle, SSHTerminalProps>(
[terminal],
);
function handleWindowResize() {
if (!isVisibleRef.current) return;
fitAddonRef.current?.fit();
if (terminal) scheduleNotify(terminal.cols, terminal.rows);
hardRefresh();
}
function getUseRightClickCopyPaste() {
return getCookie("rightClickCopyPaste") === "true";
}
@@ -490,7 +483,7 @@ export const Terminal = forwardRef<TerminalHandle, SSHTerminalProps>(
setTotpRequired(true);
setTotpPrompt(msg.prompt || "Verification code:");
}
} catch (error) {
} catch {
toast.error(t("terminal.messageParseError"));
}
});
@@ -526,7 +519,7 @@ export const Terminal = forwardRef<TerminalHandle, SSHTerminalProps>(
}
});
ws.addEventListener("error", (event) => {
ws.addEventListener("error", () => {
setIsConnected(false);
isConnectingRef.current = false;
setConnectionError(t("terminal.websocketError"));