feat: add filter toggle dashboard card (frontend)

**New Components:**
- FiltersConfigCard — Card with toggle switches for all 11 entry filters
- Switch UI component (shadcn/ui with Radix)
- useFilterConfig hook — Fetch & update filters via API
- FilterConfig types

**Features:**
- Live toggle switches for 11 filters (flash_crash, regime, risk, session, signal_combination, h1_bias, time_filter, cooldown, etc.)
- Real-time updates — no page refresh needed
- Shows enabled/disabled count badge
- Filter descriptions + last updated timestamp
- Auto-refresh every 30 seconds
- Refresh button with loading state
- Error handling + retry

**Integration:**
- Added @radix-ui/react-switch dependency
- Added Row 5 to dashboard (grid-cols-2)
- FiltersConfigCard takes left half of new row

**Usage:**
User can toggle any filter ON/OFF from dashboard → API updates filter_config.json → Bot reloads config next loop (live update, no restart)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
buckybonez
2026-02-09 08:16:21 +07:00
co-authored by Claude Opus 4.6
parent ce3227213e
commit 7d03e7cc7d
8 changed files with 265 additions and 1 deletions
+11
View File
@@ -18,6 +18,7 @@ import {
EntryFilterCard,
PerformanceCard,
ModelCard,
FiltersConfigCard,
} from "@/components/dashboard";
import { Skeleton } from "@/components/ui/skeleton";
import { TooltipProvider } from "@/components/ui/tooltip";
@@ -235,6 +236,16 @@ export default function Dashboard() {
<LogCard logs={data.logs} />
</div>
</div>
{/* Row 5: Filter Controls */}
<div className="flex-[1.4] min-h-0 grid grid-cols-2 gap-1.5">
<div className={cn("stagger-enter h-full", visible[15] && "visible")}>
<FiltersConfigCard />
</div>
<div className={cn("stagger-enter h-full", visible[16] && "visible")}>
{/* Placeholder for future card */}
</div>
</div>
</main>
</div>
</TooltipProvider>