Update chore tracker UI: Change button styles and icons for Jordyn, Declan, and Chloe for improved visibility and consistency.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user