Update chore tracker UI: Change button styles and icons for Jordyn, Declan, and Chloe for improved visibility and consistency.

This commit is contained in:
Joshua King
2026-02-28 09:57:19 -05:00
parent 7af2d0681c
commit f0d6e97cd0
4 changed files with 49 additions and 53 deletions

View File

@@ -137,12 +137,12 @@ font:
id: font_mdi_large id: font_mdi_large
size: 48 size: 48
bpp: 4 bpp: 4
glyphs: 󰂨󰇹󰈙󰉥󰋣󰏧󰖸󰦩󰲙󰾞󱞵󱬥 glyphs: 󰂨󰄛󰈙󰉥󰋣󰏧󰖸󰦩󰾞󱑷󱚠󱬥
- file: "fonts/materialdesignicons-webfont.ttf" - file: "fonts/materialdesignicons-webfont.ttf"
id: font_mdi_small id: font_mdi_small
size: 32 size: 32
bpp: 4 bpp: 4
glyphs: 󰂨󰇹󰈙󰉥󰋣󰏧󰖸󰦩󰲙󰾞󱞵󱬥 glyphs: 󰂨󰄛󰈙󰉥󰋣󰏧󰖸󰦩󰾞󱑷󱚠󱬥
# ── Switches — backlight raw + one per chore per kid ───────────────────────── # ── Switches — backlight raw + one per chore per kid ─────────────────────────
switch: switch:
@@ -547,9 +547,9 @@ script:
lv_label_set_text(id(home_status_jordyn), "\u2713 all done!"); lv_label_set_text(id(home_status_jordyn), "\u2713 all done!");
lv_obj_set_style_text_color(id(home_status_jordyn), lv_color_hex(0xFFFFFF), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_jordyn), lv_color_hex(0xFFFFFF), LV_PART_MAIN);
} else { } else {
lv_obj_set_style_bg_opa(id(home_btn_jordyn), LV_OPA_TRANSP, LV_PART_MAIN); lv_obj_set_style_bg_opa(id(home_btn_jordyn), LV_OPA_COVER, LV_PART_MAIN);
lv_obj_set_style_border_color(id(home_btn_jordyn), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_bg_color(id(home_btn_jordyn), lv_color_hex(0xFF4757), LV_PART_MAIN);
lv_obj_set_style_border_width(id(home_btn_jordyn), 5, LV_PART_MAIN); lv_obj_set_style_border_width(id(home_btn_jordyn), 0, LV_PART_MAIN);
snprintf(buf, sizeof(buf), "%d left", total - done); snprintf(buf, sizeof(buf), "%d left", total - done);
lv_label_set_text(id(home_status_jordyn), buf); lv_label_set_text(id(home_status_jordyn), buf);
lv_obj_set_style_text_color(id(home_status_jordyn), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_jordyn), lv_color_hex(0xFF4757), LV_PART_MAIN);
@@ -648,9 +648,9 @@ script:
lv_label_set_text(id(home_status_declan), "\u2713 all done!"); lv_label_set_text(id(home_status_declan), "\u2713 all done!");
lv_obj_set_style_text_color(id(home_status_declan), lv_color_hex(0xFFFFFF), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_declan), lv_color_hex(0xFFFFFF), LV_PART_MAIN);
} else { } else {
lv_obj_set_style_bg_opa(id(home_btn_declan), LV_OPA_TRANSP, LV_PART_MAIN); lv_obj_set_style_bg_opa(id(home_btn_declan), LV_OPA_COVER, LV_PART_MAIN);
lv_obj_set_style_border_color(id(home_btn_declan), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_bg_color(id(home_btn_declan), lv_color_hex(0xFF4757), LV_PART_MAIN);
lv_obj_set_style_border_width(id(home_btn_declan), 5, LV_PART_MAIN); lv_obj_set_style_border_width(id(home_btn_declan), 0, LV_PART_MAIN);
snprintf(buf, sizeof(buf), "%d left", total - done); snprintf(buf, sizeof(buf), "%d left", total - done);
lv_label_set_text(id(home_status_declan), buf); lv_label_set_text(id(home_status_declan), buf);
lv_obj_set_style_text_color(id(home_status_declan), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_declan), lv_color_hex(0xFF4757), LV_PART_MAIN);
@@ -740,9 +740,9 @@ script:
lv_label_set_text(id(home_status_chloe), "\u2713 all done!"); lv_label_set_text(id(home_status_chloe), "\u2713 all done!");
lv_obj_set_style_text_color(id(home_status_chloe), lv_color_hex(0xFFFFFF), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_chloe), lv_color_hex(0xFFFFFF), LV_PART_MAIN);
} else { } else {
lv_obj_set_style_bg_opa(id(home_btn_chloe), LV_OPA_TRANSP, LV_PART_MAIN); lv_obj_set_style_bg_opa(id(home_btn_chloe), LV_OPA_COVER, LV_PART_MAIN);
lv_obj_set_style_border_color(id(home_btn_chloe), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_bg_color(id(home_btn_chloe), lv_color_hex(0xFF4757), LV_PART_MAIN);
lv_obj_set_style_border_width(id(home_btn_chloe), 5, LV_PART_MAIN); lv_obj_set_style_border_width(id(home_btn_chloe), 0, LV_PART_MAIN);
snprintf(buf, sizeof(buf), "%d left", total - done); snprintf(buf, sizeof(buf), "%d left", total - done);
lv_label_set_text(id(home_status_chloe), buf); lv_label_set_text(id(home_status_chloe), buf);
lv_obj_set_style_text_color(id(home_status_chloe), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_chloe), lv_color_hex(0xFF4757), LV_PART_MAIN);
@@ -872,10 +872,9 @@ lvgl:
y: 130 y: 130
width: 200 width: 200
height: 210 height: 210
bg_color: 0xFFFFFF bg_color: 0xFF4757
bg_opa: TRANSP bg_opa: COVER
border_color: 0xFF4757 border_width: 0
border_width: 5
radius: 24 radius: 24
on_click: on_click:
then: then:
@@ -884,21 +883,21 @@ lvgl:
- label: - label:
align: CENTER align: CENTER
y: -45 y: -45
text: "󰇹" text: "󰄛"
text_font: font_mdi_large text_font: font_mdi_large
- label: - label:
align: CENTER align: CENTER
y: 22 y: 22
text: "Jordyn" text: "Jordyn"
text_font: font_name text_font: font_name
text_color: 0x2D3436 text_color: 0xFFFFFF
- label: - label:
id: home_status_jordyn id: home_status_jordyn
align: CENTER align: CENTER
y: 66 y: 66
text: "not done" text: "not done"
text_font: font_tiny text_font: font_tiny
text_color: 0xFF4757 text_color: 0xFFFFFF
- button: - button:
id: home_btn_declan id: home_btn_declan
@@ -906,10 +905,9 @@ lvgl:
y: 130 y: 130
width: 200 width: 200
height: 210 height: 210
bg_color: 0xFFFFFF bg_color: 0xFF4757
bg_opa: TRANSP bg_opa: COVER
border_color: 0xFF4757 border_width: 0
border_width: 5
radius: 24 radius: 24
on_click: on_click:
then: then:
@@ -918,21 +916,21 @@ lvgl:
- label: - label:
align: CENTER align: CENTER
y: -45 y: -45
text: "󰲙" text: "󱑷"
text_font: font_mdi_large text_font: font_mdi_large
- label: - label:
align: CENTER align: CENTER
y: 22 y: 22
text: "Declan" text: "Declan"
text_font: font_name text_font: font_name
text_color: 0x2D3436 text_color: 0xFFFFFF
- label: - label:
id: home_status_declan id: home_status_declan
align: CENTER align: CENTER
y: 66 y: 66
text: "not done" text: "not done"
text_font: font_tiny text_font: font_tiny
text_color: 0xFF4757 text_color: 0xFFFFFF
- button: - button:
id: home_btn_chloe id: home_btn_chloe
@@ -940,10 +938,9 @@ lvgl:
y: 130 y: 130
width: 200 width: 200
height: 210 height: 210
bg_color: 0xFFFFFF bg_color: 0xFF4757
bg_opa: TRANSP bg_opa: COVER
border_color: 0xFF4757 border_width: 0
border_width: 5
radius: 24 radius: 24
on_click: on_click:
then: then:
@@ -952,21 +949,21 @@ lvgl:
- label: - label:
align: CENTER align: CENTER
y: -45 y: -45
text: "󱞵" text: "󱚠"
text_font: font_mdi_large text_font: font_mdi_large
- label: - label:
align: CENTER align: CENTER
y: 22 y: 22
text: "Chloe" text: "Chloe"
text_font: font_name text_font: font_name
text_color: 0x2D3436 text_color: 0xFFFFFF
- label: - label:
id: home_status_chloe id: home_status_chloe
align: CENTER align: CENTER
y: 66 y: 66
text: "not done" text: "not done"
text_font: font_tiny text_font: font_tiny
text_color: 0xFF4757 text_color: 0xFFFFFF
- id: page_jordyn - id: page_jordyn
@@ -989,7 +986,7 @@ lvgl:
y: 22 y: 22
width: 172 width: 172
align: TOP_MID align: TOP_MID
text: "󰇹" text: "󰄛"
text_font: font_mdi_large text_font: font_mdi_large
- label: - label:
x: 0 x: 0
@@ -1264,7 +1261,7 @@ lvgl:
y: 22 y: 22
width: 172 width: 172
align: TOP_MID align: TOP_MID
text: "󰲙" text: "󱑷"
text_font: font_mdi_large text_font: font_mdi_large
- label: - label:
x: 0 x: 0
@@ -1503,7 +1500,7 @@ lvgl:
y: 22 y: 22
width: 172 width: 172
align: TOP_MID align: TOP_MID
text: "󱞵" text: "󱚠"
text_font: font_mdi_large text_font: font_mdi_large
- label: - label:
x: 0 x: 0

View File

@@ -13,7 +13,7 @@ views:
cards: cards:
- type: markdown - type: markdown
content: > content: >
### 󰇹 Jordyn ### 󰄛 Jordyn
{{ {{
'All done!' if states('sensor.jordyn_all_chores_done') == 'True' 'All done!' if states('sensor.jordyn_all_chores_done') == 'True'
else states('sensor.jordyn_chores_done_today') ~ '/5 chores done' else states('sensor.jordyn_chores_done_today') ~ '/5 chores done'
@@ -21,7 +21,7 @@ views:
- type: markdown - type: markdown
content: > content: >
### 󰲙 Declan ### 󱑷 Declan
{{ {{
'All done!' if states('sensor.declan_all_chores_done') == 'True' 'All done!' if states('sensor.declan_all_chores_done') == 'True'
else states('sensor.declan_chores_done_today') ~ '/4 chores done' else states('sensor.declan_chores_done_today') ~ '/4 chores done'
@@ -29,7 +29,7 @@ views:
- type: markdown - type: markdown
content: > content: >
### 󱞵 Chloe ### 󱚠 Chloe
{{ {{
'All done!' if states('sensor.chloe_all_chores_done') == 'True' 'All done!' if states('sensor.chloe_all_chores_done') == 'True'
else states('sensor.chloe_chores_done_today') ~ '/6 chores done' else states('sensor.chloe_chores_done_today') ~ '/6 chores done'
@@ -44,7 +44,7 @@ views:
target: target:
entity_id: input_button.reset_all_chores entity_id: input_button.reset_all_chores
- type: entities - type: entities
title: "󰇹 Jordyn's Chores" title: "󰄛 Jordyn's Chores"
entities: entities:
- entity: switch.chore_tracker_jordyn_make_bed - entity: switch.chore_tracker_jordyn_make_bed
name: "󰋣 Make Bed" name: "󰋣 Make Bed"
@@ -73,7 +73,7 @@ views:
target: target:
entity_id: input_button.jordyn_reset_chores entity_id: input_button.jordyn_reset_chores
- type: entities - type: entities
title: "󰲙 Declan's Chores" title: "󱑷 Declan's Chores"
entities: entities:
- entity: switch.chore_tracker_declan_make_bed - entity: switch.chore_tracker_declan_make_bed
name: "󰋣 Make Bed" name: "󰋣 Make Bed"
@@ -99,7 +99,7 @@ views:
target: target:
entity_id: input_button.declan_reset_chores entity_id: input_button.declan_reset_chores
- type: entities - type: entities
title: "󱞵 Chloe's Chores" title: "󱚠 Chloe's Chores"
entities: entities:
- entity: switch.chore_tracker_chloe_make_bed - entity: switch.chore_tracker_chloe_make_bed
name: "󰋣 Make Bed" name: "󰋣 Make Bed"

View File

@@ -40,7 +40,7 @@ settings:
# #
kids: kids:
- name: Jordyn - name: Jordyn
avatar: "\U000F01F9" # mdi:cat avatar: "\U000F011B" # mdi:cat
color: "4D96FF" color: "4D96FF"
color_dark: "2A6FCC" color_dark: "2A6FCC"
chores: chores:
@@ -56,7 +56,7 @@ kids:
icon: "\U000F0265" # mdi:paw icon: "\U000F0265" # mdi:paw
- name: Declan - name: Declan
avatar: "\U000F0C99" # mdi:dog avatar: "\U000F1477" # mdi:wizard-hat
color: "C77DFF" color: "C77DFF"
color_dark: "8B42CC" color_dark: "8B42CC"
chores: chores:
@@ -70,7 +70,7 @@ kids:
icon: "\U000F05B8" # mdi:trash-can icon: "\U000F05B8" # mdi:trash-can
- name: Chloe - name: Chloe
avatar: "\U000F17B5" # mdi:teddy-bear avatar: "\U000F16A0" # mdi:robot-confused-outline
color: "FF6B9D" color: "FF6B9D"
color_dark: "CC3A6F" color_dark: "CC3A6F"
chores: chores:

View File

@@ -341,10 +341,9 @@ def _gen_lvgl_pages(kids: list) -> str:
y: {btn_y} y: {btn_y}
width: {btn_w} width: {btn_w}
height: {btn_h} height: {btn_h}
bg_color: 0xFFFFFF bg_color: 0xFF4757
bg_opa: TRANSP bg_opa: COVER
border_color: 0xFF4757 border_width: 0
border_width: 5
radius: 24 radius: 24
on_click: on_click:
then: then:
@@ -360,14 +359,14 @@ def _gen_lvgl_pages(kids: list) -> str:
y: 22 y: 22
text: "{kid['name']}" text: "{kid['name']}"
text_font: font_name text_font: font_name
text_color: 0x2D3436 text_color: 0xFFFFFF
- label: - label:
id: home_status_{ks} id: home_status_{ks}
align: CENTER align: CENTER
y: 66 y: 66
text: "not done" text: "not done"
text_font: font_tiny text_font: font_tiny
text_color: 0xFF4757 text_color: 0xFFFFFF
""" """
@@ -639,9 +638,9 @@ def _gen_scripts(kids: list) -> str:
lv_label_set_text(id(home_status_{ks}), "\\u2713 all done!"); lv_label_set_text(id(home_status_{ks}), "\\u2713 all done!");
lv_obj_set_style_text_color(id(home_status_{ks}), lv_color_hex(0xFFFFFF), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_{ks}), lv_color_hex(0xFFFFFF), LV_PART_MAIN);
}} else {{ }} else {{
lv_obj_set_style_bg_opa(id(home_btn_{ks}), LV_OPA_TRANSP, LV_PART_MAIN); lv_obj_set_style_bg_opa(id(home_btn_{ks}), LV_OPA_COVER, LV_PART_MAIN);
lv_obj_set_style_border_color(id(home_btn_{ks}), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_bg_color(id(home_btn_{ks}), lv_color_hex(0xFF4757), LV_PART_MAIN);
lv_obj_set_style_border_width(id(home_btn_{ks}), 5, LV_PART_MAIN); lv_obj_set_style_border_width(id(home_btn_{ks}), 0, LV_PART_MAIN);
snprintf(buf, sizeof(buf), "%d left", total - done); snprintf(buf, sizeof(buf), "%d left", total - done);
lv_label_set_text(id(home_status_{ks}), buf); lv_label_set_text(id(home_status_{ks}), buf);
lv_obj_set_style_text_color(id(home_status_{ks}), lv_color_hex(0xFF4757), LV_PART_MAIN); lv_obj_set_style_text_color(id(home_status_{ks}), lv_color_hex(0xFF4757), LV_PART_MAIN);