<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tailwind on ICE-ICE-BEAR-BLOG</title><link>https://ice-ice-bear.github.io/ko/tags/tailwind/</link><description>Recent content in Tailwind on ICE-ICE-BEAR-BLOG</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Mon, 13 Apr 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ice-ice-bear.github.io/ko/tags/tailwind/index.xml" rel="self" type="application/rss+xml"/><item><title>trading-agent 개발 로그 #11 — 설정 페이지, 커맨드 팔레트, shadcn/ui 마이그레이션</title><link>https://ice-ice-bear.github.io/ko/posts/2026-04-13-trading-agent-dev11/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0900</pubDate><guid>https://ice-ice-bear.github.io/ko/posts/2026-04-13-trading-agent-dev11/</guid><description>&lt;img src="https://ice-ice-bear.github.io/" alt="Featured image of post trading-agent 개발 로그 #11 — 설정 페이지, 커맨드 팔레트, shadcn/ui 마이그레이션" /&gt;&lt;h2 id="개요"&gt;개요
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://ice-ice-bear.github.io/posts/2026-04-10-trading-agent-dev10/" &gt;이전 글: #10&lt;/a&gt;에 이은 11회차. 이번 사이클은 전부 UI 작업이다 — 설정 페이지가 안착하고, 커맨드 팔레트가 출시되고, 레거시 CSS 더미가 마침내 삭제된다. 5개 커밋 모두 프런트엔드.&lt;/p&gt;
&lt;h2 id="아키텍처-전환"&gt;아키텍처 전환
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph LR
 A[기존: 자체 CSS &amp;lt;br/&amp;gt; + 커스텀 컴포넌트] --&gt; B[shadcn/ui &amp;lt;br/&amp;gt; + Tailwind]
 B --&gt; C[설정 페이지]
 B --&gt; D[커맨드 팔레트]
 B --&gt; E[다크 모드 &amp;lt;br/&amp;gt; 차트 정돈]&lt;/pre&gt;&lt;p&gt;shadcn/ui + Tailwind로의 마이그레이션이 이번 사이클의 나머지를 잠금 해제한다. 베이스 컴포넌트가 일관되면, 설정 페이지와 커맨드 팔레트는 처음부터 빌드가 아니라 조합 연습이 된다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="설정-페이지"&gt;설정 페이지
&lt;/h2&gt;&lt;h3 id="배경"&gt;배경
&lt;/h3&gt;&lt;p&gt;거래 설정, 리스크 임계값, 팩터 가중치, 스케줄러가 흩어진 모달 다이얼로그나 하드코딩된 YAML에 살고 있었다. 운영자에게 모든 것을 튜닝할 한 곳이 필요했다.&lt;/p&gt;
&lt;h3 id="구현"&gt;구현
&lt;/h3&gt;&lt;p&gt;4탭 설정 뷰:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Trading config&lt;/strong&gt; — 주문 라우팅, 기본 limit/market 동작, 포지션 사이징 규칙&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Risk config&lt;/strong&gt; — 최대 포지션 크기, 일일 손실 캡, 드로다운 정지 임계값&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Factor weights&lt;/strong&gt; — 펀더멘털/기술/심리 복합 점수의 슬라이더&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheduler&lt;/strong&gt; — 각 에이전트의 cron 스타일 스케줄 테이블&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;각 탭은 독립 컴포넌트(&lt;code&gt;settings/trading-config.tsx&lt;/code&gt;, &lt;code&gt;settings/risk-config.tsx&lt;/code&gt; 등)이며 동일한 백엔드 설정 엔드포인트와 연결된다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="커맨드-팔레트"&gt;커맨드 팔레트
&lt;/h2&gt;&lt;p&gt;Linear/VS Code 커맨드 팔레트 패턴에서 영감. &lt;code&gt;Cmd-K&lt;/code&gt;가 네비게이션 라우트와 에이전트 빠른 액션(&amp;ldquo;Run discovery scan&amp;rdquo;, &amp;ldquo;Pause all positions&amp;rdquo;, &amp;ldquo;Open risk dashboard&amp;rdquo;)에 대한 fuzzy search 오버레이를 연다. 파워 유저의 클릭을 줄인다 — 무엇을 원하는지 아는 운영자가 메뉴 세 개를 클릭할 필요가 없어야 한다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="레거시-css-정리"&gt;레거시 CSS 정리
&lt;/h2&gt;&lt;p&gt;shadcn 마이그레이션이 수십 개의 고아 CSS 파일과 컴포넌트 셸을 남겼다. 이 커밋이 그것들을 삭제한다. 순수 삭제 — 동작 변경 없음, 그러나 어떤 컴포넌트 구현이 정본인지에 대한 혼란을 제거. 이 커밋 이후 dashboard, signals, stockinfo 뷰는 모두 shadcn/ui로만 돈다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="다크-모드--레이아웃-정돈"&gt;다크 모드 + 레이아웃 정돈
&lt;/h2&gt;&lt;p&gt;마이그레이션의 가시적 회귀를 정리하는 마지막 두 커밋:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;다크 테마용 차트 색상과 툴팁 스타일 재튜닝(Recharts 기본은 다크에서 바랜 듯 보임)&lt;/li&gt;
&lt;li&gt;Hero card stat 텍스트 정렬, KPI 레이블 위계, 대시보드 레이아웃 간격 — 페이지를 의도적으로 보이게 만드는 작은 것들&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="커밋-로그"&gt;커밋 로그
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;메시지&lt;/th&gt;
 &lt;th&gt;영역&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;feat(ui): settings page with trading config, risk config, factor weights, scheduler&lt;/td&gt;
 &lt;td&gt;settings/*&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;feat(ui): command palette with navigation and agent quick actions&lt;/td&gt;
 &lt;td&gt;layout/command-palette.tsx&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;chore(ui): remove old CSS and component files replaced by shadcn/ui + Tailwind&lt;/td&gt;
 &lt;td&gt;(삭제)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fix(ui): dark mode polish — chart colors, tooltip styles, contrast adjustments&lt;/td&gt;
 &lt;td&gt;dashboard/*&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;fix(ui): dashboard text display fixes — hero card stats, KPIs, layout spacing&lt;/td&gt;
 &lt;td&gt;dashboard/hero-card.tsx, KPIs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="인사이트"&gt;인사이트
&lt;/h2&gt;&lt;p&gt;이번 사이클은 교과서적인 &amp;ldquo;디자인 시스템 마이그레이션이 기능을 잠금 해제한다&amp;rdquo; 서사다. 이전 10 사이클이 새 UI 표면을 추가하는 것을 고통스럽게 만들고 있었다 — 새 표면이 매번 새 컴포넌트 발명을 의미했기 때문. shadcn/ui로 commit한 뒤, 다음 두 기능(설정 페이지, 커맨드 팔레트)이 압도적으로 빨리 출시되었다. 발명이 아니라 조합 작업이었기 때문이다. 교훈 — UI 코드베이스가 당신을 늦추고 있다면, 병목은 거의 항상 누락된 프리미티브이지 누락된 기능이 아니다.&lt;/p&gt;</description></item></channel></rss>