diff --git a/xml/menutab/page_catalog_group_pro_happy_trios.skt b/xml/menutab/page_catalog_group_pro_happy_trios.skt
new file mode 100644
index 00000000..7551e6de
--- /dev/null
+++ b/xml/menutab/page_catalog_group_pro_happy_trios.skt
@@ -0,0 +1,45 @@
+
+
+
+ "Enable"
+ 1080
+ 1920
+; "0xeae6e1"
+ SoundVolume
+
+ ; On open
+
+
+
+
+ Var Timeout = 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/menutab/page_catalog_group_pro_happy_trios.xml b/xml/menutab/page_catalog_group_pro_happy_trios.xml
new file mode 100644
index 00000000..29f6da2c
--- /dev/null
+++ b/xml/menutab/page_catalog_group_pro_happy_trios.xml
@@ -0,0 +1,1585 @@
+
+
+
+ "Enable"
+ 1080
+ 1920
+; "0xeae6e1"
+ SoundVolume
+
+ ; On open
+ Var NextPage = "-"
+
+ DEBUGVAR ICE_PROCESS_STATUS
+ DEBUGVAR ICE_PROCESS_TXT
+
+
+ If show_eng = "true" Then
+ Var showthaiText = "Invisible"
+ Var showengText = "Enable"
+ Var DirImage = "ROOT/taobin_project/image/page3_en"
+ Var show_btp = "ROOT/taobin_project/image/page2/bn_thai_lang_press_2.png"
+ Var show_btn = "ROOT/taobin_project/image/page2/bn_thai_lang_2.png"
+
+ Var ice_tab_text = "Ice will be ready at "
+ Var text_unavailable = "UNAVAILABLE###size=16"
+
+ InstanceSetString "ShowEng"
+ Else
+ Var showengText = "Invisible"
+ Var showthaiText = "Enable"
+
+ Var DirImage = "ROOT/taobin_project/image/page3"
+ Var show_btp = "ROOT/taobin_project/image/page2/bn_eng_lang_2.png"
+ Var show_btn = "ROOT/taobin_project/image/page2/bn_eng_lang_2.png"
+
+ Var ice_tab_text = "น้ำแข็งจะพร้อมเวลา "
+ Var text_unavailable = "หมด###size=32"
+
+ InstanceSetString "ShowThai"
+ EndIf
+
+ If ICE_PROCESS_STATUS = 2 Then
+ Var ice_tab_process_show = "Enable"
+ Var ice_show_open = ice_tab_text + ICE_PROCESS_TXT
+ Else
+ Var ice_tab_process_show = "Invisible"
+ EndIf
+
+
+ ; SpiralOnline
+
+ Var MenuVSelected2 = "Invisible"
+
+ Var Menu1Selected2 = "Invisible"
+ Var Menu2Selected2 = "Invisible"
+ Var Menu3Selected2 = "Invisible"
+ Var Menu4Selected2 = "Invisible"
+
+ Var Menu6Selected2 = "Invisible"
+ Var Menu7Selected2 = "Invisible"
+ Var MenuVSelected2 = "Invisible"
+ Var Menu11Selected2 = "Invisible"
+
+ Var Menu21Selected2 = "Invisible"
+
+ Var MenuVSelected2 = "Invisible"
+ If SpiralOnline = "true" Then
+ If Seeker = "curr" Then
+ Var MenuVSelected2 = "Enable"
+ EndIf
+ EndIf
+
+ ; init default
+ Var Menu1Selected = "Enable"
+ Var Menu2Selected = "Enable"
+ Var Menu3Selected = "Enable"
+ Var Menu4Selected = "Enable"
+ ; 5 fruit
+ Var Menu5Selected = "Invisible"
+ ;Var Menu6Selected = "Enable"
+
+ Var Menu61Selected = "Enable"
+ Var Menu62Selected = "Enable"
+
+ Var Menu7Selected = "Enable"
+ ; 8 cocktail
+ Var Menu8Selected = "Invisible"
+
+ If CocktailShow = "true" Then
+ Var Menu7Selected = "Invisible"
+ Var Menu8Selected = "Enable"
+ EndIf
+
+
+ If AppFastEnable = "true" Then
+ Var Menu11Selected = "Enable"
+ Var Menu21Selected = "Invisible"
+ Var Menu7Selected = "Invisible"
+ Else
+ If MenuKidEnable = "true" Then
+ Var Menu11Selected = "Invisible"
+ Var Menu21Selected = "Enable"
+ Var Menu7Selected = "Invisible"
+ Else
+ Var Menu11Selected = "Invisible"
+ Var Menu21Selected = "Invisible"
+ Var Menu7Selected = "Enable"
+ EndIf
+ EndIf
+
+ If CocktailShow = "true" Then
+ Var Menu7Selected = "Invisible"
+ EndIf
+
+ If RecipeTag1 = "HealthTurnOn" Then
+ Var Menu22Selected = "Enable"
+ Else
+ Var Menu22Selected = "Invisible"
+ EndIf
+ ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Var Timeout = 0
+
+
+
+ If show_eng = "true" Then
+ Var DirImageDrinkOption = "ROOT/taobin_project/image/drink_option_en/"
+ Var DirImageAlter = "ROOT/taobin_project/image/page3_2_en/"
+
+ Else
+ Var DirImageDrinkOption = "ROOT/taobin_project/image/drink_option/"
+ Var DirImageAlter = "ROOT/taobin_project/image/page3_2/"
+ EndIf
+
+ SetInstanceIgnoreTouch
+
+
+
+
+
+; notice enable heathy menu
+
+
+ 0
+ 380
+ 1080
+ 1540
+ "0xeae6e1"
+
+
+
+
+
+ SAVELOG " EventUnitTest1 EventUnitTest1 EventUnitTest1 EventUnitTest1 EventUnitTest1 EventUnitTest1 "
+ RefreshAll
+
+
+
+; under line
+
+ 0
+ 494
+ "ROOT/taobin_project/image/page3/tab_line_bottom.png"
+
+
+
+; under line
+
+ 0
+ 358
+ "ROOT/taobin_project/image/page3/bg1.png"
+
+
+
+; back
+
+
+
+
+
+ InstanceGetString SaveStringInst
+ DEBUGVAR SaveStringInst
+ DEBUGVAR show_eng
+
+ If SaveStringInst = "RefreshNow" Then
+ GetXMLFileNameCurrentRunning CurrentOpenFile
+ Open CurrentOpenFile
+ EndIf
+
+ If show_eng = "true" Then
+ If SaveStringInst = "ShowThai" Then
+
+ InstanceSetString "ShowEng"
+ GetXMLFileNameCurrentRunning CurrentOpenFile
+ Open CurrentOpenFile
+ EndIf
+ Else
+ If SaveStringInst = "ShowEng" Then
+
+ InstanceSetString "ShowThai"
+ GetXMLFileNameCurrentRunning CurrentOpenFile
+ Open CurrentOpenFile
+ EndIf
+ EndIf
+
+
+
+;
+
+ 1080
+ "auto"
+ 0
+ 395
+
+ "Enable"
+ 896
+ 102
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEBUGVAR web_ready
+ If web_ready = "true" Then
+ If web_ref = QRCODE99x Then
+
+ Var web_readyOK = web_ready
+ Var web_telnumOK = web_telnum
+
+ Var web_app_prepar = "true"
+
+ ; Handle penetrator
+
+ If Only18 = "true" Then
+
+ Open "ROOT/taobin_project/xml/page_identity18_verification.xml"
+ Else
+
+ Open "/mnt/sdcard/coffeevending/taobin_project/xml/page_payment.xml"
+ EndIf
+
+ ; Open "/mnt/sdcard/coffeevending/taobin_project/xml/page_payment.xml"
+
+ EndIf
+ Else
+ EndIf
+
+
+
+
+
+
+
+
+
+
+ 10
+ 497
+ 1080
+ "auto"
+ "Vertical"
+ 4
+
+; menu_new_list 3
+ ; ==================> Len = 12
+ ; - - 12-01-03-0078
+
+ 33
+ 22
+ 225
+ 296
+ Flag( 12-01-03-0078.Button,$Sum1201030078)
+
+
+ 16
+ 164
+ 24
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showthaiText
+ "พรีเมียมเอสเพรสโซ่
+คาราเมลโอรีโอ"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showthaiText
+ "กาแฟ นม คาราเมล และโอรีโอ"
+
+
+ 16
+ 164
+ 22
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showengText
+ "PREMIUM ESPRESSO
+CARAMEL OREO"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showengText
+ "Coffee, Milk, Caramel Syrup, Oreo"
+
+
+ 16
+ 264
+ Var( DirImageDrinkOption + "option_deactive.png" )
+
+
+ 16
+ 264
+ "Invisible"
+ Var( DirImageDrinkOption + "hot.png" )
+ Var( DirImageDrinkOption + "hot_db.png" )
+
+
+ 50
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 81
+ 264
+ Var( DirImageDrinkOption + "cold.png" )
+ Var( DirImageDrinkOption + "cold_db.png" )
+ "Invisible"
+
+
+ 115
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 146
+ 264
+ Var( DirImageDrinkOption + "blend.png" )
+ Var( DirImageDrinkOption + "blend_db.png" )
+ $12-01-03-0078.Button
+
+
+ 183
+ 264
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ $12-01-03-0078.Button
+ Var( "฿" + $12-01-03-0078.Price )
+
+
+ 81
+ 264
+
+ eval(
+ If ICE_PROCESS_STATUS = 2 Then
+
+ Var ice_tab_process_show = "Invisible"
+
+ Else
+ Var ice_tab_process_show = "Invisible"
+ EndIf
+ Var return = ice_tab_process_show
+ )
+
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible.png"
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible_dis.png"
+
+
+ 49
+ 117
+
+ eval(
+ If $Sum1201030078 = "Disable" Then
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag1_is_disable
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag2_is_disable
+ STRCONTAIN "ERR" $12-01-03-0078.TAG tag3_is_disable
+ Var return = "Invisible"
+ If tag1_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag2_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag3_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ Else
+ Var return = "Invisible"
+ EndIf
+ )
+
+ "ROOT/taobin_project/image//img_menu_err2.png"
+
+
+ 84
+ 266
+ 10
+ OpunMediumTTF
+ 0xDE794E
+ ice_tab_process_show
+ ice_show_open
+
+
+ 48
+ 116
+ 32
+ 128
+ 64
+ MITRegularTTF
+ 0x5A5A5A
+ "disable-show"
+ $Sum1201030078
+ text_unavailable
+ center-vertical-horizontal
+
+
+ ; - - 12-21-03-0078
+
+ 33
+ 22
+ 225
+ 296
+ Flag( 12-21-03-0078.Button,$Sum1221030078)
+
+
+ 16
+ 164
+ 24
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showthaiText
+ "พรีเมียมเอสเพรสโซ่
+คาราเมลโอรีโอ"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showthaiText
+ "กาแฟ นม คาราเมล และโอรีโอ"
+
+
+ 16
+ 164
+ 22
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showengText
+ "PREMIUM ESPRESSO
+CARAMEL OREO"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showengText
+ "Coffee, Milk, Caramel Syrup, Oreo"
+
+
+ 16
+ 264
+ Var( DirImageDrinkOption + "option_deactive.png" )
+
+
+ 16
+ 264
+ "Invisible"
+ Var( DirImageDrinkOption + "hot.png" )
+ Var( DirImageDrinkOption + "hot_db.png" )
+
+
+ 50
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 81
+ 264
+ Var( DirImageDrinkOption + "cold.png" )
+ Var( DirImageDrinkOption + "cold_db.png" )
+ "Invisible"
+
+
+ 115
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 146
+ 264
+ Var( DirImageDrinkOption + "blend.png" )
+ Var( DirImageDrinkOption + "blend_db.png" )
+ $12-21-03-0078.Button
+
+
+ 183
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ $12-21-03-0078.Button
+ Var( "฿" + $12-21-03-0078.Price )
+
+
+ 81
+ 264
+
+ eval(
+ If ICE_PROCESS_STATUS = 2 Then
+
+ Var ice_tab_process_show = "Invisible"
+
+ Else
+ Var ice_tab_process_show = "Invisible"
+ EndIf
+ Var return = ice_tab_process_show
+ )
+
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible.png"
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible_dis.png"
+
+
+ 49
+ 117
+
+ eval(
+ If $Sum1221030078 = "Disable" Then
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag1_is_disable
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag2_is_disable
+ STRCONTAIN "ERR" $12-21-03-0078.TAG tag3_is_disable
+ Var return = "Invisible"
+ If tag1_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag2_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag3_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ Else
+ Var return = "Invisible"
+ EndIf
+ )
+
+ "ROOT/taobin_project/image//img_menu_err2.png"
+
+
+ 84
+ 266
+ 10
+ OpunMediumTTF
+ 0xDE794E
+ ice_tab_process_show
+ ice_show_open
+
+
+ 48
+ 116
+ 32
+ 128
+ 64
+ MITRegularTTF
+ 0x5A5A5A
+ "disable-show"
+ $Sum1221030078
+ text_unavailable
+ center-vertical-horizontal
+
+
+ ; ==================> Len = 12
+ ; - - 12-02-03-0057
+
+ 33
+ 22
+ 225
+ 296
+ Flag( 12-02-03-0057.Button,$Sum1202030057)
+
+
+ 16
+ 164
+ 24
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showthaiText
+ "พรีเมียมมัทฉะ
+คาราเมลโอรีโอ"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showthaiText
+ "มัทฉะ นม คาราเมล และโอรีโอ"
+
+
+ 16
+ 164
+ 22
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showengText
+ "PREMIUM MATCHA
+CARAMEL OREO"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showengText
+ "Matcha, Milk, Caramel Syrup, Oreo"
+
+
+ 16
+ 264
+ Var( DirImageDrinkOption + "option_deactive.png" )
+
+
+ 16
+ 264
+ "Invisible"
+ Var( DirImageDrinkOption + "hot.png" )
+ Var( DirImageDrinkOption + "hot_db.png" )
+
+
+ 50
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 81
+ 264
+ Var( DirImageDrinkOption + "cold.png" )
+ Var( DirImageDrinkOption + "cold_db.png" )
+ "Invisible"
+
+
+ 115
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 146
+ 264
+ Var( DirImageDrinkOption + "blend.png" )
+ Var( DirImageDrinkOption + "blend_db.png" )
+ $12-02-03-0057.Button
+
+
+ 183
+ 264
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ $12-02-03-0057.Button
+ Var( "฿" + $12-02-03-0057.Price )
+
+
+ 81
+ 264
+
+ eval(
+ If ICE_PROCESS_STATUS = 2 Then
+
+ Var ice_tab_process_show = "Invisible"
+
+ Else
+ Var ice_tab_process_show = "Invisible"
+ EndIf
+ Var return = ice_tab_process_show
+ )
+
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible.png"
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible_dis.png"
+
+
+ 49
+ 117
+
+ eval(
+ If $Sum1202030057 = "Disable" Then
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag1_is_disable
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag2_is_disable
+ STRCONTAIN "ERR" $12-02-03-0057.TAG tag3_is_disable
+ Var return = "Invisible"
+ If tag1_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag2_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag3_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ Else
+ Var return = "Invisible"
+ EndIf
+ )
+
+ "ROOT/taobin_project/image//img_menu_err2.png"
+
+
+ 84
+ 266
+ 10
+ OpunMediumTTF
+ 0xDE794E
+ ice_tab_process_show
+ ice_show_open
+
+
+ 48
+ 116
+ 32
+ 128
+ 64
+ MITRegularTTF
+ 0x5A5A5A
+ "disable-show"
+ $Sum1202030057
+ text_unavailable
+ center-vertical-horizontal
+
+
+ ; - - -
+ ; ==================> Len = 12
+ ; - - 12-02-03-0058
+
+ 33
+ 22
+ 225
+ 296
+ Flag( 12-02-03-0058.Button,$Sum1202030058)
+
+
+ 16
+ 164
+ 24
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showthaiText
+ "พรีเมียมชาไทย
+คาราเมลโอรีโอ"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showthaiText
+ "ชาไทย นม คาราเมล และโอรีโอ"
+
+
+ 16
+ 164
+ 22
+ 220
+ "multi2"
+ KanitMediumTTF
+ 0x322B26
+ showengText
+ "PREMIUM THAI TEA
+CARAMEL OREO"
+
+
+ 16
+ 220
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ showengText
+ "Thai Tea, Milk, Caramel Syrup, Oreo"
+
+
+ 16
+ 264
+ Var( DirImageDrinkOption + "option_deactive.png" )
+
+
+ 16
+ 264
+ "Invisible"
+ Var( DirImageDrinkOption + "hot.png" )
+ Var( DirImageDrinkOption + "hot_db.png" )
+
+
+ 50
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 81
+ 264
+ Var( DirImageDrinkOption + "cold.png" )
+ Var( DirImageDrinkOption + "cold_db.png" )
+ "Invisible"
+
+
+ 115
+ 265
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ "Invisible"
+ Var( "฿" + $-.Price )
+
+
+ 146
+ 264
+ Var( DirImageDrinkOption + "blend.png" )
+ Var( DirImageDrinkOption + "blend_db.png" )
+ $12-02-03-0058.Button
+
+
+ 183
+ 264
+ 14
+ 220
+ KanitMediumTTF
+ 0x6F5F51
+ 0xEAE6E1
+ $12-02-03-0058.Button
+ Var( "฿" + $12-02-03-0058.Price )
+
+
+ 81
+ 264
+
+ eval(
+ If ICE_PROCESS_STATUS = 2 Then
+
+ Var ice_tab_process_show = "Invisible"
+
+ Else
+ Var ice_tab_process_show = "Invisible"
+ EndIf
+ Var return = ice_tab_process_show
+ )
+
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible.png"
+ "ROOT/taobin_project/image/drink_option/ice_tab_unavalible_dis.png"
+
+
+ 49
+ 117
+
+ eval(
+ If $Sum1202030058 = "Disable" Then
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag1_is_disable
+ STRCONTAIN "ERR" $##-##-##-####.TAG tag2_is_disable
+ STRCONTAIN "ERR" $12-02-03-0058.TAG tag3_is_disable
+ Var return = "Invisible"
+ If tag1_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag2_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ If tag3_is_disable = "true" Then
+ Var return = "Enable"
+ EndIf
+ Else
+ Var return = "Invisible"
+ EndIf
+ )
+
+ "ROOT/taobin_project/image//img_menu_err2.png"
+
+
+ 84
+ 266
+ 10
+ OpunMediumTTF
+ 0xDE794E
+ ice_tab_process_show
+ ice_show_open
+
+
+ 48
+ 116
+ 32
+ 128
+ 64
+ MITRegularTTF
+ 0x5A5A5A
+ "disable-show"
+ $Sum1202030058
+ text_unavailable
+ center-vertical-horizontal
+
+
+ ; - - -
+
+; Cart
+
+
+
+
+
+