diff --git a/.playwright-mcp/current-state.png b/.playwright-mcp/current-state.png new file mode 100644 index 00000000..5ed48249 Binary files /dev/null and b/.playwright-mcp/current-state.png differ diff --git a/.playwright-mcp/dashboard-before.png b/.playwright-mcp/dashboard-before.png new file mode 100644 index 00000000..f45dc554 Binary files /dev/null and b/.playwright-mcp/dashboard-before.png differ diff --git a/.playwright-mcp/dashboard-buy-filter-active.png b/.playwright-mcp/dashboard-buy-filter-active.png new file mode 100644 index 00000000..c42e1fdb Binary files /dev/null and b/.playwright-mcp/dashboard-buy-filter-active.png differ diff --git a/.playwright-mcp/dashboard-compact.png b/.playwright-mcp/dashboard-compact.png new file mode 100644 index 00000000..5a6e3049 Binary files /dev/null and b/.playwright-mcp/dashboard-compact.png differ diff --git a/.playwright-mcp/dashboard-hold-filter-final.png b/.playwright-mcp/dashboard-hold-filter-final.png new file mode 100644 index 00000000..b9dbea78 Binary files /dev/null and b/.playwright-mcp/dashboard-hold-filter-final.png differ diff --git a/.playwright-mcp/dashboard-scrolled.png b/.playwright-mcp/dashboard-scrolled.png new file mode 100644 index 00000000..367aae9b Binary files /dev/null and b/.playwright-mcp/dashboard-scrolled.png differ diff --git a/.playwright-mcp/dashboard-search-visible.png b/.playwright-mcp/dashboard-search-visible.png new file mode 100644 index 00000000..1efea958 Binary files /dev/null and b/.playwright-mcp/dashboard-search-visible.png differ diff --git a/.playwright-mcp/dashboard-with-search.png b/.playwright-mcp/dashboard-with-search.png new file mode 100644 index 00000000..25855731 Binary files /dev/null and b/.playwright-mcp/dashboard-with-search.png differ diff --git a/.playwright-mcp/history-compact.png b/.playwright-mcp/history-compact.png new file mode 100644 index 00000000..9a2afb97 Binary files /dev/null and b/.playwright-mcp/history-compact.png differ diff --git a/.playwright-mcp/history-new-calc.png b/.playwright-mcp/history-new-calc.png new file mode 100644 index 00000000..95f70d68 Binary files /dev/null and b/.playwright-mcp/history-new-calc.png differ diff --git a/.playwright-mcp/history-page-current.png b/.playwright-mcp/history-page-current.png new file mode 100644 index 00000000..39990d98 Binary files /dev/null and b/.playwright-mcp/history-page-current.png differ diff --git a/.playwright-mcp/history-page-updated.png b/.playwright-mcp/history-page-updated.png new file mode 100644 index 00000000..608254ca Binary files /dev/null and b/.playwright-mcp/history-page-updated.png differ diff --git a/.playwright-mcp/history-sparklines-2.png b/.playwright-mcp/history-sparklines-2.png new file mode 100644 index 00000000..7d9c5af3 Binary files /dev/null and b/.playwright-mcp/history-sparklines-2.png differ diff --git a/.playwright-mcp/history-sparklines-more.png b/.playwright-mcp/history-sparklines-more.png new file mode 100644 index 00000000..71225674 Binary files /dev/null and b/.playwright-mcp/history-sparklines-more.png differ diff --git a/.playwright-mcp/history-sparklines-normalized.png b/.playwright-mcp/history-sparklines-normalized.png new file mode 100644 index 00000000..0d5ce53b Binary files /dev/null and b/.playwright-mcp/history-sparklines-normalized.png differ diff --git a/.playwright-mcp/history-sparklines-scrolled.png b/.playwright-mcp/history-sparklines-scrolled.png new file mode 100644 index 00000000..33129dd4 Binary files /dev/null and b/.playwright-mcp/history-sparklines-scrolled.png differ diff --git a/.playwright-mcp/history-sparklines.png b/.playwright-mcp/history-sparklines.png new file mode 100644 index 00000000..7d9c5af3 Binary files /dev/null and b/.playwright-mcp/history-sparklines.png differ diff --git a/.playwright-mcp/history-stock-list.png b/.playwright-mcp/history-stock-list.png new file mode 100644 index 00000000..a3c88907 Binary files /dev/null and b/.playwright-mcp/history-stock-list.png differ diff --git a/.playwright-mcp/mobile-view.png b/.playwright-mcp/mobile-view.png new file mode 100644 index 00000000..eae6f0b6 Binary files /dev/null and b/.playwright-mcp/mobile-view.png differ diff --git a/.playwright-mcp/overall-modal-fixed.png b/.playwright-mcp/overall-modal-fixed.png new file mode 100644 index 00000000..3a06d7f0 Binary files /dev/null and b/.playwright-mcp/overall-modal-fixed.png differ diff --git a/.playwright-mcp/overall-modal-table.png b/.playwright-mcp/overall-modal-table.png new file mode 100644 index 00000000..cdcbcf36 Binary files /dev/null and b/.playwright-mcp/overall-modal-table.png differ diff --git a/.playwright-mcp/overall-modal.png b/.playwright-mcp/overall-modal.png new file mode 100644 index 00000000..3a06d7f0 Binary files /dev/null and b/.playwright-mcp/overall-modal.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-39-38-424Z.png b/.playwright-mcp/page-2026-01-31T10-39-38-424Z.png new file mode 100644 index 00000000..cd6f8045 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-39-38-424Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-41-56-205Z.png b/.playwright-mcp/page-2026-01-31T10-41-56-205Z.png new file mode 100644 index 00000000..e0df99eb Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-41-56-205Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-42-07-250Z.png b/.playwright-mcp/page-2026-01-31T10-42-07-250Z.png new file mode 100644 index 00000000..96ab48c6 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-42-07-250Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-42-21-398Z.png b/.playwright-mcp/page-2026-01-31T10-42-21-398Z.png new file mode 100644 index 00000000..71be46f7 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-42-21-398Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-43-02-673Z.png b/.playwright-mcp/page-2026-01-31T10-43-02-673Z.png new file mode 100644 index 00000000..5970ecb6 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-43-02-673Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-43-38-177Z.png b/.playwright-mcp/page-2026-01-31T10-43-38-177Z.png new file mode 100644 index 00000000..ad8898b0 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-43-38-177Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-44-36-104Z.png b/.playwright-mcp/page-2026-01-31T10-44-36-104Z.png new file mode 100644 index 00000000..fc31ccb0 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-44-36-104Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-44-56-012Z.png b/.playwright-mcp/page-2026-01-31T10-44-56-012Z.png new file mode 100644 index 00000000..8bb9d2ae Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-44-56-012Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-45-15-489Z.png b/.playwright-mcp/page-2026-01-31T10-45-15-489Z.png new file mode 100644 index 00000000..916b50bf Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-45-15-489Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-45-42-676Z.png b/.playwright-mcp/page-2026-01-31T10-45-42-676Z.png new file mode 100644 index 00000000..4d1b71e4 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-45-42-676Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-45-58-686Z.png b/.playwright-mcp/page-2026-01-31T10-45-58-686Z.png new file mode 100644 index 00000000..c50f2026 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-45-58-686Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-46-33-307Z.png b/.playwright-mcp/page-2026-01-31T10-46-33-307Z.png new file mode 100644 index 00000000..ca2e0763 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-46-33-307Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-47-05-151Z.png b/.playwright-mcp/page-2026-01-31T10-47-05-151Z.png new file mode 100644 index 00000000..40448610 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-47-05-151Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-47-42-171Z.png b/.playwright-mcp/page-2026-01-31T10-47-42-171Z.png new file mode 100644 index 00000000..742cb46f Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-47-42-171Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-49-11-278Z.png b/.playwright-mcp/page-2026-01-31T10-49-11-278Z.png new file mode 100644 index 00000000..425d3016 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-49-11-278Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-49-27-614Z.png b/.playwright-mcp/page-2026-01-31T10-49-27-614Z.png new file mode 100644 index 00000000..4c04faae Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-49-27-614Z.png differ diff --git a/.playwright-mcp/page-2026-01-31T10-49-46-409Z.png b/.playwright-mcp/page-2026-01-31T10-49-46-409Z.png new file mode 100644 index 00000000..68827663 Binary files /dev/null and b/.playwright-mcp/page-2026-01-31T10-49-46-409Z.png differ diff --git a/.playwright-mcp/return-modal-formula.png b/.playwright-mcp/return-modal-formula.png new file mode 100644 index 00000000..bd655874 Binary files /dev/null and b/.playwright-mcp/return-modal-formula.png differ diff --git a/.playwright-mcp/return-modal-scrolled.png b/.playwright-mcp/return-modal-scrolled.png new file mode 100644 index 00000000..468e1059 Binary files /dev/null and b/.playwright-mcp/return-modal-scrolled.png differ diff --git a/.playwright-mcp/return-modal.png b/.playwright-mcp/return-modal.png new file mode 100644 index 00000000..57878255 Binary files /dev/null and b/.playwright-mcp/return-modal.png differ diff --git a/.playwright-mcp/stock-detail-compact.png b/.playwright-mcp/stock-detail-compact.png new file mode 100644 index 00000000..1d5665a6 Binary files /dev/null and b/.playwright-mcp/stock-detail-compact.png differ diff --git a/.playwright-mcp/stocks-page-compact.png b/.playwright-mcp/stocks-page-compact.png new file mode 100644 index 00000000..3cbec6f0 Binary files /dev/null and b/.playwright-mcp/stocks-page-compact.png differ diff --git a/frontend/package.json b/frontend/package.json index 9ac3666d..498c5815 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -31,6 +31,7 @@ "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "postcss": "^8.5.6", + "puppeteer": "^24.36.1", "tailwindcss": "^4.1.18", "typescript": "~5.9.3", "typescript-eslint": "^8.46.4", diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 5748cc6f..f0578866 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,25 +1,28 @@ import { Routes, Route } from 'react-router-dom'; +import { ThemeProvider } from './contexts/ThemeContext'; import Header from './components/Header'; import Footer from './components/Footer'; import Dashboard from './pages/Dashboard'; import History from './pages/History'; -import Stocks from './pages/Stocks'; import StockDetail from './pages/StockDetail'; +import About from './pages/About'; function App() { return ( -
{line}
; + })} ++ {metrics.correct_predictions} correct out of {metrics.total_predictions} predictions +
++ Accuracy = (Correct Predictions / Total Predictions) × 100 +
++ = ({metrics.correct_predictions} / {metrics.total_predictions}) × 100 = {(metrics.success_rate * 100).toFixed(1)}% +
++ A BUY prediction is correct if the stock price increased after the recommendation +
++ A SELL prediction is correct if the stock price decreased after the recommendation +
++ A HOLD prediction is correct if the stock price stayed relatively stable (±2% range) +
++ Note: Past performance does not guarantee future results. + Accuracy metrics are based on historical data and are for educational purposes only. + Market conditions can change rapidly and predictions may not hold in future periods. +
+