// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.5.4
// LVGL version: 9.1.0
// Project name: your_chat_bot_WeChat

#include "../ui.h"

#include "lang_config.h"
#include "src/core/lv_obj.h"

lv_obj_t * ui_setting = NULL;
lv_obj_t * ui_setting_status_bar = NULL;
lv_obj_t * ui_setting_emoji = NULL;
lv_obj_t * ui_setting_status_label = NULL;
lv_obj_t * ui_setting_icon = NULL;
lv_obj_t * ui_setting_setting_container = NULL;
lv_obj_t * ui_setting_time = NULL;
lv_obj_t * ui_setting_date = NULL;
lv_obj_t * ui_setting_volume_container = NULL;
lv_obj_t * ui_setting_volume_label = NULL;
lv_obj_t * ui_setting_volume_icon_container = NULL;
lv_obj_t * ui_setting_volume_image = NULL;
lv_obj_t * ui_setting_volume_slider = NULL;
lv_obj_t * ui_setting_brightness_container = NULL;
lv_obj_t * ui_setting_brightness_label = NULL;
lv_obj_t * ui_setting_brightness_icon_container = NULL;
lv_obj_t * ui_setting_brightness_image = NULL;
lv_obj_t * ui_setting_brightness_slider = NULL;
lv_obj_t * ui_setting_theme_container = NULL;
lv_obj_t * ui_setting_theme_label = NULL;
lv_obj_t * ui_setting_theme_switch = NULL;
lv_obj_t * ui_setting_reset_button = NULL;
lv_obj_t * ui_setting_reset_button_label = NULL;
// event funtions
void ui_event_setting(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);

    if(event_code == LV_EVENT_SCREEN_LOADED) {
        setting_screen_loaded(e);
    }
    if(event_code == LV_EVENT_SCREEN_UNLOADED) {
        setting_screen_unloaded(e);
    }
}
void ui_event_setting_emoji(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);

    if(event_code == LV_EVENT_CLICKED) {
        _ui_screen_change(&ui_home, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_home_screen_init);
    }
}

void ui_event_setting_volume_slider(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);

    if(event_code == LV_EVENT_VALUE_CHANGED) {
        volume_bar_value_changed(e);
    }
}

void ui_event_setting_brightness_slider(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);

    if(event_code == LV_EVENT_VALUE_CHANGED) {
        brightness_bar_value_changed(e);
    }
}

void ui_event_setting_theme_switch(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);

    if(event_code == LV_EVENT_VALUE_CHANGED) {
        theme_button_changed(e);
    }
}

void ui_event_setting_reset_button(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);

    if(event_code == LV_EVENT_PRESSED || event_code == LV_EVENT_PRESSING) {
        reset_button_callback(e);
    }
}

// build funtions

