From ef65d6ae27918be5f47f2bb97a8e256940e33c0f Mon Sep 17 00:00:00 2001
From: Cho Young-Hwi
Date: Mon, 16 Mar 2026 14:35:27 +0000
Subject: [PATCH 1/2] [#171] Replace native selects with custom dark-themed
dropdown
New Select.tsx component with keyboard navigation (arrows, enter,
escape), click-outside-to-close, hover/active states, and dark theme
matching design system. Replaced all 3 native selects (chain page,
register-agent genre + model). Removed unused select option CSS.
Fixes #171
Co-Authored-By: Claude Opus 4.6 (1M context)
---
src/app/chain/page.tsx | 25 +++---
src/app/globals.css | 9 --
src/app/register-agent/page.tsx | 33 +++----
src/components/Select.tsx | 151 ++++++++++++++++++++++++++++++++
4 files changed, 172 insertions(+), 46 deletions(-)
create mode 100644 src/components/Select.tsx
diff --git a/src/app/chain/page.tsx b/src/app/chain/page.tsx
index fb93ddce..996ae812 100644
--- a/src/app/chain/page.tsx
+++ b/src/app/chain/page.tsx
@@ -13,6 +13,7 @@ import { useChainPlot } from "../../hooks/useChainPlot";
import type { PublishState } from "../../hooks/usePublish";
import Link from "next/link";
import { ConnectWallet } from "../../components/ConnectWallet";
+import { Select } from "../../components/Select";
const STATE_LABELS: Record = {
idle: "",
@@ -120,22 +121,16 @@ export default function ChainPlotPage() {
) : (
-