#ifndef UI_COMP_DATETIME_SET_H
#define UI_COMP_DATETIME_SET_H

#include "lvgl/lvgl.h"
#include "ui_config.h"

// 时间设置操作类型
typedef enum {
    DATETIME_OP_OK = 1,
    DATETIME_OP_CANCEL,
    DATETIME_OP_OTHER
} datetime_op_t;

// 时间数据结构体
typedef struct {
    uint16_t year;    // 年: 2000-2099
    uint8_t month;    // 月: 1-12
    uint8_t day;      // 日: 1-31
    uint8_t hour;     // 时: 0-23
    uint8_t minute;   // 分: 0-59
    uint8_t second;   // 秒: 0-59
} datetime_value_t;

// 创建时间设置组件
void ui_comp_datetime_set_create(datetime_value_t *datetime);

// 处理上方向键操作
void ui_comp_datetime_set_handle_up(void);

// 处理下方向键操作
void ui_comp_datetime_set_handle_down(void);

// 处理左方向键操作
void ui_comp_datetime_set_handle_left(void);

// 处理右方向键操作
void ui_comp_datetime_set_handle_right(void);

// 处理确定键操作
void ui_comp_datetime_set_handle_enter(void);

// 获取时间设置结果
datetime_op_t ui_comp_datetime_set_get_result(void);

// 获取设置的时间值
datetime_value_t ui_comp_datetime_set_get_value(void);

// 检查时间是否有效
bool ui_comp_datetime_set_is_valid(void);

#endif /* UI_COMP_DATETIME_SET_H */
