Add return buttons to amount and category modification flows
This commit is contained in:
parent
5039612504
commit
50a90b2e93
23
bot/main.py
23
bot/main.py
@ -188,7 +188,11 @@ async def cb_save_new(callback: types.CallbackQuery, state: FSMContext):
|
||||
|
||||
@dp.callback_query(F.data == "edit_new_amt", RecordState.waiting_confirm)
|
||||
async def cb_edit_amt_before_save(callback: types.CallbackQuery, state: FSMContext):
|
||||
await callback.message.answer("✍️ 请输入新金额(数字):")
|
||||
# 构建带返回按钮的键盘
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.button(text="🔙 返回", callback_data="return_to_confirm")
|
||||
|
||||
await callback.message.answer("✍️ 请输入新金额(数字):", reply_markup=builder.as_markup())
|
||||
await state.set_state(RecordState.editing_new_amt)
|
||||
|
||||
@dp.message(RecordState.editing_new_amt)
|
||||
@ -206,6 +210,8 @@ async def cb_choose_cat_before_save(callback: types.CallbackQuery):
|
||||
for cat in DEFAULT_CATEGORIES:
|
||||
builder.button(text=cat, callback_data=f"set_new_cat_{cat}")
|
||||
builder.adjust(3)
|
||||
# 添加返回按钮
|
||||
builder.row(types.InlineKeyboardButton(text="🔙 返回", callback_data="return_to_confirm"))
|
||||
await callback.message.edit_text("📂 请选择新类别:", reply_markup=builder.as_markup())
|
||||
|
||||
@dp.callback_query(F.data.startswith("set_new_cat_"), RecordState.waiting_confirm)
|
||||
@ -215,6 +221,21 @@ async def cb_set_cat_before_save(callback: types.CallbackQuery, state: FSMContex
|
||||
data = await state.get_data()
|
||||
await callback.message.edit_text(render_confirm_text(data), reply_markup=get_confirm_kb(), parse_mode="Markdown")
|
||||
|
||||
# 处理从修改类别界面返回确认界面的回调
|
||||
@dp.callback_query(F.data == "return_to_confirm", RecordState.waiting_confirm)
|
||||
async def cb_return_to_confirm_from_cat(callback: types.CallbackQuery, state: FSMContext):
|
||||
"""从修改类别界面返回到确认界面"""
|
||||
data = await state.get_data()
|
||||
await callback.message.edit_text(render_confirm_text(data), reply_markup=get_confirm_kb(), parse_mode="Markdown")
|
||||
|
||||
# 处理从修改金额输入状态返回确认界面的回调
|
||||
@dp.callback_query(F.data == "return_to_confirm", RecordState.editing_new_amt)
|
||||
async def cb_return_to_confirm_from_amt(callback: types.CallbackQuery, state: FSMContext):
|
||||
"""从修改金额输入状态返回到确认界面"""
|
||||
data = await state.get_data()
|
||||
await state.set_state(RecordState.waiting_confirm)
|
||||
await callback.message.answer(render_confirm_text(data), reply_markup=get_confirm_kb(), parse_mode="Markdown")
|
||||
|
||||
# ================= 4. 账单列表展示 =================
|
||||
|
||||
async def show_record_list(message_or_call, user_id, page=0):
|
||||
|
||||
Reference in New Issue
Block a user