fix addons config layout / fix selection handling
This commit is contained in:
@@ -273,11 +273,11 @@ async def render_addons_screen(callback: CallbackQuery, state: FSMContext, sessi
|
|||||||
row.append(traffic_buttons[i])
|
row.append(traffic_buttons[i])
|
||||||
builder.row(*row)
|
builder.row(*row)
|
||||||
elif device_buttons:
|
elif device_buttons:
|
||||||
for button in device_buttons:
|
for i in range(0, len(device_buttons), 2):
|
||||||
builder.row(button)
|
builder.row(*device_buttons[i : i + 2])
|
||||||
elif traffic_buttons:
|
elif traffic_buttons:
|
||||||
for button in traffic_buttons:
|
for i in range(0, len(traffic_buttons), 2):
|
||||||
builder.row(button)
|
builder.row(*traffic_buttons[i : i + 2])
|
||||||
|
|
||||||
if allow_downgrade and (devices_downgrade or traffic_downgrade):
|
if allow_downgrade and (devices_downgrade or traffic_downgrade):
|
||||||
builder.row(
|
builder.row(
|
||||||
|
|||||||
@@ -359,11 +359,11 @@ async def render_addons_screen(callback: CallbackQuery, state: FSMContext, sessi
|
|||||||
row.append(traffic_buttons[i])
|
row.append(traffic_buttons[i])
|
||||||
builder.row(*row)
|
builder.row(*row)
|
||||||
elif device_buttons:
|
elif device_buttons:
|
||||||
for button in device_buttons:
|
for i in range(0, len(device_buttons), 2):
|
||||||
builder.row(button)
|
builder.row(*device_buttons[i : i + 2])
|
||||||
elif traffic_buttons:
|
elif traffic_buttons:
|
||||||
for button in traffic_buttons:
|
for i in range(0, len(traffic_buttons), 2):
|
||||||
builder.row(button)
|
builder.row(*traffic_buttons[i : i + 2])
|
||||||
|
|
||||||
builder.row(
|
builder.row(
|
||||||
InlineKeyboardButton(
|
InlineKeyboardButton(
|
||||||
|
|||||||
@@ -498,11 +498,11 @@ async def render_user_config_screen(
|
|||||||
row.append(traffic_buttons[i])
|
row.append(traffic_buttons[i])
|
||||||
builder.row(*row)
|
builder.row(*row)
|
||||||
elif device_buttons:
|
elif device_buttons:
|
||||||
for b in device_buttons:
|
for i in range(0, len(device_buttons), 2):
|
||||||
builder.row(b)
|
builder.row(*device_buttons[i : i + 2])
|
||||||
elif traffic_buttons:
|
elif traffic_buttons:
|
||||||
for b in traffic_buttons:
|
for i in range(0, len(traffic_buttons), 2):
|
||||||
builder.row(b)
|
builder.row(*traffic_buttons[i : i + 2])
|
||||||
|
|
||||||
is_renew_mode = data.get("renew_mode") == "renew"
|
is_renew_mode = data.get("renew_mode") == "renew"
|
||||||
confirm_prefix = "cfg_renew_confirm" if is_renew_mode else "cfg_user_confirm"
|
confirm_prefix = "cfg_renew_confirm" if is_renew_mode else "cfg_user_confirm"
|
||||||
@@ -852,6 +852,11 @@ async def handle_user_devices_choice(callback: CallbackQuery, state: FSMContext,
|
|||||||
_, _tariff_id_str, devices_str = callback.data.split("|", 2)
|
_, _tariff_id_str, devices_str = callback.data.split("|", 2)
|
||||||
devices = int(devices_str)
|
devices = int(devices_str)
|
||||||
|
|
||||||
|
current = (await state.get_data()).get("config_selected_device_limit")
|
||||||
|
if current is not None and int(current) == devices:
|
||||||
|
await callback.answer()
|
||||||
|
return
|
||||||
|
|
||||||
await state.update_data(config_selected_device_limit=devices)
|
await state.update_data(config_selected_device_limit=devices)
|
||||||
await render_user_config_screen(callback, state, session)
|
await render_user_config_screen(callback, state, session)
|
||||||
|
|
||||||
@@ -865,6 +870,11 @@ async def handle_user_traffic_choice(callback: CallbackQuery, state: FSMContext,
|
|||||||
_, _tariff_id_str, traffic_str = callback.data.split("|", 2)
|
_, _tariff_id_str, traffic_str = callback.data.split("|", 2)
|
||||||
traffic = int(traffic_str)
|
traffic = int(traffic_str)
|
||||||
|
|
||||||
|
current = (await state.get_data()).get("config_selected_traffic_gb")
|
||||||
|
if current is not None and int(current) == traffic:
|
||||||
|
await callback.answer()
|
||||||
|
return
|
||||||
|
|
||||||
await state.update_data(config_selected_traffic_gb=traffic)
|
await state.update_data(config_selected_traffic_gb=traffic)
|
||||||
await render_user_config_screen(callback, state, session=session)
|
await render_user_config_screen(callback, state, session=session)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user