2.6 KiB
2.6 KiB
| ui_doc_type | component_id | status | source_evidence | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| component | console-rail | 계획 |
|
Console Rail
Component ID: console-rail
Status: 계획
Source Evidence
| Type | Path | Notes |
|---|---|---|
| code | packages/flutter/oto_console/lib/src/oto_console_shell.dart |
_OtoConsoleRail, _RailButton 구현 |
| docs | apps/client/README.md |
embeddable console surface |
| user | 없음 | agent-ui 생성 요청 |
Purpose
콘솔 section 사이를 빠르게 이동하는 고정 rail navigation을 제공한다.
Used By
overview: shell navigationrunners: shell navigationpipelines: shell navigationexecutions: shell navigationartifacts: shell navigationagent: shell navigationsettings: shell navigation
Anatomy
- icon button
- tooltip
- selected visual state
- top main section group
- bottom agent/settings group
Jenkins Reference Alignment
- Jenkins classic left task list의 빠른 destination과 Blue Ocean top navigation의 section switching을 OTO rail로 축약한다.
- Jenkins
Manage Jenkins,Build History, job/run destination에 해당하는 주요 운영 화면은 rail destination으로 노출한다. - Jenkins와 달리 breadcrumb stack은 현재 제공하지 않는다. 세부 route가 늘어나면 shell/header 쪽 후속 후보로 분리한다.
Target Layout Delta
- rail은 현재 60px icon-only 구조를 유지하되, Jenkins 운영 destination grouping에 맞춰 main/workflow/administration grouping을 더 명확히 한다.
- selected state와 tooltip은 유지하고, 필요하면 section ordering을 overview, pipelines, executions, runners, artifacts, settings, agent 순서 후보로 재검토한다.
- 현재 rail 구현은 목표 grouping 전 단계이므로 코드 반영 전 상태는
계획이다.
Variants
- default: 60px rail width, 56x48 button hit area
- selected: primary color icon and tinted background
States
- default
- selected
- hover/focus via Flutter button semantics
- disabled: 없음
Rules
- navigation destination은
OtoConsoleSectionenum과 일치해야 한다. - section 추가 시 rail button, enum, view definition을 함께 갱신하고, visual source가 있으면 frame-view definition도 함께 갱신한다.
Decision History
- 2026-06-24: shell rail을
console-railcomponent로 정의했다.