Skip to content

Commit b4b1df5

Browse files
committed
feat: add React frontend (Vite + React 19 + TypeScript)
- ChatPanel with WebSocket streaming, tool labels, thinking indicator - MessageBubble with markdown rendering, plot/video/GIF support, Arraylake snippets - CachePanel for cached datasets with download - ApiKeysPanel for browser-session API key management - CORS middleware in FastAPI for React dev server proxy - Dark theme with glassmorphic design, Inter + JetBrains Mono fonts
1 parent 9f8826b commit b4b1df5

22 files changed

+5332
-1
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,7 @@ deep_searches/
6868
# Generated project dumps
6969
full_project.txt
7070
src_structure.txt
71+
72+
# Frontend
73+
frontend/node_modules/
74+
frontend/dist/

frontend/.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

frontend/index.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!doctype html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8" />
6+
<link rel="icon" href="data:image/svg+xml,🌊" />
7+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
8+
<meta name="description" content="Eurus — Interactive ERA5 Climate Data Analysis Agent" />
9+
<title>Eurus Climate Agent</title>
10+
</head>
11+
12+
<body>
13+
<div id="root"></div>
14+
<script type="module" src="/src/main.tsx"></script>
15+
</body>
16+
17+
</html>

0 commit comments

Comments
 (0)