From a9f0ab225b62bb08b4841dd53af134a3073bda44 Mon Sep 17 00:00:00 2001 From: Alexej Wolff Date: Wed, 11 Feb 2026 00:26:34 +0100 Subject: [PATCH] fix: TypeScript build errors --- src/pages/CharactersPage.tsx | 2 +- src/pages/GamePage.tsx | 7 ------- src/pages/StoriesPage.tsx | 1 - src/pages/StoryDetailPage.tsx | 2 +- src/services/storage.ts | 4 ++-- 5 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/pages/CharactersPage.tsx b/src/pages/CharactersPage.tsx index bed3c17..119b3f5 100644 --- a/src/pages/CharactersPage.tsx +++ b/src/pages/CharactersPage.tsx @@ -1,5 +1,5 @@ import { useState, useEffect } from "react"; -import { Link, useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; import { useAuth } from "../contexts/AuthContext"; import { getPlayerCharacters, diff --git a/src/pages/GamePage.tsx b/src/pages/GamePage.tsx index b54a777..b91143e 100644 --- a/src/pages/GamePage.tsx +++ b/src/pages/GamePage.tsx @@ -2,7 +2,6 @@ import { useState, useEffect, useRef } from "react"; import { useParams, Link, - useNavigate, useSearchParams, } from "react-router-dom"; import ReactMarkdown from "react-markdown"; @@ -103,7 +102,6 @@ function detectLocation(messages: ChatMessage[]): string { export default function GamePage() { const { id } = useParams<{ id: string }>(); const [searchParams] = useSearchParams(); - const navigate = useNavigate(); const { isAuthenticated } = useAuth(); const [story, setStory] = useState(null); const [session, setSession] = useState(null); @@ -372,11 +370,6 @@ export default function GamePage() { } }; - const handleQuickAction = (action: string) => { - setInput(action); - inputRef.current?.focus(); - }; - if (isInitialLoading) { return (
diff --git a/src/pages/StoriesPage.tsx b/src/pages/StoriesPage.tsx index bd8576f..7db73af 100644 --- a/src/pages/StoriesPage.tsx +++ b/src/pages/StoriesPage.tsx @@ -125,7 +125,6 @@ export default function StoriesPage() {

{story.description}

🌍 {story.world.name} - 👤 {story.player?.name || "Герой"}
diff --git a/src/pages/StoryDetailPage.tsx b/src/pages/StoryDetailPage.tsx index e2d05c6..1fba944 100644 --- a/src/pages/StoryDetailPage.tsx +++ b/src/pages/StoryDetailPage.tsx @@ -99,7 +99,7 @@ export default function StoryDetailPage() { }; // Примерный подсчёт токенов (1 токен ≈ 3 символа для русского текста) - const estimateTokens = (messages: typeof session.messages) => { + const estimateTokens = (messages: typeof session?.messages) => { if (!messages || messages.length === 0) return 0; const totalChars = messages.reduce( (sum, msg) => sum + msg.content.length, diff --git a/src/services/storage.ts b/src/services/storage.ts index c23cfc9..8ce40eb 100644 --- a/src/services/storage.ts +++ b/src/services/storage.ts @@ -53,8 +53,8 @@ export function getSessions(): GameSession[] { const sessions = JSON.parse(data); return sessions.map((s: GameSession) => ({ ...s, - createdAt: new Date(s.createdAt), - updatedAt: new Date(s.updatedAt), + createdAt: s.createdAt ? new Date(s.createdAt) : new Date(), + updatedAt: s.updatedAt ? new Date(s.updatedAt) : new Date(), messages: s.messages.map((m) => ({ ...m, timestamp: new Date(m.timestamp),