From b355c9928e994e79556fe491d45ff4630f552ed3 Mon Sep 17 00:00:00 2001 From: asepharyana Date: Tue, 14 Jul 2026 23:09:08 +0700 Subject: [PATCH] style(tui): hapus emoji dekoratif dari judul overlay Co-Authored-By: Claude Sonnet 5 --- src/view/mod.rs | 26 +++++++++++++------------- src/view/workflow.rs | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/view/mod.rs b/src/view/mod.rs index d760f82..3f54d17 100644 --- a/src/view/mod.rs +++ b/src/view/mod.rs @@ -130,7 +130,7 @@ fn render_overlay( // ── Help ────────────────────────────────────────────────────── crate::app::state::types::Overlay::Help => { 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)); let content = crate::resources::HELP_TEXT; let paragraph = Paragraph::new(content) @@ -143,7 +143,7 @@ fn render_overlay( // ── Settings ────────────────────────────────────────────────── crate::app::state::types::Overlay::Settings => { 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)); let lines = vec![ Line::from(Span::styled( @@ -180,7 +180,7 @@ fn render_overlay( // ── Bash ────────────────────────────────────────────────────── crate::app::state::types::Overlay::Bash => { 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)); let lines: Vec = state.session_runtime.as_ref().map(|r| { r.bash_jobs.iter().map(|job| { @@ -207,7 +207,7 @@ fn render_overlay( // ── Quit Confirm ────────────────────────────────────────────── crate::app::state::types::Overlay::QuitConfirm => { 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)); let lines = vec![ Line::from(Span::styled( @@ -232,7 +232,7 @@ fn render_overlay( // ── Key Input ───────────────────────────────────────────────── crate::app::state::types::Overlay::KeyInput => { 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)); let input_text = &state.input.buffer; let display = if input_text.is_empty() { @@ -269,7 +269,7 @@ fn render_overlay( // ── Editor ──────────────────────────────────────────────────── crate::app::state::types::Overlay::Editor => { 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)); let lines = vec![ Line::from(Span::styled( @@ -298,7 +298,7 @@ fn render_overlay( // ── Effort ──────────────────────────────────────────────────── crate::app::state::types::Overlay::Effort => { 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)); let levels = crate::app::mode::effort::EFFORT_LEVELS; let current_idx = crate::app::mode::effort::current_effort(state); @@ -331,7 +331,7 @@ fn render_overlay( // ── MCP ─────────────────────────────────────────────────────── crate::app::state::types::Overlay::Mcp => { 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)); let lines = vec![ Line::from(Span::styled( @@ -376,7 +376,7 @@ fn render_overlay( // ── Rewind ──────────────────────────────────────────────────── crate::app::state::types::Overlay::Rewind => { 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)); let mut lines: Vec = vec![ Line::from(Span::styled( @@ -434,7 +434,7 @@ fn render_overlay( .split(overlay_area); 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) .border_style(Style::default().fg(Theme::BORDER)) .style(Style::default().bg(Theme::BG)); @@ -682,7 +682,7 @@ fn render_overlay( // ── Loading ────────────────────────────────────────────────── crate::app::state::types::Overlay::Loading => { 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)); let spinner = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]; let frame_idx = (state.misc.tick_count as usize) % spinner.len(); @@ -695,7 +695,7 @@ fn render_overlay( // ── Model Selector ─────────────────────────────────────────── crate::app::state::types::Overlay::ModelSelector => { 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)); let mut lines: Vec = vec![ Line::from(Span::styled( @@ -737,7 +737,7 @@ fn render_overlay( // ── Clear Confirm ──────────────────────────────────────────── crate::app::state::types::Overlay::ClearConfirm => { 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)); let lines = vec![ Line::from(Span::styled( diff --git a/src/view/workflow.rs b/src/view/workflow.rs index 21437a7..c60d716 100644 --- a/src/view/workflow.rs +++ b/src/view/workflow.rs @@ -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) { 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() .borders(Borders::ALL)