feat: convert all WhatsApp menus from list to button type

- NormalBot: fix type check 'buttons' -> 'button' in buildMenuResponse
- DashboardController: botConfig editor now shows buttons editor for button-type menus,
  list fields (header/footer/button trigger) hidden for button type; menuTypeChange/addBtnRow
  JS functions toggle the UI; addMenu() defaults to button type
- DashboardController: renderMenuNode and renderFlowNode now read buttons[] array for
  button-type menus instead of only sections[].rows
- DashboardController: editMenu modal shows buttons editor or sections editor based on type;
  editMenuTypeToggle/addEditBtnRow; saveMenu reads buttons for button type
- public/index.php: botConfigSave handler parses menu_btn_id/menu_btn_title for button menus;
  saves compact {type,body,buttons} structure; list menus still save {type,header,...,sections}
- DB: migrated all list menus to button type for both companies (show_main_menu,
  submenu_informes, submenu_ciclos, show_menu_cat1, show_menu_cat2)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-27 19:27:37 -05:00
co-authored by Claude Sonnet 4.6
parent e4841e2741
commit 639c3e7938
3 changed files with 286 additions and 145 deletions
+1 -1
View File
@@ -262,7 +262,7 @@ class NormalBot
return self::enqueueInteractive($to, $interactive, $company);
}
if ($menuType === 'buttons') {
if ($menuType === 'button') {
$buttons = [];
foreach ($menu['buttons'] ?? [] as $btn) {
$buttons[] = [