diff --git a/bot/handlers/reminders_manage.py b/bot/handlers/reminders_manage.py index 5f9a558..ead7264 100644 --- a/bot/handlers/reminders_manage.py +++ b/bot/handlers/reminders_manage.py @@ -128,6 +128,36 @@ async def show_reminder_details( await callback.answer() +@router.callback_query(ReminderActionCallback.filter(F.action == "back_to_list")) +async def back_to_reminders_list( + callback: CallbackQuery, + session: AsyncSession, +) -> None: + """ + Return to reminders list from details view. + + Args: + callback: Callback query + session: Database session + """ + user = await UserService.ensure_user_exists(session, callback.from_user) + reminders = await reminders_service.get_user_all_reminders(session, user.id) + + if not reminders: + await callback.message.edit_text( + "У тебя пока нет напоминаний.\n\n" + "Нажми «➕ Новое напоминание», чтобы создать первое!" + ) + await callback.answer() + return + + await callback.message.edit_text( + f"📋 Твои напоминания ({len(reminders)}):", + reply_markup=get_reminders_list_keyboard(reminders, page=0), + ) + await callback.answer() + + # ==================== Edit Reminder Flow ==================== diff --git a/bot/keyboards/reminders.py b/bot/keyboards/reminders.py index 834b687..177d6d8 100644 --- a/bot/keyboards/reminders.py +++ b/bot/keyboards/reminders.py @@ -204,6 +204,12 @@ def get_reminder_details_keyboard(reminder_id: int, is_active: bool) -> InlineKe callback_data=ReminderActionCallback(action="delete", reminder_id=reminder_id).pack() ), ], + [ + InlineKeyboardButton( + text="⬅️ Назад к списку", + callback_data=ReminderActionCallback(action="back_to_list", reminder_id=0).pack() + ), + ], ] ) return keyboard