mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 10:51:57 +00:00
feat(l2): light theme
Settings > Display > Theme: Dark / Light (NVS mc_ui/light). The colour tokens are set once before anything is built, so a change restarts the device. Text on an accent fill is the new ON_ACCENT (it was BG, white in the light theme); each accent has a deeper hand-picked light variant that reads on white and takes white text. The map's empty-tile fill and grid and the areas' outlines follow the theme too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -404,12 +404,12 @@ void UITask::accentRow(lv_obj_t* body) { // a row of a group: the label over t
|
||||
lv_obj_t* sw = lv_button_create(row);
|
||||
lv_obj_set_size(sw, 32, 32);
|
||||
lv_obj_set_style_radius(sw, LV_RADIUS_CIRCLE, 0);
|
||||
lv_obj_set_style_bg_color(sw, lv_color_hex(theme::ACCENTS[i].col), 0);
|
||||
lv_obj_set_style_bg_color(sw, lv_color_hex(theme::s_light ? theme::ACCENTS[i].light : theme::ACCENTS[i].col), 0);
|
||||
bool cur = i == theme::s_accent;
|
||||
lv_obj_set_style_border_width(sw, cur ? 3 : 0, 0);
|
||||
lv_obj_set_style_border_color(sw, lv_color_hex(theme::TEXT), 0);
|
||||
lv_obj_add_event_cb(sw, onAccent, LV_EVENT_CLICKED, (void*)(uintptr_t)i);
|
||||
if (cur) lv_obj_center(label(sw, LV_SYMBOL_OK, THEME_FONT_SMALL, theme::BG));
|
||||
if (cur) lv_obj_center(label(sw, LV_SYMBOL_OK, THEME_FONT_SMALL, theme::ON_ACCENT));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user