Skip to content

Commit fcd65df

Browse files
unhappychoiceclaude
andcommitted
feat: use display_name for language names in Analytics Screen
- Update LanguagesView to use LanguageRegistry::get_display_name() - Update OverviewView to show formal language names in Top Languages section - Ensures consistent language display across typing and analytics screens - Languages now show as 'JavaScript' instead of 'js', 'TypeScript' instead of 'ts', etc. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent de2f51b commit fcd65df

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

src/game/views/analytics/languages_view.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ impl LanguagesView {
3737
let name_width = available_width.saturating_sub(cpm_count_width);
3838

3939
for (lang_name, avg_cpm, session_count) in data.top_languages.iter() {
40-
let display_name = if lang_name.len() > name_width {
41-
format!("{}...", &lang_name[..name_width.saturating_sub(3)])
40+
use crate::extractor::models::language::LanguageRegistry;
41+
let display_name_full = LanguageRegistry::get_display_name(Some(lang_name));
42+
43+
let display_name = if display_name_full.len() > name_width {
44+
format!("{}...", &display_name_full[..name_width.saturating_sub(3)])
4245
} else {
43-
lang_name.clone()
46+
display_name_full
4447
};
4548

4649
let cpm_text = format!("{:.1} CPM ({:2})", avg_cpm, session_count);
@@ -107,12 +110,15 @@ impl LanguagesView {
107110
let lang_name = &lang_data.0;
108111
let detailed_stats = data.language_stats.get(lang_name);
109112

113+
use crate::extractor::models::language::LanguageRegistry;
114+
let display_name = LanguageRegistry::get_display_name(Some(lang_name));
115+
110116
let mut lines = vec![
111117
Line::from(vec![
112118
Span::raw(" "),
113119
Span::styled("Language: ", Style::default().fg(Colors::TEXT)),
114120
Span::styled(
115-
&lang_data.0,
121+
display_name,
116122
Style::default()
117123
.fg(Colors::INFO)
118124
.add_modifier(Modifier::BOLD),

src/game/views/analytics/overview_view.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,11 +241,14 @@ impl OverviewView {
241241
let name_width = available_width.saturating_sub(cpm_count_width + index_width);
242242

243243
for (i, (lang_name, avg_cpm, _)) in data.top_languages.iter().enumerate() {
244+
use crate::extractor::models::language::LanguageRegistry;
245+
let display_name_full = LanguageRegistry::get_display_name(Some(lang_name));
246+
244247
// Truncate name to fit available space
245-
let display_name = if lang_name.len() > name_width {
246-
format!("{}...", &lang_name[..name_width.saturating_sub(3)])
248+
let display_name = if display_name_full.len() > name_width {
249+
format!("{}...", &display_name_full[..name_width.saturating_sub(3)])
247250
} else {
248-
lang_name.clone()
251+
display_name_full
249252
};
250253

251254
let index_text = format!("{}. ", i + 1);

0 commit comments

Comments
 (0)