feat: more work on M2, this time language selection

This commit is contained in:
2026-04-04 19:36:08 +02:00
parent 03dcaea88e
commit cbac412390
9 changed files with 146 additions and 67 deletions

View File

@@ -64,6 +64,7 @@ pub enum Message {
// Settings
SetOfflineMode(bool),
SetUiLocale(UiLocale),
ToggleLocaleDropdown,
// Blog actions (dispatched to engine)
RebuildDatabase,
@@ -113,6 +114,7 @@ pub struct BdsApp {
// Flags
offline_mode: bool,
locale_dropdown_open: bool,
// macOS lifecycle receiver
#[cfg(target_os = "macos")]
@@ -213,6 +215,7 @@ impl BdsApp {
menu_registry: registry,
ui_locale: locale,
offline_mode: false,
locale_dropdown_open: false,
#[cfg(target_os = "macos")]
_lifecycle_rx,
},
@@ -422,9 +425,14 @@ impl BdsApp {
}
Message::SetUiLocale(locale) => {
self.ui_locale = locale;
self.locale_dropdown_open = false;
menu::update_menu_labels(&self.menu_registry, locale);
Task::none()
}
Message::ToggleLocaleDropdown => {
self.locale_dropdown_open = !self.locale_dropdown_open;
Task::none()
}
// ── Blog engine actions ──
Message::RebuildDatabase => {
@@ -474,6 +482,7 @@ impl BdsApp {
0, // post_count — populated in later milestones
0, // media_count — populated in later milestones
self.offline_mode,
self.locale_dropdown_open,
self.ui_locale,
)
}