void ui_setting_screen_init(void)
{
    ui_setting = lv_obj_create(NULL);
    lv_obj_remove_flag(ui_setting, LV_OBJ_FLAG_SCROLLABLE);      /// Flags
    lv_obj_set_flex_flow(ui_setting, LV_FLEX_FLOW_COLUMN);
    lv_obj_set_flex_align(ui_setting, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
    ui_object_set_themeable_style_property(ui_setting, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_BG_COLOR,
                                           _ui_theme_color_background);
    ui_object_set_themeable_style_property(ui_setting, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_BG_OPA,
                                           _ui_theme_alpha_background);

    ui_setting_status_bar = lv_obj_create(ui_setting);
    lv_obj_remove_style_all(ui_setting_status_bar);
    lv_obj_set_width(ui_setting_status_bar, lv_pct(100));
    lv_obj_set_height(ui_setting_status_bar, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_status_bar, LV_ALIGN_CENTER);
    lv_obj_set_flex_flow(ui_setting_status_bar, LV_FLEX_FLOW_ROW);
    lv_obj_set_flex_align(ui_setting_status_bar, LV_FLEX_ALIGN_SPACE_AROUND, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_START);
    lv_obj_remove_flag(ui_setting_status_bar, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE);      /// Flags
    ui_object_set_themeable_style_property(ui_setting_status_bar, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_BG_COLOR,
                                           _ui_theme_color_statusBarBG);
    ui_object_set_themeable_style_property(ui_setting_status_bar, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_BG_OPA,
                                           _ui_theme_alpha_statusBarBG);

    ui_setting_emoji = lv_image_create(ui_setting_status_bar);
    lv_image_set_src(ui_setting_emoji, &ui_img_image_icon_back_32_png);
    lv_obj_set_width(ui_setting_emoji, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_emoji, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_emoji, LV_ALIGN_CENTER);
    lv_obj_add_flag(ui_setting_emoji, LV_OBJ_FLAG_CLICKABLE);     /// Flags
    lv_obj_remove_flag(ui_setting_emoji, LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_status_label = lv_label_create(ui_setting_status_bar);
    lv_obj_set_width(ui_setting_status_label, lv_pct(60));
    lv_obj_set_height(ui_setting_status_label, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_status_label, LV_ALIGN_CENTER);
    lv_label_set_long_mode(ui_setting_status_label, LV_LABEL_LONG_SCROLL_CIRCULAR);
    lv_label_set_text(ui_setting_status_label, "设置");
    ui_object_set_themeable_style_property(ui_setting_status_label, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_COLOR,
                                           _ui_theme_color_PrimaryText);
    ui_object_set_themeable_style_property(ui_setting_status_label, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_OPA,
                                           _ui_theme_alpha_PrimaryText);
    lv_obj_set_style_text_align(ui_setting_status_label, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_text_font(ui_setting_status_label, &ui_font_puhui_18_2, LV_PART_MAIN | LV_STATE_DEFAULT);

    ui_setting_icon = lv_image_create(ui_setting_status_bar);
    lv_image_set_src(ui_setting_icon, &ui_img_image_icon_wifi_wifi_connect_30_png);
    lv_obj_set_width(ui_setting_icon, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_icon, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_icon, LV_ALIGN_CENTER);
    lv_obj_add_flag(ui_setting_icon, LV_OBJ_FLAG_CLICKABLE);     /// Flags
    lv_obj_remove_flag(ui_setting_icon, LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_setting_container = lv_obj_create(ui_setting);
    lv_obj_remove_style_all(ui_setting_setting_container);
    lv_obj_set_width(ui_setting_setting_container, lv_pct(100));
    lv_obj_set_height(ui_setting_setting_container, lv_pct(90));
    lv_obj_set_align(ui_setting_setting_container, LV_ALIGN_CENTER);
    lv_obj_set_flex_flow(ui_setting_setting_container, LV_FLEX_FLOW_COLUMN);
    lv_obj_set_flex_align(ui_setting_setting_container, LV_FLEX_ALIGN_SPACE_AROUND, LV_FLEX_ALIGN_CENTER,
                          LV_FLEX_ALIGN_CENTER);
    lv_obj_remove_flag(ui_setting_setting_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_time = lv_label_create(ui_setting_setting_container);
    lv_obj_set_width(ui_setting_time, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_time, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_time, LV_ALIGN_CENTER);
    lv_label_set_text(ui_setting_time, "12:00");
    ui_object_set_themeable_style_property(ui_setting_time, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_COLOR,
                                           _ui_theme_color_PrimaryText);
    ui_object_set_themeable_style_property(ui_setting_time, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_OPA,
                                           _ui_theme_alpha_PrimaryText);
    lv_obj_set_style_text_font(ui_setting_time, &lv_font_montserrat_48, LV_PART_MAIN | LV_STATE_DEFAULT);

    ui_setting_date = lv_label_create(ui_setting_setting_container);
    lv_obj_set_width(ui_setting_date, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_date, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_date, LV_ALIGN_CENTER);
    lv_label_set_text(ui_setting_date, "2025-12-19");
    ui_object_set_themeable_style_property(ui_setting_date, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_COLOR,
                                           _ui_theme_color_PrimaryText);
    ui_object_set_themeable_style_property(ui_setting_date, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_OPA,
                                           _ui_theme_alpha_PrimaryText);
    lv_obj_set_style_text_font(ui_setting_date, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);

    ui_setting_volume_container = lv_obj_create(ui_setting_setting_container);
    lv_obj_remove_style_all(ui_setting_volume_container);
    lv_obj_set_width(ui_setting_volume_container, lv_pct(100));
    lv_obj_set_height(ui_setting_volume_container, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_volume_container, LV_ALIGN_CENTER);
    lv_obj_set_flex_flow(ui_setting_volume_container, LV_FLEX_FLOW_COLUMN);
    lv_obj_set_flex_align(ui_setting_volume_container, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_START);
    lv_obj_remove_flag(ui_setting_volume_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_volume_label = lv_label_create(ui_setting_volume_container);
    lv_obj_set_width(ui_setting_volume_label, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_volume_label, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_volume_label, LV_ALIGN_CENTER);
    lv_label_set_text(ui_setting_volume_label, "VOLUME");
    ui_object_set_themeable_style_property(ui_setting_volume_label, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_COLOR,
                                           _ui_theme_color_PrimaryText);
    ui_object_set_themeable_style_property(ui_setting_volume_label, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_OPA,
                                           _ui_theme_alpha_PrimaryText);
    lv_obj_set_style_text_font(ui_setting_volume_label, &lv_font_montserrat_14, LV_PART_MAIN | LV_STATE_DEFAULT);

    ui_setting_volume_icon_container = lv_obj_create(ui_setting_volume_container);
    lv_obj_remove_style_all(ui_setting_volume_icon_container);
    lv_obj_set_width(ui_setting_volume_icon_container, lv_pct(100));
    lv_obj_set_height(ui_setting_volume_icon_container, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_volume_icon_container, LV_ALIGN_CENTER);
    lv_obj_set_flex_flow(ui_setting_volume_icon_container, LV_FLEX_FLOW_ROW);
    lv_obj_set_flex_align(ui_setting_volume_icon_container, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER,
                          LV_FLEX_ALIGN_CENTER);
    lv_obj_remove_flag(ui_setting_volume_icon_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_volume_image = lv_image_create(ui_setting_volume_icon_container);
    lv_image_set_src(ui_setting_volume_image, &ui_img_image_icon_volume_32_png);
    lv_obj_set_width(ui_setting_volume_image, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_volume_image, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_volume_image, LV_ALIGN_CENTER);
    lv_obj_add_flag(ui_setting_volume_image, LV_OBJ_FLAG_CLICKABLE);     /// Flags
    lv_obj_remove_flag(ui_setting_volume_image, LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_volume_slider = lv_slider_create(ui_setting_volume_icon_container);
    lv_slider_set_value(ui_setting_volume_slider, 50, LV_ANIM_OFF);
    if(lv_slider_get_mode(ui_setting_volume_slider) == LV_SLIDER_MODE_RANGE) lv_slider_set_left_value(
            ui_setting_volume_slider, 0, LV_ANIM_OFF);
    lv_obj_set_height(ui_setting_volume_slider, 10);
    lv_obj_set_width(ui_setting_volume_slider, lv_pct(65));
    lv_obj_set_align(ui_setting_volume_slider, LV_ALIGN_CENTER);

    //Compensating for LVGL9.1 draw crash with bar/slider max value when top-padding is nonzero and right-padding is 0
    if(lv_obj_get_style_pad_top(ui_setting_volume_slider,
                                LV_PART_MAIN) > 0) lv_obj_set_style_pad_right(ui_setting_volume_slider,
                                                                                  lv_obj_get_style_pad_right(ui_setting_volume_slider, LV_PART_MAIN) + 1, LV_PART_MAIN);
    ui_setting_brightness_container = lv_obj_create(ui_setting_setting_container);
    lv_obj_remove_style_all(ui_setting_brightness_container);
    lv_obj_set_width(ui_setting_brightness_container, lv_pct(100));
    lv_obj_set_height(ui_setting_brightness_container, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_brightness_container, LV_ALIGN_CENTER);
    lv_obj_set_flex_flow(ui_setting_brightness_container, LV_FLEX_FLOW_COLUMN);
    lv_obj_set_flex_align(ui_setting_brightness_container, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_START);
    lv_obj_remove_flag(ui_setting_brightness_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE);      /// Flags
    // TODO: hide bringhtness container
    lv_obj_add_flag(ui_setting_brightness_container, LV_OBJ_FLAG_HIDDEN);

    ui_setting_brightness_label = lv_label_create(ui_setting_brightness_container);
    lv_obj_set_width(ui_setting_brightness_label, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_brightness_label, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_brightness_label, LV_ALIGN_CENTER);
    lv_label_set_text(ui_setting_brightness_label, "BRIGHTNESS");
    ui_object_set_themeable_style_property(ui_setting_brightness_label, LV_PART_MAIN | LV_STATE_DEFAULT,
                                           LV_STYLE_TEXT_COLOR, _ui_theme_color_PrimaryText);
    ui_object_set_themeable_style_property(ui_setting_brightness_label, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_OPA,
                                           _ui_theme_alpha_PrimaryText);
    lv_obj_set_style_text_font(ui_setting_brightness_label, &lv_font_montserrat_14, LV_PART_MAIN | LV_STATE_DEFAULT);

    ui_setting_brightness_icon_container = lv_obj_create(ui_setting_brightness_container);
    lv_obj_remove_style_all(ui_setting_brightness_icon_container);
    lv_obj_set_width(ui_setting_brightness_icon_container, lv_pct(100));
    lv_obj_set_height(ui_setting_brightness_icon_container, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_brightness_icon_container, LV_ALIGN_CENTER);
    lv_obj_set_flex_flow(ui_setting_brightness_icon_container, LV_FLEX_FLOW_ROW);
    lv_obj_set_flex_align(ui_setting_brightness_icon_container, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER,
                          LV_FLEX_ALIGN_CENTER);
    lv_obj_remove_flag(ui_setting_brightness_icon_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_brightness_image = lv_image_create(ui_setting_brightness_icon_container);
    lv_image_set_src(ui_setting_brightness_image, &ui_img_image_icon_brightness_32_png);
    lv_obj_set_width(ui_setting_brightness_image, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_brightness_image, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_brightness_image, LV_ALIGN_CENTER);
    lv_obj_add_flag(ui_setting_brightness_image, LV_OBJ_FLAG_CLICKABLE);     /// Flags
    lv_obj_remove_flag(ui_setting_brightness_image, LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_brightness_slider = lv_slider_create(ui_setting_brightness_icon_container);
    lv_slider_set_value(ui_setting_brightness_slider, 50, LV_ANIM_OFF);
    if(lv_slider_get_mode(ui_setting_brightness_slider) == LV_SLIDER_MODE_RANGE) lv_slider_set_left_value(
            ui_setting_brightness_slider, 0, LV_ANIM_OFF);
    lv_obj_set_height(ui_setting_brightness_slider, 10);
    lv_obj_set_width(ui_setting_brightness_slider, lv_pct(65));
    lv_obj_set_align(ui_setting_brightness_slider, LV_ALIGN_CENTER);

    //Compensating for LVGL9.1 draw crash with bar/slider max value when top-padding is nonzero and right-padding is 0
    if(lv_obj_get_style_pad_top(ui_setting_brightness_slider,
                                LV_PART_MAIN) > 0) lv_obj_set_style_pad_right(ui_setting_brightness_slider,
                                                                                  lv_obj_get_style_pad_right(ui_setting_brightness_slider, LV_PART_MAIN) + 1, LV_PART_MAIN);
    ui_setting_theme_container = lv_obj_create(ui_setting_setting_container);
    lv_obj_remove_style_all(ui_setting_theme_container);
    lv_obj_set_width(ui_setting_theme_container, lv_pct(100));
    lv_obj_set_height(ui_setting_theme_container, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_theme_container, LV_ALIGN_CENTER);
    lv_obj_set_flex_flow(ui_setting_theme_container, LV_FLEX_FLOW_ROW);
    lv_obj_set_flex_align(ui_setting_theme_container, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER);
    lv_obj_remove_flag(ui_setting_theme_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE);      /// Flags

    ui_setting_theme_label = lv_label_create(ui_setting_theme_container);
    lv_obj_set_width(ui_setting_theme_label, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_theme_label, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_theme_label, LV_ALIGN_CENTER);
    lv_label_set_text(ui_setting_theme_label, "打开暗黑主题");
    ui_object_set_themeable_style_property(ui_setting_theme_label, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_COLOR,
                                           _ui_theme_color_PrimaryText);
    ui_object_set_themeable_style_property(ui_setting_theme_label, LV_PART_MAIN | LV_STATE_DEFAULT, LV_STYLE_TEXT_OPA,
                                           _ui_theme_alpha_PrimaryText);
    lv_obj_set_style_text_font(ui_setting_theme_label, &ui_font_puhui_18_2, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_left(ui_setting_theme_label, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_right(ui_setting_theme_label, 10, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_top(ui_setting_theme_label, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_bottom(ui_setting_theme_label, 0, LV_PART_MAIN | LV_STATE_DEFAULT);

    ui_setting_theme_switch = lv_switch_create(ui_setting_theme_container);
    lv_obj_set_width(ui_setting_theme_switch, 50);
    lv_obj_set_height(ui_setting_theme_switch, 25);
    lv_obj_set_align(ui_setting_theme_switch, LV_ALIGN_CENTER);

    ui_setting_reset_button = lv_button_create(ui_setting_setting_container);
    lv_obj_set_width(ui_setting_reset_button, lv_pct(75));
    lv_obj_set_height(ui_setting_reset_button, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_reset_button, LV_ALIGN_CENTER);
    lv_obj_add_flag(ui_setting_reset_button, LV_OBJ_FLAG_SCROLL_ON_FOCUS);     /// Flags
    lv_obj_remove_flag(ui_setting_reset_button, LV_OBJ_FLAG_SCROLLABLE);      /// Flags
    lv_obj_set_style_radius(ui_setting_reset_button, 100, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_bg_color(ui_setting_reset_button, lv_color_hex(0xDA424A), LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_bg_opa(ui_setting_reset_button, 255, LV_PART_MAIN | LV_STATE_DEFAULT);

    ui_setting_reset_button_label = lv_label_create(ui_setting_reset_button);
    lv_obj_set_width(ui_setting_reset_button_label, LV_SIZE_CONTENT);   /// 1
    lv_obj_set_height(ui_setting_reset_button_label, LV_SIZE_CONTENT);    /// 1
    lv_obj_set_align(ui_setting_reset_button_label, LV_ALIGN_CENTER);
    lv_label_set_text(ui_setting_reset_button_label, "长按 3S 重置设备");
    ui_object_set_themeable_style_property(ui_setting_reset_button_label, LV_PART_MAIN | LV_STATE_DEFAULT,
                                           LV_STYLE_TEXT_COLOR, _ui_theme_color_PrimaryText);
    ui_object_set_themeable_style_property(ui_setting_reset_button_label, LV_PART_MAIN | LV_STATE_DEFAULT,
                                           LV_STYLE_TEXT_OPA, _ui_theme_alpha_PrimaryText);
    lv_obj_set_style_text_font(ui_setting_reset_button_label, &ui_font_puhui_18_2, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_left(ui_setting_reset_button_label, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_right(ui_setting_reset_button_label, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_top(ui_setting_reset_button_label, 4, LV_PART_MAIN | LV_STATE_DEFAULT);
    lv_obj_set_style_pad_bottom(ui_setting_reset_button_label, 4, LV_PART_MAIN | LV_STATE_DEFAULT);

    lv_obj_add_event_cb(ui_setting_emoji, ui_event_setting_emoji, LV_EVENT_ALL, NULL);
    lv_obj_add_event_cb(ui_setting_volume_slider, ui_event_setting_volume_slider, LV_EVENT_ALL, NULL);
    lv_obj_add_event_cb(ui_setting_brightness_slider, ui_event_setting_brightness_slider, LV_EVENT_ALL, NULL);
    lv_obj_add_event_cb(ui_setting_theme_switch, ui_event_setting_theme_switch, LV_EVENT_ALL, NULL);

    lv_obj_add_event_cb(ui_setting_reset_button, ui_event_setting_reset_button, LV_EVENT_PRESSED, NULL);
    lv_obj_add_event_cb(ui_setting_reset_button, ui_event_setting_reset_button, LV_EVENT_PRESSING, NULL);

    lv_obj_add_event_cb(ui_setting, ui_event_setting, LV_EVENT_ALL, NULL);
}

void ui_setting_screen_destroy(void)
{
    if(ui_setting) lv_obj_del(ui_setting);

    // NULL screen variables
    ui_setting = NULL;
    ui_setting_status_bar = NULL;
    ui_setting_emoji = NULL;
    ui_setting_status_label = NULL;
    ui_setting_icon = NULL;
    ui_setting_setting_container = NULL;
    ui_setting_time = NULL;
    ui_setting_date = NULL;
    ui_setting_volume_container = NULL;
    ui_setting_volume_label = NULL;
    ui_setting_volume_icon_container = NULL;
    ui_setting_volume_image = NULL;
    ui_setting_volume_slider = NULL;
    ui_setting_brightness_container = NULL;
    ui_setting_brightness_label = NULL;
    ui_setting_brightness_icon_container = NULL;
    ui_setting_brightness_image = NULL;
    ui_setting_brightness_slider = NULL;
    ui_setting_theme_container = NULL;
    ui_setting_theme_label = NULL;
    ui_setting_theme_switch = NULL;
    ui_setting_reset_button = NULL;
    ui_setting_reset_button_label = NULL;
}

/***************************** app display functions start *****************************/
void ui_setting_date_update(uint32_t year, uint32_t month, uint32_t day)
{
    if (NULL == ui_setting_date) {
        return;
    }

    // "2025-12-19"
    char date[16] = {0};
    snprintf(date, sizeof(date), "%04d-%02d-%02d", year, month, day);
    lv_label_set_text(ui_setting_date, date);
}

void ui_setting_time_update(uint32_t hour, uint32_t minute)
{
    if (NULL == ui_setting_time) {
        return;
    }

    // format time as "hh:mm"
    char time[6];
    snprintf(time, sizeof(time), "%02d:%02d", hour, minute);

    lv_label_set_text(ui_setting_time, time);
}

void ui_setting_volume_slider_update(uint32_t value)
{
    if (NULL == ui_setting_volume_slider) {
        return;
    }

    lv_slider_set_value(ui_setting_volume_slider, value, LV_ANIM_OFF);
}

/***************************** app display functions end *****************************/

