diff --git a/frontend/src/auth/api.ts b/frontend/src/auth/api.ts index 57b4cd4..ffdeec4 100644 --- a/frontend/src/auth/api.ts +++ b/frontend/src/auth/api.ts @@ -1,8 +1,5 @@ -import { API_BASE_URL } from "../core/config"; // import { showLogin } from "../navigation"; -import type { Headers, User, WebSocketMessage } from "../core/types"; -import { clearAlerts } from "./auth"; -import { request } from "../websocket"; +import type { Headers } from "../core/types"; /** * Generates authentication headers for API requests diff --git a/frontend/src/ui/components/chat/LeftPanel.tsx b/frontend/src/ui/components/chat/LeftPanel.tsx index 07e4416..86a92b4 100644 --- a/frontend/src/ui/components/chat/LeftPanel.tsx +++ b/frontend/src/ui/components/chat/LeftPanel.tsx @@ -1,6 +1,4 @@ import { PRODUCT_NAME } from "../../../core/config"; -import { useDialog } from "../../contexts/DialogContext"; -import { useChat } from "../../hooks/useChat"; import { useAppState } from "../../state"; import defaultAvatar from "../../../resources/images/default-avatar.png"; import { useState, type FormEvent } from "react"; diff --git a/frontend/src/ui/components/chat/MessageContextMenu.tsx b/frontend/src/ui/components/chat/MessageContextMenu.tsx index 781470c..f297873 100644 --- a/frontend/src/ui/components/chat/MessageContextMenu.tsx +++ b/frontend/src/ui/components/chat/MessageContextMenu.tsx @@ -146,7 +146,7 @@ export function MessageContextMenu({ }, 200); // Match the animation duration from _animations.scss }; - const handleEditSave = (messageId: number, newContent: string) => { + const handleEditSave = (_messageId: number, newContent: string) => { // Create a temporary message object with the updated content const updatedMessage = { ...message, content: newContent }; onEdit(updatedMessage); diff --git a/frontend/src/ui/hooks/useChat.ts b/frontend/src/ui/hooks/useChat.ts index e800fde..510793a 100644 --- a/frontend/src/ui/hooks/useChat.ts +++ b/frontend/src/ui/hooks/useChat.ts @@ -1,8 +1,8 @@ import { useEffect, useCallback, useRef } from "react"; import { useAppState } from "../state"; -import { request, websocket } from "../../websocket"; +import { request } from "../../websocket"; import { API_BASE_URL } from "../../core/config"; -import type { Message, WebSocketMessage } from "../../core/types"; +import type { Message } from "../../core/types"; import { getAuthHeaders } from "../../auth/api"; import { delay } from "../../utils/utils"; diff --git a/frontend/src/ui/panels/DMPanel.ts b/frontend/src/ui/panels/DMPanel.ts index 434da14..0222ec2 100644 --- a/frontend/src/ui/panels/DMPanel.ts +++ b/frontend/src/ui/panels/DMPanel.ts @@ -1,11 +1,10 @@ import { MessagePanel, type MessagePanelCallbacks } from "./MessagePanel"; import { - fetchUserPublicKey, fetchDMHistory, decryptDm, sendDMViaWebSocket } from "../../api/dmApi"; -import type { Message, DmEnvelope } from "../../core/types"; +import type { Message } from "../../core/types"; import type { UserState } from "../state"; export interface DMPanelData { diff --git a/frontend/src/ui/panels/MessagePanel.ts b/frontend/src/ui/panels/MessagePanel.ts index f5af090..196d0ac 100644 --- a/frontend/src/ui/panels/MessagePanel.ts +++ b/frontend/src/ui/panels/MessagePanel.ts @@ -1,4 +1,4 @@ -import type { User, Message } from "../../core/types"; +import type { Message } from "../../core/types"; import type { UserState } from "../state"; export interface MessagePanelState { diff --git a/frontend/src/ui/panels/PublicChatPanel.ts b/frontend/src/ui/panels/PublicChatPanel.ts index 08e5eca..ed4a78e 100644 --- a/frontend/src/ui/panels/PublicChatPanel.ts +++ b/frontend/src/ui/panels/PublicChatPanel.ts @@ -6,7 +6,6 @@ import type { Message, WebSocketMessage } from "../../core/types"; import type { UserState } from "../state"; export class PublicChatPanel extends MessagePanel { - private chatName: string; private messagesLoaded: boolean = false; constructor( @@ -16,7 +15,6 @@ export class PublicChatPanel extends MessagePanel { onStateChange: (state: any) => void ) { super(`public-${chatName}`, currentUser, callbacks, onStateChange); - this.chatName = chatName; this.updateState({ title: chatName, online: true // Public chats are always "online" @@ -113,7 +111,6 @@ export class PublicChatPanel extends MessagePanel { // Update chat name setChatName(chatName: string): void { - this.chatName = chatName; this.updateState({ id: `public-${chatName}`, title: chatName diff --git a/frontend/src/ui/state.ts b/frontend/src/ui/state.ts index f9470dc..a88a3de 100644 --- a/frontend/src/ui/state.ts +++ b/frontend/src/ui/state.ts @@ -236,10 +236,10 @@ export const useAppState = create((set, get) => ({ let publicChatPanel = chat.publicChatPanel; if (!publicChatPanel) { const callbacks = { - onSendMessage: (content: string) => {}, - onEditMessage: (messageId: number, content: string) => {}, - onDeleteMessage: (messageId: number) => {}, - onReplyToMessage: (messageId: number, content: string) => {}, + onSendMessage: (_content: string) => {}, + onEditMessage: (_messageId: number, _content: string) => {}, + onDeleteMessage: (_messageId: number) => {}, + onReplyToMessage: (_messageId: number, _content: string) => {}, onProfileClick: () => {} }; @@ -288,10 +288,10 @@ export const useAppState = create((set, get) => ({ let dmPanel = chat.dmPanel; if (!dmPanel) { const callbacks = { - onSendMessage: (content: string) => {}, - onEditMessage: (messageId: number, content: string) => {}, - onDeleteMessage: (messageId: number) => {}, - onReplyToMessage: (messageId: number, content: string) => {}, + onSendMessage: (_content: string) => {}, + onEditMessage: (_messageId: number, _content: string) => {}, + onDeleteMessage: (_messageId: number) => {}, + onReplyToMessage: (_messageId: number, _content: string) => {}, onProfileClick: () => {} }; diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 96482d5..ad5ff1c 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -18,6 +18,8 @@ "erasableSyntaxOnly": true, "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true, + "noUnusedLocals": true, + "noUnusedParameters": true, /* React JSX Support */ "jsx": "react-jsx",