from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton

def kb_daily_step(day: int = None, is_simplified: bool = False) -> InlineKeyboardMarkup:
    """Create daily step keyboard with optional simplification."""
    if is_simplified:
        # Упрощенная версия (без подсказки и упрощения)
        if day is not None:
            return InlineKeyboardMarkup(inline_keyboard=[
                [
                    InlineKeyboardButton(text="✅ Задача выполнена", callback_data=f"step:done:{day}"),
                    InlineKeyboardButton(text="📅 Напомнить позже", callback_data="step:snooze"),
                ],
                [
                    InlineKeyboardButton(text="❌ Не получилось", callback_data="step:fail"),
                ]
            ])
        else:
            return InlineKeyboardMarkup(inline_keyboard=[
                [
                    InlineKeyboardButton(text="✅ Задача выполнена", callback_data="step:done"),
                    InlineKeyboardButton(text="📅 Напомнить позже", callback_data="step:snooze"),
                ],
                [
                    InlineKeyboardButton(text="❌ Не получилось", callback_data="step:fail"),
                ]
            ])
    else:
        # Полная версия (по умолчанию)
        if day is not None:
            return InlineKeyboardMarkup(inline_keyboard=[
                [
                    InlineKeyboardButton(text="✅ Задача выполнена", callback_data=f"step:done:{day}"),
                    InlineKeyboardButton(text="📅 Напомнить позже", callback_data="step:snooze"),
                ],
                [
                    InlineKeyboardButton(text="💡 Хочу подсказку", callback_data="step:hint"),
                    InlineKeyboardButton(text="🔁 Хочу проще!", callback_data="step:easier"),
                ],
                [
                    InlineKeyboardButton(text="❌ Не получилось", callback_data="step:fail"),
                ]
            ])
        else:
            # Fallback для обратной совместимости
            return InlineKeyboardMarkup(inline_keyboard=[
                [
                    InlineKeyboardButton(text="✅ Задача выполнена", callback_data="step:done"),
                    InlineKeyboardButton(text="📅 Напомнить позже", callback_data="step:snooze"),
                ],
                [
                    InlineKeyboardButton(text="💡 Хочу подсказку", callback_data="step:hint"),
                    InlineKeyboardButton(text="🔁 Хочу проще!", callback_data="step:easier"),
                ],
                [
                    InlineKeyboardButton(text="❌ Не получилось", callback_data="step:fail"),
                ]
            ])

# Остальные функции остаются без изменений
def kb_fail_reason() -> InlineKeyboardMarkup:
    return InlineKeyboardMarkup(inline_keyboard=[
        [
            InlineKeyboardButton(text="Страх", callback_data="fail_reason:fear"),
            InlineKeyboardButton(text="Лень", callback_data="fail_reason:lazy"),
            InlineKeyboardButton(text="Нет времени", callback_data="fail_reason:no_time"),
        ],
        [InlineKeyboardButton(text="Отмена", callback_data="fail_reason:cancel")],
    ])

def kb_next_step() -> InlineKeyboardMarkup:
    """Keyboard with button to get next step immediately."""
    return InlineKeyboardMarkup(inline_keyboard=[
        [InlineKeyboardButton(text="➡️ Следующее задание", callback_data="step:next")]
    ])

# Старую функцию можно удалить или оставить как алиас для обратной совместимости
def kb_daily_step_simplified(day: int) -> InlineKeyboardMarkup:
    return kb_daily_step(day=day, is_simplified=True)