fix(blocks-palette): message placeholders, SVG arrows, tests follow the new palette

#1573's five formatted block messages carried {}/{name} in every locale,
so the catalog never filled them and the UI printed the brace text; they
use the __ocs_fmt_0__ marker now. The Options collapse arrow, the library
up button and the folder picker are SVG icons instead of glyph text, and
the Details header drops its sort glyph. The contrast test follows the
cards to the weak surface pair and the palette test closes with
BLOCKSPALETTECLOSE, since BLOCKSPALETTE now only opens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-02 10:15:43 +03:00
1 parent 7a6908c7ca
commit 369dc93029
23 files changed
+128 -111

No files matched your search

+5 -5
View File
@@ -4061,11 +4061,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = إنشاء .create = إنشاء
.boolean = عمليات منطقية .boolean = عمليات منطقية
+5 -5
View File
@@ -4048,11 +4048,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Създаване .create = Създаване
.boolean = Булеви операции .boolean = Булеви операции
+5 -5
View File
@@ -4046,11 +4046,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Vytvořit .create = Vytvořit
.boolean = Booleovské operace .boolean = Booleovské operace
+5 -5
View File
@@ -4047,11 +4047,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Erstellen .create = Erstellen
.boolean = Boolesche Operationen .boolean = Boolesche Operationen
+5 -5
View File
@@ -4049,11 +4049,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Δημιουργία .create = Δημιουργία
.boolean = Δυαδική πράξη .boolean = Δυαδική πράξη
+5 -5
View File
@@ -4050,11 +4050,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Create .create = Create
.boolean = Boolean .boolean = Boolean
+5 -5
View File
@@ -4049,11 +4049,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Crear .create = Crear
.boolean = Booleanas .boolean = Booleanas
+5 -5
View File
@@ -4048,11 +4048,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Luo .create = Luo
.boolean = Boolen operaatiot .boolean = Boolen operaatiot
+5 -5
View File
@@ -4049,11 +4049,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Créer .create = Créer
.boolean = Opérations booléennes .boolean = Opérations booléennes
+5 -5
View File
@@ -4037,11 +4037,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = बनाएँ .create = बनाएँ
.boolean = बूलियन संक्रियाएँ .boolean = बूलियन संक्रियाएँ
+5 -5
View File
@@ -4048,11 +4048,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Létrehozás .create = Létrehozás
.boolean = Logikai műveletek .boolean = Logikai műveletek
+5 -5
View File
@@ -4048,11 +4048,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Crea .create = Crea
.boolean = Operazioni booleane .boolean = Operazioni booleane
+5 -5
View File
@@ -4037,11 +4037,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = 作成 .create = 作成
.boolean = ブール演算 .boolean = ブール演算
+5 -5
View File
@@ -4048,11 +4048,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = 생성 .create = 생성
.boolean = 불리언 연산 .boolean = 불리언 연산
+5 -5
View File
@@ -4047,11 +4047,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Maken .create = Maken
.boolean = Booleaanse bewerkingen .boolean = Booleaanse bewerkingen
+5 -5
View File
@@ -4048,11 +4048,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Utwórz .create = Utwórz
.boolean = Operacje boolowskie .boolean = Operacje boolowskie
+5 -5
View File
@@ -4049,11 +4049,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Criar .create = Criar
.boolean = Operações booleanas .boolean = Operações booleanas
+5 -5
View File
@@ -4050,11 +4050,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = Создание .create = Создание
.boolean = Булевы операции .boolean = Булевы операции
+5 -5
View File
@@ -4032,11 +4032,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = 创建 .create = 创建
.boolean = 布尔运算 .boolean = 布尔运算
+5 -5
View File
@@ -4044,11 +4044,11 @@ insert =
.bp-select-library = Select a Block Library Folder .bp-select-library = Select a Block Library Folder
.bp-view-small = Small Icons .bp-view-small = Small Icons
.bp-on-screen = specified on screen .bp-on-screen = specified on screen
.bp-block-not-found = Block "{}" not found. .bp-block-not-found = Block "__ocs_fmt_0__" not found.
.bp-block-redefined = Block "{name}" redefined. .bp-block-redefined = Block "__ocs_fmt_0__" redefined.
.bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit.
.bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed.
.bp-block-removed = Block "{name}" removed. .bp-block-removed = Block "__ocs_fmt_0__" removed.
model = model =
.create = 建立 .create = 建立
.boolean = 布林運算 .boolean = 布林運算
+3
View File
@@ -1770,7 +1770,10 @@ mod tests {
app.dock_expanded == Some(crate::ui::dock::PanelId::BlockPalette), app.dock_expanded == Some(crate::ui::dock::PanelId::BlockPalette),
"palette must open expanded, not as the collapsed bar" "palette must open expanded, not as the collapsed bar"
); );
// BLOCKSPALETTE only opens; BLOCKSPALETTECLOSE closes.
let _ = app.run_command_line("BLOCKSPALETTE"); let _ = app.run_command_line("BLOCKSPALETTE");
assert!(app.show_block_palette);
let _ = app.run_command_line("BLOCKSPALETTECLOSE");
assert!(!app.show_block_palette); assert!(!app.show_block_palette);
} }
+9 -7
View File
@@ -480,14 +480,16 @@ fn test_block_palette_contrast() {
// a hardcoded foreground, these equality checks fail on every theme // a hardcoded foreground, these equality checks fail on every theme
// whose surface text is not pure white. // whose surface text is not pure white.
let (normal_bg, normal_fg) = block_card_colors(theme, false, BtnStatus::Active); let (normal_bg, normal_fg) = block_card_colors(theme, false, BtnStatus::Active);
// Cards sit on the dock's base surface, so they take the weak pair
// to read as cards.
assert_eq!( assert_eq!(
normal_bg, p.background.base.color, normal_bg, p.background.weak.color,
"Theme {:?} block card normal background drifted from base pair", "Theme {:?} block card normal background drifted from weak pair",
theme theme
); );
assert_eq!( assert_eq!(
normal_fg, p.background.base.text, normal_fg, p.background.weak.text,
"Theme {:?} block card normal label must use base text (was hardcoded WHITE)", "Theme {:?} block card normal label must use weak text (was hardcoded WHITE)",
theme theme
); );
@@ -505,11 +507,11 @@ fn test_block_palette_contrast() {
theme theme
); );
// Default-branch statuses (Active/Disabled/Focused/...) share the base pair. // Default-branch statuses (Active/Disabled/Focused/...) share the weak pair.
let (_, disabled_fg) = block_card_colors(theme, false, BtnStatus::Disabled); let (_, disabled_fg) = block_card_colors(theme, false, BtnStatus::Disabled);
assert_eq!( assert_eq!(
disabled_fg, p.background.base.text, disabled_fg, p.background.weak.text,
"Theme {:?} block card default-state label must use base text", "Theme {:?} block card default-state label must use weak text",
theme theme
); );
+16 -4
View File
@@ -587,7 +587,11 @@ fn options_card<'a>(palette: &'a BlockPalette) -> Element<'a, Message> {
row![ row![
text(crate::t!("Options").to_uppercase()).size(10).style(accent_text), text(crate::t!("Options").to_uppercase()).size(10).style(accent_text),
Space::new().width(Fill), Space::new().width(Fill),
text(if palette.options_collapsed { "▸" } else { "▾" }).size(22), if palette.options_collapsed {
crate::ui::icons::themed_arrow_right(12.0)
} else {
crate::ui::icons::themed_arrow_down(12.0)
},
] ]
.align_y(iced::Center), .align_y(iced::Center),
) )
@@ -705,7 +709,10 @@ pub fn view(palette: &BlockPalette, width: f32, auto_collapse: bool) -> Element<
.text_size(11) .text_size(11)
.padding([3, 6]) .padding([3, 6])
.width(Fill), .width(Fill),
button(text("…").size(12)).on_press(pm(BlockPaletteMsg::LibraryBrowse)).style(button_style(false)).padding([3, 8]), button(crate::ui::icons::themed(crate::ui::icons::FOLDER_OPEN, 14.0))
.on_press(pm(BlockPaletteMsg::LibraryBrowse))
.style(button_style(false))
.padding([3, 8]),
] ]
.spacing(4) .spacing(4)
.align_y(iced::Center); .align_y(iced::Center);
@@ -713,7 +720,12 @@ pub fn view(palette: &BlockPalette, width: f32, auto_collapse: bool) -> Element<
palette.libraries.first().is_some_and(|root| d != &PathBuf::from(root)) palette.libraries.first().is_some_and(|root| d != &PathBuf::from(root))
}); });
if in_sub { if in_sub {
lib_row = lib_row.push(button(text("↑").size(12)).on_press(pm(BlockPaletteMsg::LibraryUp)).style(button_style(false)).padding([3, 8])); lib_row = lib_row.push(
button(crate::ui::icons::themed_arrow_up(12.0))
.on_press(pm(BlockPaletteMsg::LibraryUp))
.style(button_style(false))
.padding([3, 8]),
);
} }
top = top.push(lib_row); top = top.push(lib_row);
if let (Some(root), Some(dir)) = (palette.libraries.first(), palette.library_dir.as_ref()) { if let (Some(root), Some(dir)) = (palette.libraries.first(), palette.library_dir.as_ref()) {
@@ -767,7 +779,7 @@ pub fn view(palette: &BlockPalette, width: f32, auto_collapse: bool) -> Element<
col = col.push( col = col.push(
row![ row![
text(crate::t!("Icon")).size(11).style(muted_style).width(Length::Fixed(40.0)), text(crate::t!("Icon")).size(11).style(muted_style).width(Length::Fixed(40.0)),
text(format!("{} ▲", crate::t!("Name"))).size(11).style(muted_style).width(Fill), text(crate::t!("Name")).size(11).style(muted_style).width(Fill),
text(crate::t!("Annotative / Dynamic")).size(11).style(muted_style).width(Length::Fixed(140.0)), text(crate::t!("Annotative / Dynamic")).size(11).style(muted_style).width(Length::Fixed(140.0)),
] ]
.spacing(4), .spacing(4),