style(tui): hapus emoji dekoratif dari judul overlay

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
asepharyana
2026-07-14 23:41:53 +07:00
co-authored by Claude Sonnet 5
parent aaea300699
commit b355c9928e
2 changed files with 14 additions and 14 deletions
+13 -13
View File
@@ -130,7 +130,7 @@ fn render_overlay(
// ── Help ────────────────────────────────────────────────────── // ── Help ──────────────────────────────────────────────────────
crate::app::state::types::Overlay::Help => { crate::app::state::types::Overlay::Help => {
let block = block let block = block
.title(Span::styled(" Help ", Style::default().fg(Theme::INFO).add_modifier(Modifier::BOLD))) .title(Span::styled(" Help ", Style::default().fg(Theme::INFO).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::INFO)); .border_style(Style::default().fg(Theme::INFO));
let content = crate::resources::HELP_TEXT; let content = crate::resources::HELP_TEXT;
let paragraph = Paragraph::new(content) let paragraph = Paragraph::new(content)
@@ -143,7 +143,7 @@ fn render_overlay(
// ── Settings ────────────────────────────────────────────────── // ── Settings ──────────────────────────────────────────────────
crate::app::state::types::Overlay::Settings => { crate::app::state::types::Overlay::Settings => {
let block = block let block = block
.title(Span::styled(" Settings ", Style::default().fg(Theme::PRIMARY).add_modifier(Modifier::BOLD))) .title(Span::styled(" Settings ", Style::default().fg(Theme::PRIMARY).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::PRIMARY)); .border_style(Style::default().fg(Theme::PRIMARY));
let lines = vec![ let lines = vec![
Line::from(Span::styled( Line::from(Span::styled(
@@ -180,7 +180,7 @@ fn render_overlay(
// ── Bash ────────────────────────────────────────────────────── // ── Bash ──────────────────────────────────────────────────────
crate::app::state::types::Overlay::Bash => { crate::app::state::types::Overlay::Bash => {
let block = block let block = block
.title(Span::styled(" 💻 Bash Jobs ", Style::default().fg(Theme::ACCENT_ORANGE).add_modifier(Modifier::BOLD))) .title(Span::styled(" Bash Jobs ", Style::default().fg(Theme::ACCENT_ORANGE).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::ACCENT_ORANGE)); .border_style(Style::default().fg(Theme::ACCENT_ORANGE));
let lines: Vec<Line> = state.session_runtime.as_ref().map(|r| { let lines: Vec<Line> = state.session_runtime.as_ref().map(|r| {
r.bash_jobs.iter().map(|job| { r.bash_jobs.iter().map(|job| {
@@ -207,7 +207,7 @@ fn render_overlay(
// ── Quit Confirm ────────────────────────────────────────────── // ── Quit Confirm ──────────────────────────────────────────────
crate::app::state::types::Overlay::QuitConfirm => { crate::app::state::types::Overlay::QuitConfirm => {
let block = block let block = block
.title(Span::styled(" 🚪 Quit ", Style::default().fg(Theme::ERROR).add_modifier(Modifier::BOLD))) .title(Span::styled(" Quit ", Style::default().fg(Theme::ERROR).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::ERROR)); .border_style(Style::default().fg(Theme::ERROR));
let lines = vec![ let lines = vec![
Line::from(Span::styled( Line::from(Span::styled(
@@ -232,7 +232,7 @@ fn render_overlay(
// ── Key Input ───────────────────────────────────────────────── // ── Key Input ─────────────────────────────────────────────────
crate::app::state::types::Overlay::KeyInput => { crate::app::state::types::Overlay::KeyInput => {
let block = block let block = block
.title(Span::styled(" 🔑 API Key ", Style::default().fg(Theme::WARNING).add_modifier(Modifier::BOLD))) .title(Span::styled(" API Key ", Style::default().fg(Theme::WARNING).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::WARNING)); .border_style(Style::default().fg(Theme::WARNING));
let input_text = &state.input.buffer; let input_text = &state.input.buffer;
let display = if input_text.is_empty() { let display = if input_text.is_empty() {
@@ -269,7 +269,7 @@ fn render_overlay(
// ── Editor ──────────────────────────────────────────────────── // ── Editor ────────────────────────────────────────────────────
crate::app::state::types::Overlay::Editor => { crate::app::state::types::Overlay::Editor => {
let block = block let block = block
.title(Span::styled(" ✏️ Editor ", Style::default().fg(Theme::PRIMARY).add_modifier(Modifier::BOLD))) .title(Span::styled(" Editor ", Style::default().fg(Theme::PRIMARY).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::PRIMARY)); .border_style(Style::default().fg(Theme::PRIMARY));
let lines = vec![ let lines = vec![
Line::from(Span::styled( Line::from(Span::styled(
@@ -298,7 +298,7 @@ fn render_overlay(
// ── Effort ──────────────────────────────────────────────────── // ── Effort ────────────────────────────────────────────────────
crate::app::state::types::Overlay::Effort => { crate::app::state::types::Overlay::Effort => {
let block = block let block = block
.title(Span::styled(" 🎯 Effort Level ", Style::default().fg(Theme::ACCENT_PURPLE).add_modifier(Modifier::BOLD))) .title(Span::styled(" Effort Level ", Style::default().fg(Theme::ACCENT_PURPLE).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::ACCENT_PURPLE)); .border_style(Style::default().fg(Theme::ACCENT_PURPLE));
let levels = crate::app::mode::effort::EFFORT_LEVELS; let levels = crate::app::mode::effort::EFFORT_LEVELS;
let current_idx = crate::app::mode::effort::current_effort(state); let current_idx = crate::app::mode::effort::current_effort(state);
@@ -331,7 +331,7 @@ fn render_overlay(
// ── MCP ─────────────────────────────────────────────────────── // ── MCP ───────────────────────────────────────────────────────
crate::app::state::types::Overlay::Mcp => { crate::app::state::types::Overlay::Mcp => {
let block = block let block = block
.title(Span::styled(" 🔌 MCP Servers ", Style::default().fg(Theme::INFO).add_modifier(Modifier::BOLD))) .title(Span::styled(" MCP Servers ", Style::default().fg(Theme::INFO).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::INFO)); .border_style(Style::default().fg(Theme::INFO));
let lines = vec![ let lines = vec![
Line::from(Span::styled( Line::from(Span::styled(
@@ -376,7 +376,7 @@ fn render_overlay(
// ── Rewind ──────────────────────────────────────────────────── // ── Rewind ────────────────────────────────────────────────────
crate::app::state::types::Overlay::Rewind => { crate::app::state::types::Overlay::Rewind => {
let block = block let block = block
.title(Span::styled(" Rewind ", Style::default().fg(Theme::ACCENT_ORANGE).add_modifier(Modifier::BOLD))) .title(Span::styled(" Rewind ", Style::default().fg(Theme::ACCENT_ORANGE).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::ACCENT_ORANGE)); .border_style(Style::default().fg(Theme::ACCENT_ORANGE));
let mut lines: Vec<Line> = vec![ let mut lines: Vec<Line> = vec![
Line::from(Span::styled( Line::from(Span::styled(
@@ -434,7 +434,7 @@ fn render_overlay(
.split(overlay_area); .split(overlay_area);
let left_block = Block::default() let left_block = Block::default()
.title(Span::styled(" 📚 Lessons ", Style::default().fg(Theme::ACCENT_PURPLE).add_modifier(Modifier::BOLD))) .title(Span::styled(" Lessons ", Style::default().fg(Theme::ACCENT_PURPLE).add_modifier(Modifier::BOLD)))
.borders(Borders::ALL) .borders(Borders::ALL)
.border_style(Style::default().fg(Theme::BORDER)) .border_style(Style::default().fg(Theme::BORDER))
.style(Style::default().bg(Theme::BG)); .style(Style::default().bg(Theme::BG));
@@ -682,7 +682,7 @@ fn render_overlay(
// ── Loading ────────────────────────────────────────────────── // ── Loading ──────────────────────────────────────────────────
crate::app::state::types::Overlay::Loading => { crate::app::state::types::Overlay::Loading => {
let block = block let block = block
.title(Span::styled(" Loading ", Style::default().fg(Theme::WARNING).add_modifier(Modifier::BOLD))) .title(Span::styled(" Loading ", Style::default().fg(Theme::WARNING).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::WARNING)); .border_style(Style::default().fg(Theme::WARNING));
let spinner = ["", "", "", "", "", "", "", "", "", ""]; let spinner = ["", "", "", "", "", "", "", "", "", ""];
let frame_idx = (state.misc.tick_count as usize) % spinner.len(); let frame_idx = (state.misc.tick_count as usize) % spinner.len();
@@ -695,7 +695,7 @@ fn render_overlay(
// ── Model Selector ─────────────────────────────────────────── // ── Model Selector ───────────────────────────────────────────
crate::app::state::types::Overlay::ModelSelector => { crate::app::state::types::Overlay::ModelSelector => {
let block = block let block = block
.title(Span::styled(" 🧠 Model Selector ", Style::default().fg(Theme::ACCENT_PURPLE).add_modifier(Modifier::BOLD))) .title(Span::styled(" Model Selector ", Style::default().fg(Theme::ACCENT_PURPLE).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::ACCENT_PURPLE)); .border_style(Style::default().fg(Theme::ACCENT_PURPLE));
let mut lines: Vec<Line> = vec![ let mut lines: Vec<Line> = vec![
Line::from(Span::styled( Line::from(Span::styled(
@@ -737,7 +737,7 @@ fn render_overlay(
// ── Clear Confirm ──────────────────────────────────────────── // ── Clear Confirm ────────────────────────────────────────────
crate::app::state::types::Overlay::ClearConfirm => { crate::app::state::types::Overlay::ClearConfirm => {
let block = block let block = block
.title(Span::styled(" 🗑️ Clear Transcript ", Style::default().fg(Theme::WARNING).add_modifier(Modifier::BOLD))) .title(Span::styled(" Clear Transcript ", Style::default().fg(Theme::WARNING).add_modifier(Modifier::BOLD)))
.border_style(Style::default().fg(Theme::WARNING)); .border_style(Style::default().fg(Theme::WARNING));
let lines = vec![ let lines = vec![
Line::from(Span::styled( Line::from(Span::styled(
+1 -1
View File
@@ -49,7 +49,7 @@ fn state_color(state: AgentState) -> Color {
pub fn draw_workflow_panel(frame: &mut Frame, area: Rect, state: &crate::app::state::rest::AppStateRest) { pub fn draw_workflow_panel(frame: &mut Frame, area: Rect, state: &crate::app::state::rest::AppStateRest) {
use ratatui::layout::{Constraint, Direction, Layout}; use ratatui::layout::{Constraint, Direction, Layout};
let title = Span::styled(" Workflow ", Style::default().fg(Theme::PRIMARY).add_modifier(Modifier::BOLD)); let title = Span::styled(" Workflow ", Style::default().fg(Theme::PRIMARY).add_modifier(Modifier::BOLD));
let block = Block::default() let block = Block::default()
.borders(Borders::ALL) .borders(Borders::ALL)