diff --git a/app/routes/settings.tsx b/app/routes/settings.tsx index 53eacb6..24357ed 100644 --- a/app/routes/settings.tsx +++ b/app/routes/settings.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import Navbar from "../components/Navbar"; import SettingsSidebar, { type SettingsSection } from "../components/SettingsSidebar"; import LlmSettings from "../components/LlmSettings"; @@ -6,6 +6,8 @@ import TradingSettings from "../components/TradingSettings"; import StockTable from "../components/StockTable"; import SystemSettings from "../components/SystemSettings"; +export const meta = () => [{ title: "Settings - AITrader" }]; + interface Stock { id: string; ticker: string; @@ -69,7 +71,7 @@ export default function SettingsPage() { const saveStockNotes = async (ticker: string, notes: string) => { setSaveError(null); - const prevStocks = [...stocks]; + const prevNotes = stocks.find((st) => st.ticker === ticker)?.notes ?? null; setStocks((s) => s.map((st) => (st.ticker === ticker ? { ...st, notes } : st))); try { const fd = new FormData(); @@ -80,7 +82,7 @@ export default function SettingsPage() { throw new Error("Failed to save notes"); } } catch (err) { - setStocks(prevStocks); + setStocks((s) => s.map((st) => (st.ticker === ticker ? { ...st, notes: prevNotes } : st))); setSaveError(err instanceof Error ? err.message : "Save failed"); } }; @@ -117,7 +119,7 @@ export default function SettingsPage() {
- + { setActiveSection(s); setSaveError(null); }} />
{renderSection()}