From 0bb5d9a5d66ae5dde5a611a4e89ffbb40208e831 Mon Sep 17 00:00:00 2001 From: shokollm <270575765+shokollm@users.noreply.github.com> Date: Wed, 8 Apr 2026 13:41:43 +0000 Subject: [PATCH] feat: Implement frontend UI components for issue #10 Created the following components: - ChatInterface: Message input, AI responses, chat history with bot selector dropdown - BotCard: Bot preview card for dashboard - BotSelector: Dropdown to select bot (max 3 bots) - StrategyPreview: Shows parsed strategy config in readable format - SignalChart: Visual representation of signals over time (SVG-based) - BacktestChart: Portfolio value chart with metrics display - ProUpgradeBanner: Upsell banner for Pro features - TokenPicker: Search/select tokens for conditions - ConditionBuilder: UI for building trading conditions Updated pages to use new components: - Dashboard now uses BotCard - Bot detail page now uses ChatInterface and StrategyPreview - Backtest page now uses BacktestChart - Simulate page now uses SignalChart and ProUpgradeBanner --- .../src/lib/components/BacktestChart.svelte | 313 ++++++++++++++++ .../src/lib/components/BotCard.svelte | 127 +++++++ .../src/lib/components/BotSelector.svelte | 94 +++++ .../src/lib/components/ChatInterface.svelte | 300 +++++++++++++++ .../lib/components/ConditionBuilder.svelte | 348 ++++++++++++++++++ .../lib/components/ProUpgradeBanner.svelte | 121 ++++++ .../src/lib/components/SignalChart.svelte | 228 ++++++++++++ .../src/lib/components/StrategyPreview.svelte | 227 ++++++++++++ .../src/lib/components/TokenPicker.svelte | 256 +++++++++++++ src/frontend/src/lib/components/index.ts | 9 + src/frontend/src/routes/bot/[id]/+page.svelte | 229 ++---------- .../src/routes/bot/[id]/backtest/+page.svelte | 51 +++ .../src/routes/bot/[id]/simulate/+page.svelte | 5 + .../src/routes/dashboard/+page.svelte | 74 +--- 14 files changed, 2114 insertions(+), 268 deletions(-) create mode 100644 src/frontend/src/lib/components/BacktestChart.svelte create mode 100644 src/frontend/src/lib/components/BotCard.svelte create mode 100644 src/frontend/src/lib/components/BotSelector.svelte create mode 100644 src/frontend/src/lib/components/ChatInterface.svelte create mode 100644 src/frontend/src/lib/components/ConditionBuilder.svelte create mode 100644 src/frontend/src/lib/components/ProUpgradeBanner.svelte create mode 100644 src/frontend/src/lib/components/SignalChart.svelte create mode 100644 src/frontend/src/lib/components/StrategyPreview.svelte create mode 100644 src/frontend/src/lib/components/TokenPicker.svelte create mode 100644 src/frontend/src/lib/components/index.ts diff --git a/src/frontend/src/lib/components/BacktestChart.svelte b/src/frontend/src/lib/components/BacktestChart.svelte new file mode 100644 index 0000000..9d95ba9 --- /dev/null +++ b/src/frontend/src/lib/components/BacktestChart.svelte @@ -0,0 +1,313 @@ + + +
No backtest results to display
+{bot.description}
+ {/if} + {bot.status} +No conditions set
+Add a condition to define when your strategy triggers
+No signals to display
+No strategy configured yet.
+Describe your trading strategy in the chat to create one.
+No conditions set
+ {:else} +No actions set
+ {:else} +No signals yet. Start a simulation to see trading signals.
{:else} +{bot.description}
- {/if} - {bot.status} -