tabexseriescomponents 0.0.706 → 0.0.708

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/package.json +1 -1
  2. package/srcoman/Contexts/LanguageContext.jsx +408 -0
  3. package/srcoman/Contexts/ProductsCardsSectionContext.jsx +36 -0
  4. package/srcoman/Imagekitconfig.jsx +46 -0
  5. package/srcoman/StylesJS/Customstyles.js +345 -0
  6. package/srcoman/TabexComponents/Cards/CTAProductCard/CTAProductCard.jsx +376 -0
  7. package/srcoman/TabexComponents/Cards/Card20/Card20.jsx +298 -0
  8. package/srcoman/TabexComponents/Cards/Card21/Card21.jsx +388 -0
  9. package/srcoman/TabexComponents/Cards/Card22/Card22.jsx +288 -0
  10. package/srcoman/TabexComponents/Cards/Card23/Card23 copy.jsx +1630 -0
  11. package/srcoman/TabexComponents/Cards/Card23/Card23.jsx +742 -0
  12. package/srcoman/TabexComponents/Cards/CardAll/CardAll.jsx +453 -0
  13. package/srcoman/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +394 -0
  14. package/srcoman/TabexComponents/Cards/CardWithTextOnly/CardWithTextOnly.jsx +70 -0
  15. package/srcoman/TabexComponents/Cards/CategoryCardTextOnImage/CategoryCardTextOnImage.jsx +211 -0
  16. package/srcoman/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +255 -0
  17. package/srcoman/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +235 -0
  18. package/srcoman/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +199 -0
  19. package/srcoman/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +182 -0
  20. package/srcoman/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +181 -0
  21. package/srcoman/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +161 -0
  22. package/srcoman/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +184 -0
  23. package/srcoman/TabexComponents/Cards/CircleCardWithVariants/CircleCardWithVariants.jsx +560 -0
  24. package/srcoman/TabexComponents/Cards/Classiccategorycard/Classiccategorycard copy.jsx +145 -0
  25. package/srcoman/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +146 -0
  26. package/srcoman/TabexComponents/Cards/Classiccategorycard/ClassiccategorycardOriginal.jsx +142 -0
  27. package/srcoman/TabexComponents/Cards/HorizontalCategoryCard/HorizontalCategoryCard.jsx +193 -0
  28. package/srcoman/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +409 -0
  29. package/srcoman/TabexComponents/Cards/MenuCard/MenuCard.jsx +732 -0
  30. package/srcoman/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +468 -0
  31. package/srcoman/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +593 -0
  32. package/srcoman/TabexComponents/Cards/Moderncategorycard/Moderncategorycard.jsx +208 -0
  33. package/srcoman/TabexComponents/Cards/NewProductcard/NewProductcard copy.jsx +497 -0
  34. package/srcoman/TabexComponents/Cards/NewProductcard/NewProductcard.jsx +512 -0
  35. package/srcoman/TabexComponents/Cards/ProductCardWithTextOnImage/ProductCardWithTextOnImage.jsx +304 -0
  36. package/srcoman/TabexComponents/Cards/Productcard6/Productcard6.jsx +257 -0
  37. package/srcoman/TabexComponents/Cards/Productcard7/Productcard7.jsx +277 -0
  38. package/srcoman/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +352 -0
  39. package/srcoman/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +291 -0
  40. package/srcoman/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +315 -0
  41. package/srcoman/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +327 -0
  42. package/srcoman/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants copy.jsx +408 -0
  43. package/srcoman/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +528 -0
  44. package/srcoman/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +558 -0
  45. package/srcoman/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +275 -0
  46. package/srcoman/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +286 -0
  47. package/srcoman/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +137 -0
  48. package/srcoman/TabexComponents/Cards/QuantityButtonBasedProductCard/QuantityButtonBasedProductCard.jsx +613 -0
  49. package/srcoman/TabexComponents/Cards/ServiceCard/ServiceCard.jsx +413 -0
  50. package/srcoman/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +225 -0
  51. package/srcoman/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy 2.jsx +525 -0
  52. package/srcoman/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy.jsx +455 -0
  53. package/srcoman/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +905 -0
  54. package/srcoman/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +337 -0
  55. package/srcoman/TabexComponents/Cards/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +347 -0
  56. package/srcoman/TabexComponents/Cards/UpSlideEffectCard/UpSlideEffectCard.jsx +605 -0
  57. package/srcoman/TabexComponents/Cards/UserCardWithSocialMediaOnHover/UserCardWithSocialMediaOnHover.jsx +185 -0
  58. package/srcoman/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +528 -0
  59. package/srcoman/TabexComponents/Footer/Footer1/Footer1.jsx +780 -0
  60. package/srcoman/TabexComponents/Footer/Footer2/Footer2.jsx +527 -0
  61. package/srcoman/TabexComponents/Footer/Footer3/Footer3.jsx +411 -0
  62. package/srcoman/TabexComponents/Footer/Footer4/Footer4.jsx +466 -0
  63. package/srcoman/TabexComponents/Footer/Footer5/Footer5.jsx +714 -0
  64. package/srcoman/TabexComponents/Footer/Footer6/Footer6.jsx +290 -0
  65. package/srcoman/TabexComponents/Footer/Footer7/Footer7.jsx +428 -0
  66. package/srcoman/TabexComponents/Footer/Footer8/Footer8.jsx +533 -0
  67. package/srcoman/TabexComponents/Footer/FooterWithThreeColumns/FooterWithThreeColumns.jsx +330 -0
  68. package/srcoman/TabexComponents/Footer/ModernFooter/ModernFooter.jsx +562 -0
  69. package/srcoman/TabexComponents/Footer/Newsletterfooter/Newsletterfooter.jsx +865 -0
  70. package/srcoman/TabexComponents/Footer/Newsletterincenter/Newsletterincenter.jsx +647 -0
  71. package/srcoman/TabexComponents/Footer/PrivacyPolicy/PrivacyPolicy.jsx +110 -0
  72. package/srcoman/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +316 -0
  73. package/srcoman/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  74. package/srcoman/TabexComponents/Generalfiles/images/noimage.png +0 -0
  75. package/srcoman/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  76. package/srcoman/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  77. package/srcoman/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  78. package/srcoman/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  79. package/srcoman/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  80. package/srcoman/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  81. package/srcoman/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  82. package/srcoman/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  83. package/srcoman/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  84. package/srcoman/TabexComponents/Generalfiles/images/usflag.png +0 -0
  85. package/srcoman/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  86. package/srcoman/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +1259 -0
  87. package/srcoman/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +1049 -0
  88. package/srcoman/TabexComponents/Headers/CenteredLogoHeaderWithSlider/CenteredLogoHeaderWithSlider.jsx +1040 -0
  89. package/srcoman/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +1263 -0
  90. package/srcoman/TabexComponents/Headers/DownloadApp/DownloadApp.jsx +76 -0
  91. package/srcoman/TabexComponents/Headers/ElegantHeader/ElegantHeader.jsx +894 -0
  92. package/srcoman/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +831 -0
  93. package/srcoman/TabexComponents/Headers/Header4/Header4.jsx +622 -0
  94. package/srcoman/TabexComponents/Headers/Header8/Header8 copy.jsx +1026 -0
  95. package/srcoman/TabexComponents/Headers/Header8/Header8.jsx +1976 -0
  96. package/srcoman/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +776 -0
  97. package/srcoman/TabexComponents/Headers/HeaderWithAdSlider/HeaderWithAdSlider.jsx +927 -0
  98. package/srcoman/TabexComponents/Headers/HeaderWithSearchOnCenter/HeaderWithSearchOnCenter.jsx +704 -0
  99. package/srcoman/TabexComponents/Headers/HeaderWithUtilityBar/HeaderWithUtilityBar.jsx +902 -0
  100. package/srcoman/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +953 -0
  101. package/srcoman/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +1562 -0
  102. package/srcoman/TabexComponents/Headers/Headerresponsive/Headerresponsive11-1.jsx +1201 -0
  103. package/srcoman/TabexComponents/Headers/Headerresponsive/HeaderresponsiveOriginal.jsx +990 -0
  104. package/srcoman/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2 copy.jsx +1639 -0
  105. package/srcoman/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2.jsx +1610 -0
  106. package/srcoman/TabexComponents/Headers/Headerresponsive/Headerresponsivenew.jsx +1327 -0
  107. package/srcoman/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +934 -0
  108. package/srcoman/TabexComponents/Headers/MarqueeHeader/MarqueeHeader.jsx +78 -0
  109. package/srcoman/TabexComponents/Headers/Modernheader/Modernheader.jsx +972 -0
  110. package/srcoman/TabexComponents/Headers/SearchCenteredHeader/SearchCenteredHeader.jsx +778 -0
  111. package/srcoman/TabexComponents/Headers/SearchFocusedHeader/SearchFocusedHeader.jsx +1159 -0
  112. package/srcoman/TabexComponents/Headers/Simpleheader/Simpleheader.jsx +1073 -0
  113. package/srcoman/TabexComponents/Headers/SocialMediaSection/SocialMediaSection.jsx +133 -0
  114. package/srcoman/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +854 -0
  115. package/srcoman/TabexComponents/Headers/Subheader/Subheader.jsx +863 -0
  116. package/srcoman/TabexComponents/Headers/Subheader/Subheader13-3.jsx +685 -0
  117. package/srcoman/TabexComponents/Headers/Subheader/SubheaderOriginal.jsx +517 -0
  118. package/srcoman/TabexComponents/Headers/Subheader/Subheadernew.jsx +555 -0
  119. package/srcoman/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +1042 -0
  120. package/srcoman/TabexComponents/Headers/TwoTieredHeader/TwoTieredHeader.jsx +1089 -0
  121. package/srcoman/TabexComponents/Headers/TwoTieredWithCenteredLogoHeader/TwoTieredWithCenteredLogoHeader.jsx +936 -0
  122. package/srcoman/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +533 -0
  123. package/srcoman/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +338 -0
  124. package/srcoman/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +870 -0
  125. package/srcoman/TabexComponents/Sections/BackgroundImages/BackgroundSectionWithServicesCards/BackgroundSectionWithServicesCards.jsx +302 -0
  126. package/srcoman/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +314 -0
  127. package/srcoman/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +318 -0
  128. package/srcoman/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +179 -0
  129. package/srcoman/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +201 -0
  130. package/srcoman/TabexComponents/Sections/BackgroundImages/CollapsableSection/CollapsableSection.jsx +393 -0
  131. package/srcoman/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy 2.jsx +583 -0
  132. package/srcoman/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy.jsx +291 -0
  133. package/srcoman/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm.jsx +627 -0
  134. package/srcoman/TabexComponents/Sections/BackgroundImages/DynamicForm/habal +348 -0
  135. package/srcoman/TabexComponents/Sections/BackgroundImages/Filterwithcategoriespcoll/Filterwithcategoriespcoll.jsx +387 -0
  136. package/srcoman/TabexComponents/Sections/BackgroundImages/FullVideoSection/FullVideoSection.jsx +268 -0
  137. package/srcoman/TabexComponents/Sections/BackgroundImages/MapsSection/MapsSection.jsx +288 -0
  138. package/srcoman/TabexComponents/Sections/BackgroundImages/Popupcomponent/Popupcomponent.jsx +117 -0
  139. package/srcoman/TabexComponents/Sections/BackgroundImages/Searchcomponent/Searchcomponent.jsx +99 -0
  140. package/srcoman/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +146 -0
  141. package/srcoman/TabexComponents/Sections/BackgroundImages/TextSectionConnectToWA/TextSectionConnectToWA.jsx +462 -0
  142. package/srcoman/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +296 -0
  143. package/srcoman/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages copy.jsx +396 -0
  144. package/srcoman/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +617 -0
  145. package/srcoman/TabexComponents/Sections/BackgroundImages/VideosSection/VideosSection.jsx +408 -0
  146. package/srcoman/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 2.jsx +1399 -0
  147. package/srcoman/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 3.jsx +1656 -0
  148. package/srcoman/TabexComponents/Sections/Cards/CardsSection/CardsSection copy.jsx +1540 -0
  149. package/srcoman/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +1898 -0
  150. package/srcoman/TabexComponents/Sections/Cards/CardsSection/CardsSection13-3.jsx +1596 -0
  151. package/srcoman/TabexComponents/Sections/Cards/CardsSection/CardsSection21-10.jsx +1872 -0
  152. package/srcoman/TabexComponents/Sections/Cards/CardsSection/CardsSection_cosmoandmore.jsx +1880 -0
  153. package/srcoman/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +726 -0
  154. package/srcoman/TabexComponents/Sections/Cards/CardsSectionwithfilter/CardsSectionwithfilter.jsx +719 -0
  155. package/srcoman/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +406 -0
  156. package/srcoman/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +929 -0
  157. package/srcoman/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards copy.jsx +646 -0
  158. package/srcoman/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards.jsx +962 -0
  159. package/srcoman/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +582 -0
  160. package/srcoman/TabexComponents/Sections/Cards/UsersCardsSection/UsersCardsSection.jsx +383 -0
  161. package/srcoman/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +342 -0
  162. package/srcoman/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +161 -0
  163. package/srcoman/TabexComponents/Sections/Slideshow/ContactUsSection/ContactUsSection.jsx +257 -0
  164. package/srcoman/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection copy.jsx +382 -0
  165. package/srcoman/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +437 -0
  166. package/srcoman/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection19-11.jsx +757 -0
  167. package/srcoman/TabexComponents/Sections/Slideshow/HorizontalContactUsSection/HorizontalContactUsSection.jsx +346 -0
  168. package/srcoman/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +1769 -0
  169. package/srcoman/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +141 -0
  170. package/srcoman/TabexComponents/Sections/Slideshow/ServiceSectionWithImage/ServiceSectionWithImage.jsx +376 -0
  171. package/srcoman/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +380 -0
  172. package/srcoman/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +867 -0
  173. package/srcoman/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +226 -0
  174. package/srcoman/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +149 -0
  175. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +143 -0
  176. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade copy.jsx +634 -0
  177. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +520 -0
  178. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide copy.jsx +527 -0
  179. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +643 -0
  180. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideOriginal.jsx +477 -0
  181. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideRecent.jsx +1217 -0
  182. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslideoriginal8-5.jsx +614 -0
  183. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.jsx +91 -0
  184. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom copy.jsx +380 -0
  185. package/srcoman/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +619 -0
  186. package/srcoman/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow copy.jsx +284 -0
  187. package/srcoman/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow.jsx +614 -0
  188. package/srcoman/TabexComponents/Sections/Slideshow/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +402 -0
  189. package/srcoman/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +199 -0
  190. package/srcoman/TabexComponents/StaticPages/AddReview/AddReview.jsx +304 -0
  191. package/srcoman/TabexComponents/StaticPages/Afiiliatesignup/Afiiliatesignup.jsx +321 -0
  192. package/srcoman/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +797 -0
  193. package/srcoman/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +460 -0
  194. package/srcoman/TabexComponents/StaticPages/Checkout/Checkout copy.jsx +1306 -0
  195. package/srcoman/TabexComponents/StaticPages/Checkout/Checkout.jsx +1892 -0
  196. package/srcoman/TabexComponents/StaticPages/Checkout/Checkout10-1.jsx +1633 -0
  197. package/srcoman/TabexComponents/StaticPages/Checkout/Checkout26-9.jsx +1593 -0
  198. package/srcoman/TabexComponents/StaticPages/Checkout/Checkout9-9.jsx +1574 -0
  199. package/srcoman/TabexComponents/StaticPages/Filter/CollectionsFilterHorizontal.jsx +245 -0
  200. package/srcoman/TabexComponents/StaticPages/Filter/Filter copy 2.jsx +2888 -0
  201. package/srcoman/TabexComponents/StaticPages/Filter/Filter copy.jsx +1450 -0
  202. package/srcoman/TabexComponents/StaticPages/Filter/Filter.jsx +2771 -0
  203. package/srcoman/TabexComponents/StaticPages/Filter/Filter1-5.jsx +2624 -0
  204. package/srcoman/TabexComponents/StaticPages/Filter/Filter13-11.jsx +2758 -0
  205. package/srcoman/TabexComponents/StaticPages/Filter/Filter14-8.jsx +2753 -0
  206. package/srcoman/TabexComponents/StaticPages/Filter/Filter17-9.jsx +1495 -0
  207. package/srcoman/TabexComponents/StaticPages/Filter/VariantFilter.jsx +1271 -0
  208. package/srcoman/TabexComponents/StaticPages/InnerGroups/InnerGroups.jsx +62 -0
  209. package/srcoman/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +50 -0
  210. package/srcoman/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +35 -0
  211. package/srcoman/TabexComponents/StaticPages/Login/Login copy.jsx +1060 -0
  212. package/srcoman/TabexComponents/StaticPages/Login/Login.jsx +610 -0
  213. package/srcoman/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.jsx +172 -0
  214. package/srcoman/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +1584 -0
  215. package/srcoman/TabexComponents/StaticPages/Policies/Policies.jsx +291 -0
  216. package/srcoman/TabexComponents/StaticPages/PrivacyPolicy/PrivacyPolicy.jsx +194 -0
  217. package/srcoman/TabexComponents/StaticPages/Productinfo/Addreviewform.jsx +183 -0
  218. package/srcoman/TabexComponents/StaticPages/Productinfo/AddreviewformOriginal.jsx +128 -0
  219. package/srcoman/TabexComponents/StaticPages/Productinfo/Article_itemtype.jsx +255 -0
  220. package/srcoman/TabexComponents/StaticPages/Productinfo/DescriptionContent.jsx +176 -0
  221. package/srcoman/TabexComponents/StaticPages/Productinfo/ProductExtraFields.jsx +225 -0
  222. package/srcoman/TabexComponents/StaticPages/Productinfo/ProductExtras.jsx +92 -0
  223. package/srcoman/TabexComponents/StaticPages/Productinfo/ProductHeaderPricing.jsx +312 -0
  224. package/srcoman/TabexComponents/StaticPages/Productinfo/ProductReviews.jsx +235 -0
  225. package/srcoman/TabexComponents/StaticPages/Productinfo/Product_itemtype.jsx +1983 -0
  226. package/srcoman/TabexComponents/StaticPages/Productinfo/Product_itemtype10-1.jsx +1554 -0
  227. package/srcoman/TabexComponents/StaticPages/Productinfo/Product_itemtype3-11.jsx +1827 -0
  228. package/srcoman/TabexComponents/StaticPages/Productinfo/Product_itemtype31-3.jsx +1351 -0
  229. package/srcoman/TabexComponents/StaticPages/Productinfo/Product_itemtypeUpdated.jsx +1566 -0
  230. package/srcoman/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +1946 -0
  231. package/srcoman/TabexComponents/StaticPages/Productinfo/Service_itemtype.jsx +1037 -0
  232. package/srcoman/TabexComponents/StaticPages/Productinfo/Serviceinfotabs.jsx +966 -0
  233. package/srcoman/TabexComponents/StaticPages/Productinfo/Variantoptions.jsx +632 -0
  234. package/srcoman/TabexComponents/StaticPages/Productinfo/Variantoptions21-9.jsx +324 -0
  235. package/srcoman/TabexComponents/StaticPages/Productinfo/staticroutersidenav.module.css +145 -0
  236. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Addreviewform.jsx +183 -0
  237. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/AddreviewformOriginal.jsx +128 -0
  238. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/DescriptionContent.jsx +140 -0
  239. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/ProductExtraFields.jsx +225 -0
  240. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/ProductHeaderPricing.jsx +310 -0
  241. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/ProductReviews.jsx +235 -0
  242. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype.jsx +1672 -0
  243. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype10-1.jsx +1554 -0
  244. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype31-3.jsx +1351 -0
  245. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Product_itemtypeUpdated.jsx +1566 -0
  246. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Productinfo.jsx +1804 -0
  247. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Service_itemtype.jsx +560 -0
  248. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Serviceinfotabs.jsx +919 -0
  249. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Variantoptions.jsx +597 -0
  250. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/Variantoptions21-9.jsx +324 -0
  251. package/srcoman/TabexComponents/StaticPages/Productinfo4-4/staticroutersidenav.module.css +145 -0
  252. package/srcoman/TabexComponents/StaticPages/RefundPolicy/RefundPolicy.jsx +194 -0
  253. package/srcoman/TabexComponents/StaticPages/Resetpassword/Resetpassword.jsx +338 -0
  254. package/srcoman/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +359 -0
  255. package/srcoman/TabexComponents/StaticPages/ShippingPolicy/ShippingPolicy.jsx +113 -0
  256. package/srcoman/TabexComponents/StaticPages/Signup/CustomerAddressForm.jsx +277 -0
  257. package/srcoman/TabexComponents/StaticPages/Signup/CustomerInformationForm copy.jsx +1135 -0
  258. package/srcoman/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +1364 -0
  259. package/srcoman/TabexComponents/StaticPages/Signup/Signup.jsx +199 -0
  260. package/srcoman/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +292 -0
  261. package/srcoman/TabexComponents/StaticPages/TermsConditions/TermsConditions.jsx +113 -0
  262. package/srcoman/TabexComponents/StaticPages/VendorPage/VendorPage.jsx +162 -0
  263. package/srcoman/TabexComponents/StaticPages/Viewcart/Viewcart 10-10.jsx +765 -0
  264. package/srcoman/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +786 -0
  265. package/srcoman/TabexComponents/StaticPages/Viewcart/Viewcart26-9.jsx +786 -0
  266. package/srcoman/TabexComponents/StaticPages/Viewcart/ViewcartOriginal.jsx +786 -0
  267. package/srcoman/TabexComponents/StaticPages/Viewcart/ViewcartUpdated.jsx +1425 -0
  268. package/srcoman/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +844 -0
  269. package/srcoman/TabexComponents/StaticPages/Wishlist/Wishlist25-4.jsx +555 -0
  270. package/srcoman/TabexComponents/StaticPages/Wishlist/Wishlist26-9.jsx +555 -0
  271. package/srcoman/TabexComponents/StaticPages/Wishlist/WishlistOriginal.jsx +555 -0
  272. package/srcoman/TabexComponents/StaticPages/Wishlist/WishlistUpdated.jsx +815 -0
  273. package/srcoman/button.jsx +40 -0
  274. package/srcoman/index.jsx +334 -0
  275. package/srcoman/styles/Home.module.css +129 -0
  276. package/srcoman/styles/cards/Categorcycard_fullimage.module.css +14 -0
  277. package/srcoman/styles/cards/Categorycard_slidebgscaled.module.css +73 -0
  278. package/srcoman/styles/cards/Categorycard_withshapes.module.css +189 -0
  279. package/srcoman/styles/cards/ModernCardWithQuantityButton.module.css +30 -0
  280. package/srcoman/styles/cards/Productcard6.module.css +9 -0
  281. package/srcoman/styles/cards/Productccard_with_zoominonhover.module.css +51 -0
  282. package/srcoman/styles/cards/Prouductcard_with_zoomhover.module.css +61 -0
  283. package/srcoman/styles/cards/UserCardWithSocialMediaOnHover.module.css +65 -0
  284. package/srcoman/styles/cards/card23.module.css +60 -0
  285. package/srcoman/styles/cards/categorycard.module.css +84 -0
  286. package/srcoman/styles/cards/categorycard3.module.css +50 -0
  287. package/srcoman/styles/cards/categorycardwithtext.module.css +40 -0
  288. package/srcoman/styles/cards/generalCardsStyles.module.css +79 -0
  289. package/srcoman/styles/cards/productcard_animatedbuttons.module.css +139 -0
  290. package/srcoman/styles/cards/productcard_with_textonhover.module.css +18 -0
  291. package/srcoman/styles/cards/productcard_withtextonimage.module.css +0 -0
  292. package/srcoman/styles/cards/productccard_with_imageontopleft.module.css +85 -0
  293. package/srcoman/styles/general/bootstrap.css +4763 -0
  294. package/srcoman/styles/general/dropdown.css +206 -0
  295. package/srcoman/styles/general/editorbardropdown.module.css +94 -0
  296. package/srcoman/styles/general/filter.module.css +108 -0
  297. package/srcoman/styles/general/form.module.css +255 -0
  298. package/srcoman/styles/general/general.module.css +872 -0
  299. package/srcoman/styles/general/image-gallery.css +531 -0
  300. package/srcoman/styles/general/react-accessible-accordion.module.css +52 -0
  301. package/srcoman/styles/general/react-phone-input-2.module.css +927 -0
  302. package/srcoman/styles/general/scrollbtn.module.css +22 -0
  303. package/srcoman/styles/general/slick.module.css +166 -0
  304. package/srcoman/styles/general/tabs.module.css +119 -0
  305. package/srcoman/styles/general/workplaceeditor.module.css +328 -0
  306. package/srcoman/styles/globals.css +26 -0
  307. package/srcoman/styles/headers/CTAHeader.module.css +40 -0
  308. package/srcoman/styles/headers/CategoryFeaturingHeader.module.css +61 -0
  309. package/srcoman/styles/headers/Gotoheader.module.css +87 -0
  310. package/srcoman/styles/headers/Header7.module.css +50 -0
  311. package/srcoman/styles/headers/HeaderWithAdSlider.module.css +86 -0
  312. package/srcoman/styles/headers/HeaderWithSearchOnCenter.module.css +101 -0
  313. package/srcoman/styles/headers/HeaderWithUtilityBar.module.css +46 -0
  314. package/srcoman/styles/headers/Header_threesectionslogocentered.module.css +84 -0
  315. package/srcoman/styles/headers/NewHeader.module.css +101 -0
  316. package/srcoman/styles/headers/SearchFocusedHeader.module.css +62 -0
  317. package/srcoman/styles/headers/Sideheader.module.css +108 -0
  318. package/srcoman/styles/headers/Simpleheader.module.css +102 -0
  319. package/srcoman/styles/headers/classicheader.module.css +16 -0
  320. package/srcoman/styles/headers/classicheaderstyles.module.css +9 -0
  321. package/srcoman/styles/headers/dropdown.css +0 -0
  322. package/srcoman/styles/headers/header4.module.css +175 -0
  323. package/srcoman/styles/headers/header5.module.css +30 -0
  324. package/srcoman/styles/headers/header_contactinfo.module.css +53 -0
  325. package/srcoman/styles/headers/headerresturant.module.css +89 -0
  326. package/srcoman/styles/headers/modernheader.module.css +45 -0
  327. package/srcoman/styles/headers/stylishheader.module.css +24 -0
  328. package/srcoman/styles/headers/subheader.module.css +114 -0
  329. package/srcoman/styles/headers/threetieredheader.module.css +91 -0
  330. package/srcoman/styles/sections/BackgroundImageWithTopContent.css +4 -0
  331. package/srcoman/styles/sections/Backgroundimage1.module.css +17 -0
  332. package/srcoman/styles/sections/Backgroundimage_with_topcircle.module.css +28 -0
  333. package/srcoman/styles/sections/Freetext.module.css +18 -0
  334. package/srcoman/styles/sections/Section_with_rightbgcont.module.css +49 -0
  335. package/srcoman/styles/sections/Slideshow_with_rotatedsquare.module.css +35 -0
  336. package/srcoman/styles/sections/Slideshow_with_squarebg.module.css +39 -0
  337. package/srcoman/styles/staticpages/accordion.module.css +9 -0
  338. package/srcoman/styles/staticpages/cart.module.css +108 -0
  339. package/srcoman/styles/staticpages/dropdown.css +196 -0
  340. package/srcoman/styles/staticpages/filter.module.css +139 -0
  341. package/srcoman/styles/staticpages/image-gallery.css +481 -0
  342. package/srcoman/styles/staticpages/login.module.css +155 -0
  343. package/srcoman/styles/staticpages/productinfo.module.css +54 -0
  344. package/srcoman/styles/staticpages/shop.module.css +191 -0
  345. package/srcoman/styles/staticpages/signup.module.css +250 -0
  346. package/srcoman/styles/staticpages/staticroutersidenav.module.css +129 -0
  347. package/srcoman/styles/staticpages/viewcart.module.css +129 -0
  348. package/srcoman/styles/staticpages/wishlist.module.css +29 -0
@@ -0,0 +1,1364 @@
1
+ import React, { useEffect, useState, useContext } from 'react';
2
+ import loginstyles from '../../../styles/staticpages/signup.module.css';
3
+ import { CircularProgress } from 'react-cssfx-loading';
4
+ import TextareaAutosize from 'react-textarea-autosize';
5
+ import { css } from 'glamor';
6
+ import { defaultstyles, defaultstylestranslated, selectcustomStyles, selectcustomStylesTranslated } from '../../../StylesJS/Customstyles.js';
7
+ import GoogleLogin from '../Login/GoogleLoginButton.jsx';
8
+ import FacebookLoginButton from '../Login/FacebookLoginButton.jsx';
9
+ import PhoneInput from 'react-phone-input-2';
10
+ import { IoMdClose } from '@react-icons/all-files/io/IoMdClose';
11
+ import { Modal } from 'react-bootstrap';
12
+ const Select = React.lazy(() => import('react-select'));
13
+ const CustomerInformationForm = (props) => {
14
+ const lang = props.actions.lang;
15
+ const langdetect = props.actions.langdetect;
16
+ const routingcountext = props.actions.routingcountext;
17
+ const FetchQueriesEngineContext = props.actions.FetchQueriesEngineContext;
18
+ const setFetchQueriesEngineContext = props.actions.setFetchQueriesEngineContext;
19
+ const fetchinstitutecustomerinfosignupQueryContext = props.actions.fetchinstitutecustomerinfosignupQueryContext;
20
+ const fetchTabexCountriesQueryContext = props.actions.fetchTabexCountriesQueryContext;
21
+ const fetchTabexStatesQueryContext = props.actions.fetchTabexStatesQueryContext;
22
+ const fetchTabexCitiesQueryContext = props.actions.fetchTabexCitiesQueryContext;
23
+ const FetchTabexStatesPayloadobjContext = props.actions.FetchTabexStatesPayloadobjContext;
24
+ const setFetchTabexStatesPayloadobjContext = props.actions.setFetchTabexStatesPayloadobjContext;
25
+ const CustomerSignUpMutationContext = props.actions.CustomerSignUpMutationContext;
26
+ const fetchAuthorizationQueryContext = props.actions.fetchAuthorizationQueryContext;
27
+ const authdetailsContext = props.actions.authdetailsContext;
28
+ const instapikey = props.actions.instapikey;
29
+ const templatepropcontext = props.actions.templatepropcontext;
30
+ const GeneralAPIMutationContext = props.actions.GeneralAPIMutationContext;
31
+ const NotificationManager = props.actions.NotificationManager;
32
+ const actions = props.actions;
33
+ const [customeraddressrequierd, setcustomeraddressrequierd] = useState(fetchAuthorizationQueryContext?.data?.data?.instinfo?.customerAddressrequiered);
34
+ const [customervalidateemail, setcustomervalidateemail] = useState(fetchAuthorizationQueryContext?.data?.data?.instinfo?.customervalidateemail);
35
+ const [customervalidatephonenumber, setcustomervalidatephonenumber] = useState(fetchAuthorizationQueryContext?.data?.data?.instinfo?.customervalidatephonenumber);
36
+ const [validatephonenumbermodal, setvalidatephonenumbermodal] = useState(false);
37
+ const [validateemailmodal, setvalidateemailmodal] = useState(false);
38
+ const [sectionproperties, setsectionproperties] = useState('');
39
+ const [dataloaded, setdataloaded] = useState(false);
40
+ const [validatephonenumberpayload, setvalidatephonenumberpayload] = useState({
41
+ phonenumber: '',
42
+ code: '',
43
+ step: 'sendcode',
44
+ isvalidated: false,
45
+ });
46
+ const [validateemailpayload, setvalidateemailpayload] = useState({
47
+ email: '',
48
+ code: '',
49
+ step: 'sendcode',
50
+ isvalidated: props.srcfromprops == 'accountinfo' ? true : false,
51
+ });
52
+ const [payloadobj, setpayloadobj] = useState({
53
+ instapikey: instapikey,
54
+ name: '',
55
+ email: '',
56
+ mobile: '',
57
+ password: '',
58
+ password2: '',
59
+ shippingaddress: '',
60
+ addedsourcetype: 'Webapp',
61
+ instsignupformvalues: [],
62
+ countryid: '',
63
+ stateid: '',
64
+ cityid: '',
65
+ countrydialcode: '',
66
+ });
67
+ const [showpassword, setshowpassword] = useState(false);
68
+ const [showpassword2, setshowpassword2] = useState(false);
69
+ const [waitingpage, setwaitingpage] = useState(false);
70
+
71
+ useEffect(() => {
72
+ if (fetchAuthorizationQueryContext.isSuccess) {
73
+ setcustomeraddressrequierd(fetchAuthorizationQueryContext?.data?.data?.instinfo?.customerAddressrequiered);
74
+ setcustomervalidateemail(fetchAuthorizationQueryContext?.data?.data?.instinfo?.customervalidateemail);
75
+ setcustomervalidatephonenumber(fetchAuthorizationQueryContext?.data?.data?.instinfo?.customervalidatephonenumber);
76
+ }
77
+ }, [fetchAuthorizationQueryContext.isSuccess]);
78
+ useEffect(() => {
79
+ var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
80
+ tempFetchQueriesEngineContext.institutecustomerinfosignup = true;
81
+ tempFetchQueriesEngineContext.fetchtabexcountries = true;
82
+ setFetchQueriesEngineContext({ ...tempFetchQueriesEngineContext });
83
+
84
+ var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
85
+ }, []);
86
+ useEffect(() => {
87
+ if (props.sectionpropertiesprops != undefined && props.sectionpropertiesprops.length != 0) {
88
+ setsectionproperties({ ...props.sectionpropertiesprops });
89
+ }
90
+ }, [props.sectionpropertiesprops]);
91
+
92
+ useEffect(() => {
93
+ if (fetchinstitutecustomerinfosignupQueryContext.isSuccess) {
94
+ if (authdetailsContext.loggedin == true) {
95
+ var tempcustomerinfoobj = { ...fetchinstitutecustomerinfosignupQueryContext.data.data.customerinfo };
96
+ setpayloadobj({ ...tempcustomerinfoobj });
97
+ var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
98
+ if (tempcustomerinfoobj.countryid != null) {
99
+ tempFetchTabexStatesPayloadobjContext.country_id = tempcustomerinfoobj.countryid;
100
+ }
101
+ if (tempcustomerinfoobj.stateid != null) {
102
+ tempFetchTabexStatesPayloadobjContext.state_id = tempcustomerinfoobj.stateid;
103
+ }
104
+ setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
105
+ setdataloaded(true);
106
+ } else {
107
+ var tempcustomerinfoobj = { ...payloadobj };
108
+ if (Array.isArray(fetchinstitutecustomerinfosignupQueryContext?.data?.data?.instsignupformvalues)) {
109
+ tempcustomerinfoobj.instsignupformvalues = [...fetchinstitutecustomerinfosignupQueryContext.data.data.instsignupformvalues];
110
+ }
111
+ setpayloadobj({ ...tempcustomerinfoobj });
112
+ setdataloaded(true);
113
+ }
114
+ }
115
+ }, [fetchinstitutecustomerinfosignupQueryContext.isSuccess, fetchinstitutecustomerinfosignupQueryContext.data, authdetailsContext]);
116
+ const payloadobjchange = (key, value) => {
117
+ var temppayloadobj = { ...payloadobj };
118
+ temppayloadobj[key] = value;
119
+ setpayloadobj({ ...temppayloadobj });
120
+ };
121
+ const validateEmailstring = (email) => {
122
+ return String(email)
123
+ .toLowerCase()
124
+ .match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
125
+ };
126
+ const verifypayload = () => {
127
+ var iscompleted = false;
128
+ var isshippingaddresscompleted = false;
129
+ var passwordvalidation = false;
130
+ if (authdetailsContext.loggedin == false) {
131
+ if (authdetailsContext?.instinfo?.ispasswordrequired_signup == 1) {
132
+ if (payloadobj.password.length != 0) {
133
+ if (payloadobj.password == payloadobj.password2) {
134
+ passwordvalidation = true;
135
+ }
136
+ }
137
+ } else {
138
+ passwordvalidation = true;
139
+ }
140
+ } else if (authdetailsContext.loggedin == true) {
141
+ if (payloadobj.password.length != 0) {
142
+ if (payloadobj.password == payloadobj.password2) {
143
+ passwordvalidation = true;
144
+ }
145
+ } else {
146
+ passwordvalidation = true;
147
+ }
148
+ }
149
+
150
+ if (passwordvalidation == false) {
151
+ NotificationManager.warning('', lang.passwordsdontmatch);
152
+ }
153
+ if (customeraddressrequierd == 1) {
154
+ if (payloadobj.countryid.length != 0 && payloadobj.stateid.length != 0 && payloadobj.cityid.length != 0 && payloadobj.shippingaddress.length != 0) {
155
+ isshippingaddresscompleted = true;
156
+ }
157
+ } else {
158
+ isshippingaddresscompleted = true;
159
+ }
160
+ {
161
+ /* { && ( */
162
+ }
163
+ // if (authdetailsContext?.instinfo?.contactinfo.instid == '652e3ae969122') {
164
+ // if (payloadobj.name.length < 3) {
165
+ // NotificationManager.warning('', langdetect == 'en' ? 'Please Write your Full Name' : 'من فضلك اكتب اسمك كاملاً');
166
+ // }
167
+ // if (payloadobj.countrydialcode == '20' && payloadobj.mobile.length < 10) {
168
+ // NotificationManager.warning('', langdetect == 'en' ? 'Please Write valid phone number' : 'من فضلك اكتب رقم تليفون صحيح');
169
+ // }
170
+ // }
171
+ if (validateEmailstring(payloadobj.email)) {
172
+ if (payloadobj.email.length != 0 && payloadobj.name.length != 0 && payloadobj.mobile.length != 0 && passwordvalidation == true) {
173
+ if (isshippingaddresscompleted) {
174
+ var signupformismissing = true;
175
+ payloadobj.instsignupformvalues.forEach(function (arrayItem) {
176
+ if (arrayItem.optional == 1) {
177
+ if (arrayItem.customersignupvalue == undefined || arrayItem.customersignupvalue.length == 0) {
178
+ signupformismissing = false;
179
+ }
180
+ }
181
+ });
182
+ if (signupformismissing) {
183
+ iscompleted = true;
184
+ } else {
185
+ iscompleted = false;
186
+ NotificationManager.warning('', lang.completerequiredfields);
187
+ }
188
+ } else {
189
+ iscompleted = false;
190
+ NotificationManager.warning('', lang.pleasecompleteaddressmissingfields);
191
+ }
192
+ } else {
193
+ iscompleted = false;
194
+ NotificationManager.warning('', lang.fillthemissingfields);
195
+ }
196
+ } else {
197
+ iscompleted = false;
198
+ NotificationManager.warning('', lang.writevalidemail);
199
+ }
200
+ return iscompleted;
201
+ };
202
+ const signupbuttonfunc = () => {
203
+ if (verifypayload() == true) {
204
+ var temppayloadobj = { ...payloadobj };
205
+ if (authdetailsContext.loggedin == true) {
206
+ temppayloadobj.functype = 'edit';
207
+ } else {
208
+ temppayloadobj.functype = 'add';
209
+ }
210
+ temppayloadobj.addedsourcetype = 'Webapp';
211
+ temppayloadobj.instapikey = instapikey;
212
+ if (sectionproperties.redirectsaftersignup != 'Home') {
213
+ setwaitingpage(true);
214
+ }
215
+ CustomerSignUpMutationContext.mutate(temppayloadobj);
216
+ }
217
+ };
218
+
219
+ const formstyles = {
220
+ loginbtn: css({
221
+ background: templatepropcontext.primarycolor,
222
+ color: sectionproperties.generalbtn_textColor,
223
+ borderRadius: sectionproperties.generalbtn_borderradius + 'px',
224
+ fontSize: sectionproperties.generalbtn_fontsize + 'px',
225
+ lineHeight: sectionproperties.generalbtn_fontsize + 'px',
226
+ textTransform: sectionproperties.generalbtn_texttransform,
227
+ width: sectionproperties.generalbtn_width + 'px',
228
+ height: sectionproperties.generalbtn_height + 'px',
229
+ ':hover': {
230
+ background: templatepropcontext.secondarycolor,
231
+ },
232
+ }),
233
+ btnstyles: css({
234
+ width: sectionproperties.generalbtn_width + 'px',
235
+ height: sectionproperties.generalbtn_height + 'px',
236
+ textTransform: sectionproperties.generalbtn_texttransform,
237
+ fontSize: sectionproperties.generalbtn_fontsize + 'px',
238
+ color: sectionproperties.generalbtn_textColor,
239
+ background: sectionproperties.generalbtn_bgColor,
240
+ borderTopLeftRadius: sectionproperties.generalbtn_bordertopleftradius + 'px',
241
+ borderTopRightRadius: sectionproperties.generalbtn_bordertoprightradius + 'px',
242
+ borderBottomLeftRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
243
+ borderBottomRightRadius: sectionproperties.generalbtn_borderbottomrightradius + 'px',
244
+ fontWeight: sectionproperties.generalbtn_fontweight,
245
+ transition: '.3s',
246
+ ':hover': {
247
+ background: sectionproperties.generalbtn_bgColoronhover,
248
+ color: sectionproperties.generalbtn_textColoronhover,
249
+ },
250
+ }),
251
+ signupbtn: css({
252
+ width: sectionproperties.signup_btn_width + 'px',
253
+ height: sectionproperties.signup_btn_height + 'px',
254
+ borderRadius: sectionproperties.signup_btn_borderBottomLeftRadius + 'px',
255
+ textTransform: sectionproperties.signup_btn_texttransform,
256
+ fontSize: sectionproperties.signup_btn_fontSize + 'px',
257
+ color: sectionproperties.signup_btn_color,
258
+ fontWeight: sectionproperties.signup_btn_fontweight,
259
+ background: sectionproperties.signup_btnbgcolor_transparent == 'Transparent' ? 'transparent' : sectionproperties.signup_btnbgcolor,
260
+ border: sectionproperties.signup_btn_borderwidth + 'px solid ' + sectionproperties.signupbtn_bordercolor,
261
+ transition: '.3s',
262
+ ':hover': {
263
+ background: sectionproperties.signup_btnbgcoloroonhovertransparent == 'Transparent' ? 'transparent' : sectionproperties.signup_btnbgcoloroonhover,
264
+ color: sectionproperties.signup_btn_coloronhover,
265
+ borderColor: sectionproperties.signup_btn_coloronhover,
266
+ },
267
+ }),
268
+ input_label_name: css({
269
+ color: sectionproperties.form_labelcolor,
270
+ textTransform: sectionproperties.form_labeltexttransform,
271
+ fontWeight: sectionproperties.form_labelfontweight,
272
+ fontSize: sectionproperties.form_labelfontsize + 'px',
273
+ marginBottom: sectionproperties.inputfieldbordertype == 'All' ? 10 : 0,
274
+ }),
275
+ form_control: css({
276
+ background: 'transparent',
277
+ color: sectionproperties.inputfieldcolor,
278
+ fontSize: sectionproperties.inputfieldfontsize + 'px',
279
+ position: 'relative',
280
+ display: 'flex',
281
+ alignItems: 'center',
282
+ display: 'block',
283
+ width: '100%',
284
+ // height: '35px',
285
+ padding: '0 10px',
286
+ transition: '.3s',
287
+ border: sectionproperties.inputfieldbordertype == 'All' ? sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor : 0,
288
+ borderBottom: sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor,
289
+ borderRadius: sectionproperties.inputfieldborderradius + 'px',
290
+ height: sectionproperties.inputfieldheight + 'px',
291
+ background: sectionproperties.input_bgcolor,
292
+ color: sectionproperties.inputfieldcolor,
293
+ ':focus': {
294
+ borderColor: sectionproperties.inputfeildbordercoloronfocus,
295
+ },
296
+ ':focus .login_input_icon': {
297
+ color: sectionproperties.inputfeildbordercoloronfocus,
298
+ },
299
+ }),
300
+ checkbox: css({
301
+ color: sectionproperties.checkbox_color,
302
+ textTransform: sectionproperties.form_labeltexttransform,
303
+ fontWeight: sectionproperties.form_labelfontweight,
304
+ fontSize: sectionproperties.form_labelfontsize + 'px',
305
+ transition: '.3s',
306
+ ':hover': {
307
+ color: sectionproperties.checkbox_texthovercolor,
308
+ },
309
+ 'input:checked': {
310
+ color: sectionproperties.checkbox_checkedcolor,
311
+ },
312
+ }),
313
+ checkboxinputstyles: css({
314
+ ':hover:not(:checked)': {
315
+ boxShadow: 'inset 0 0 0 2px ' + sectionproperties.checkbox_texthovercolor,
316
+ },
317
+ ':checked': {
318
+ boxShadow: 'inset 0 0 0 2px ' + sectionproperties.checkbox_checkedcolor,
319
+ },
320
+ }),
321
+ svgstyles: css({
322
+ stroke: 'var(--stroke, ' + sectionproperties.checkbox_checkedcolor + ')',
323
+ }),
324
+ terms: css({
325
+ ':hover': {
326
+ transition: '.3s',
327
+ color: sectionproperties.termsandconditionsecondarycolor,
328
+ },
329
+ }),
330
+ };
331
+
332
+ const PersonalInformation = () => {
333
+ return (
334
+ <div className="row m-0 w-100">
335
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-4 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
336
+ <label className={`${formstyles.input_label_name}` + ' d-flex align-items-start '}>{lang.name}</label>
337
+ <input
338
+ type="text"
339
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
340
+ value={payloadobj.name}
341
+ onChange={(event) => {
342
+ payloadobjchange('name', event.target.value);
343
+ }}
344
+ style={{
345
+ background: sectionproperties.input_bgcolor,
346
+ }}
347
+ />
348
+ </div>
349
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-4 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
350
+ <label className={`${formstyles.input_label_name}` + ' d-flex align-items-start '}>{lang.email}</label>
351
+ {sectionproperties.showemaildisclaimer == 'Show' && <sup>{langdetect == 'en' ? sectionproperties.emaildisclaimeren : sectionproperties.emaildisclaimerar}</sup>}
352
+ <input
353
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
354
+ type="text"
355
+ textplaceholder=""
356
+ value={payloadobj.email}
357
+ disabled={validateemailpayload.isvalidated}
358
+ onChange={(event) => {
359
+ payloadobjchange('email', event.target.value);
360
+ }}
361
+ style={{
362
+ background: sectionproperties.input_bgcolor,
363
+ }}
364
+ />
365
+ </div>
366
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-4 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
367
+ <label className={formstyles.input_label_name + ' d-flex justify-content-start '}>{lang.phonenumber}</label>
368
+ {/* <input
369
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
370
+ type="text"
371
+ textplaceholder=""
372
+ value={payloadobj.mobile}
373
+ onChange={(event) => {
374
+ payloadobjchange('mobile', event.target.value);
375
+ }}
376
+ /> */}
377
+ <PhoneInput
378
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
379
+ country={'eg'}
380
+ enableSearch={true}
381
+ autoFormat={true}
382
+ value={payloadobj.mobile}
383
+ inputStyle={{
384
+ color: sectionproperties.inputfieldcolor,
385
+ }}
386
+ onChange={(event, country) => {
387
+ var temp = { ...payloadobj };
388
+ temp.mobile = event;
389
+ temp.countrydialcode = country.dialCode;
390
+ setpayloadobj({ ...temp });
391
+ // payloadobjchange('mobile', event);
392
+
393
+ // alert(JSON.stringify(country));
394
+ }}
395
+ style={{ direction: 'ltr', color: sectionproperties.inputfieldcolor }}
396
+ />
397
+ </div>
398
+ </div>
399
+ );
400
+ };
401
+ const Address = () => {
402
+ return (
403
+ <div
404
+ className="row m-0 w-100"
405
+ style={{
406
+ display: sectionproperties.hidecountrystatecity == 'Show' && sectionproperties.hideaddress == 'Show' ? 'flex' : 'none',
407
+ }}
408
+ >
409
+ {sectionproperties.hidecountrystatecity == 'Show' && (
410
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-4 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
411
+ <label className={formstyles.input_label_name + ' d-flex justify-content-start '}>
412
+ {lang.country}
413
+ {customeraddressrequierd == 1 && (
414
+ <span class="ml-1 mr-1" style={{ color: 'red' }}>
415
+ *
416
+ </span>
417
+ )}
418
+ </label>
419
+ {fetchTabexCountriesQueryContext.isFetching && (
420
+ <div className="col-lg-4 col-md-12 col-sm-12 mb-3 p-sm-0 d-flex justify-content-center align-items-center">
421
+ <CircularProgress color="black" width="20px" height="20px" duration="1s" />
422
+ </div>
423
+ )}
424
+ {!fetchTabexCountriesQueryContext.isFetching && fetchTabexCountriesQueryContext.isSuccess && (
425
+ <Select
426
+ options={fetchTabexCountriesQueryContext.data.data.countries}
427
+ getOptionLabel={(option) => {
428
+ var crname = '';
429
+ if (langdetect == 'en') {
430
+ crname = option.name;
431
+ } else if (langdetect == 'ar') {
432
+ if (option.name_ar != null) {
433
+ crname = option.name_ar;
434
+ } else {
435
+ crname = option.name;
436
+ }
437
+ }
438
+ return crname;
439
+ }}
440
+ getOptionValue={(option) => option.id}
441
+ autocomplete="new-password"
442
+ value={fetchTabexCountriesQueryContext.data.data.countries.filter((option) => option.id == payloadobj.countryid)}
443
+ onChange={(option) => {
444
+ var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
445
+ tempFetchTabexStatesPayloadobjContext.functype = 'states';
446
+ tempFetchTabexStatesPayloadobjContext.country_id = option.id;
447
+ setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
448
+ payloadobjchange('countryid', option.id);
449
+ }}
450
+ styles={
451
+ sectionproperties.inputfieldbordertype == 'All'
452
+ ? langdetect == 'en'
453
+ ? selectcustomStyles
454
+ : selectcustomStylesTranslated
455
+ : langdetect == 'en'
456
+ ? defaultstyles
457
+ : defaultstylestranslated
458
+ }
459
+ placeholder={langdetect == 'en' ? 'Choose Country' : 'إختر البلد'}
460
+ isSearchable={true}
461
+ />
462
+ )}
463
+ </div>
464
+ )}
465
+ {sectionproperties.hidecountrystatecity == 'Show' && (
466
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-4 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
467
+ <label className={formstyles.input_label_name + ' d-flex justify-content-start '}>
468
+ {lang.choosestategov}{' '}
469
+ {customeraddressrequierd == 1 && (
470
+ <span class="ml-1 mr-1" style={{ color: 'red' }}>
471
+ *
472
+ </span>
473
+ )}
474
+ </label>
475
+ {fetchTabexStatesQueryContext.isFetching && (
476
+ <div className="col-lg-12 col-md-12 col-sm-12 mb-3 p-sm-0 d-flex justify-content-center align-items-center">
477
+ <CircularProgress color="black" width="20px" height="20px" duration="1s" />
478
+ </div>
479
+ )}
480
+ {FetchTabexStatesPayloadobjContext.country_id == '' && (
481
+ <Select styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated} placeholder={lang.choosestategov} isSearchable={true} />
482
+ )}
483
+ {!fetchTabexStatesQueryContext.isFetching && fetchTabexStatesQueryContext.isSuccess && (
484
+ <Select
485
+ options={fetchTabexStatesQueryContext.data.data.states}
486
+ getOptionLabel={(option) => {
487
+ var crname = '';
488
+ if (langdetect == 'en') {
489
+ crname = option.name;
490
+ } else if (langdetect == 'ar') {
491
+ if (option.name_ar != null) {
492
+ crname = option.name_ar;
493
+ } else {
494
+ crname = option.name;
495
+ }
496
+ }
497
+ return crname;
498
+ }}
499
+ getOptionValue={(option) => option.id}
500
+ autocomplete="new-password"
501
+ value={fetchTabexStatesQueryContext.data.data.states.filter((option) => option.id == payloadobj.stateid)}
502
+ onChange={(option) => {
503
+ var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
504
+ tempFetchTabexStatesPayloadobjContext.functype = 'cities';
505
+ tempFetchTabexStatesPayloadobjContext.state_id = option.id;
506
+ setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
507
+ payloadobjchange('stateid', option.id);
508
+ }}
509
+ styles={
510
+ sectionproperties.inputfieldbordertype == 'All'
511
+ ? langdetect == 'en'
512
+ ? selectcustomStyles
513
+ : selectcustomStylesTranslated
514
+ : langdetect == 'en'
515
+ ? defaultstyles
516
+ : defaultstylestranslated
517
+ }
518
+ placeholder={lang.choosestategov}
519
+ isSearchable={true}
520
+ />
521
+ )}
522
+ </div>
523
+ )}
524
+ {sectionproperties.hidecountrystatecity == 'Show' && (
525
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-4 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
526
+ <label className={formstyles.input_label_name + ' d-flex justify-content-start '}>
527
+ {lang.city}
528
+ {customeraddressrequierd == 1 && (
529
+ <span class="ml-1 mr-1" style={{ color: 'red' }}>
530
+ *
531
+ </span>
532
+ )}
533
+ </label>
534
+ {fetchTabexCitiesQueryContext.isFetching && (
535
+ <div className="col-lg-12 col-md-12 col-sm-12 mb-3 p-sm-0 d-flex justify-content-center align-items-center">
536
+ <CircularProgress color="black" width="20px" height="20px" duration="1s" />
537
+ </div>
538
+ )}
539
+ {FetchTabexStatesPayloadobjContext.country_id == '' && (
540
+ <Select placeholder={lang.choosecity} styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated} isSearchable={true} />
541
+ )}
542
+ {!fetchTabexCitiesQueryContext.isFetching && fetchTabexCitiesQueryContext.isSuccess && (
543
+ <Select
544
+ options={fetchTabexCitiesQueryContext.data.data.cities}
545
+ getOptionLabel={(option) => {
546
+ var crname = '';
547
+ if (langdetect == 'en') {
548
+ crname = option.name;
549
+ } else if (langdetect == 'ar') {
550
+ if (option.name_ar != null) {
551
+ crname = option.name_ar;
552
+ } else {
553
+ crname = option.name;
554
+ }
555
+ }
556
+ return crname;
557
+ }}
558
+ getOptionValue={(option) => option.id}
559
+ autocomplete="new-password"
560
+ value={fetchTabexCitiesQueryContext.data.data.cities.filter((option) => option.id == payloadobj.cityid)}
561
+ onChange={(option) => {
562
+ payloadobjchange('cityid', option.id);
563
+ }}
564
+ styles={
565
+ sectionproperties.inputfieldbordertype == 'All'
566
+ ? langdetect == 'en'
567
+ ? selectcustomStyles
568
+ : selectcustomStylesTranslated
569
+ : langdetect == 'en'
570
+ ? defaultstyles
571
+ : defaultstylestranslated
572
+ }
573
+ placeholder={lang.choosecity}
574
+ isSearchable={true}
575
+ />
576
+ )}
577
+ </div>
578
+ )}
579
+ {sectionproperties.hideaddress == 'Show' && (
580
+ <div className={'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
581
+ <label className={`${formstyles.input_label_name}` + ' mb-1 d-flex align-items-start '}>
582
+ {lang.address}{' '}
583
+ {customeraddressrequierd == 1 && (
584
+ <span class="ml-1 mr-1" style={{ color: 'red' }}>
585
+ *
586
+ </span>
587
+ )}
588
+ </label>
589
+ <div className={loginstyles.wrap_input100}>
590
+ <TextareaAutosize
591
+ type="text"
592
+ className={`${loginstyles.form_control} ${formstyles.form_control}` + ' py-1 '}
593
+ value={payloadobj.shippingaddress}
594
+ textplaceholder=""
595
+ onChange={(event) => {
596
+ payloadobjchange('shippingaddress', event.target.value);
597
+ }}
598
+ style={{ resize: 'none', background: sectionproperties.input_bgcolor }}
599
+ />
600
+ <span className={loginstyles.login_input_focus}></span>
601
+ </div>
602
+ </div>
603
+ )}
604
+ </div>
605
+ );
606
+ };
607
+ const Password = () => {
608
+ return (
609
+ <div className="row m-0 w-100">
610
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-6 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
611
+ <label className={`${formstyles.input_label_name}` + ' d-flex align-items-start '}>{lang.password}</label>
612
+ <input
613
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
614
+ type={'password'}
615
+ autocomplete="new-password"
616
+ textplaceholder=""
617
+ value={payloadobj.password}
618
+ onChange={(event) => {
619
+ payloadobjchange('password', event.target.value);
620
+ }}
621
+ style={{
622
+ background: 'transparent',
623
+ }}
624
+ />
625
+ {/* <div
626
+ onClick={() => {
627
+ setshowpassword(!showpassword);
628
+ }}
629
+ className={langdetect == 'en' ? loginstyles.showpassword_input_icon : loginstyles.showpassword_input_icontrans}
630
+ >
631
+ <i class="h-100 allcentered">
632
+ {showpassword == true && <AiOutlineEye size={18} />}
633
+ {showpassword == false && <AiOutlineEyeInvisible size={18} />}
634
+ </i>
635
+ </div> */}
636
+ </div>
637
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-6 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
638
+ <label className={`${formstyles.input_label_name}` + ' d-flex align-items-start '}>{lang.confirmpassword}</label>
639
+ <input
640
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
641
+ type="password"
642
+ autocomplete="new-password"
643
+ textplaceholder=""
644
+ value={payloadobj.password2}
645
+ onChange={(event) => {
646
+ payloadobjchange('password2', event.target.value);
647
+ }}
648
+ style={{
649
+ background: 'transparent',
650
+ }}
651
+ />
652
+ </div>
653
+ {sectionproperties.showpassworddisclaimer == 'Show' && props.srcfromprops == 'signup' && (
654
+ <div class="col-lg-12 text-start text-danger">
655
+ <p style={{ fontSize: 14 }}>{langdetect == 'en' ? " Password shouldn't be lessthan 8 characters" : 'الرقم السرى لا يقل عن 8 حروف او ارقام'}</p>
656
+ </div>
657
+ )}
658
+ </div>
659
+ );
660
+ };
661
+ const Otherinformation = () => {
662
+ return (
663
+ <div className="row m-0 w-100">
664
+ {payloadobj.instsignupformvalues.length != 0 && (
665
+ <>
666
+ {payloadobj.instsignupformvalues.map((item, index) => {
667
+ return (
668
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-6 col-md-12 col-sm-12 mb-4 p-sm-0' : 'col-lg-12 col-md-12 col-sm-12 mb-4 p-sm-0'}>
669
+ {item.inputtype != 'checkbox' && (
670
+ <label className={formstyles.input_label_name + ' d-flex align-items-start '}>
671
+ {langdetect == 'en' ? item.inputname_en : item.inputname_ar} <span class="text-danger ml-1 mr-1">{item.optional == 1 ? '*' : ''}</span>
672
+ </label>
673
+ )}
674
+ <div className={loginstyles.wrap_input100}>
675
+ {item.inputtype == 'input' && (
676
+ <input
677
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
678
+ type="text"
679
+ value={item.customersignupvalue}
680
+ textplaceholder=""
681
+ onChange={(event) => {
682
+ var temppayloadobj = { ...payloadobj };
683
+ temppayloadobj.instsignupformvalues[index].customersignupvalue = event.target.value;
684
+ setpayloadobj({ ...temppayloadobj });
685
+ }}
686
+ style={{
687
+ background: 'transparent',
688
+ }}
689
+ />
690
+ )}
691
+ {item.inputtype == 'checkbox' && (
692
+ <label
693
+ className={
694
+ langdetect == 'en'
695
+ ? `${loginstyles.checkbox} ${formstyles.checkbox} ` + ' d-flex mb-0 '
696
+ : `${loginstyles.checkbox} ${loginstyles.checkboxtranslated}` + ' d-flex mb-0 '
697
+ }
698
+ for="codcheckbox"
699
+ >
700
+ <input
701
+ id={'codcheckbox'}
702
+ type="checkbox"
703
+ className={formstyles.checkboxinputstyles + ' mt-auto mb-auto '}
704
+ checked={item.customersignupvalue == 1 ? true : false}
705
+ onChange={() => {
706
+ var temppayloadobj = { ...payloadobj };
707
+ if (temppayloadobj.instsignupformvalues[index].customersignupvalue == 1) {
708
+ temppayloadobj.instsignupformvalues[index].customersignupvalue = 0;
709
+ } else {
710
+ temppayloadobj.instsignupformvalues[index].customersignupvalue = 1;
711
+ }
712
+ setpayloadobj({ ...temppayloadobj });
713
+ }}
714
+ />
715
+ <svg viewBox="0 0 21 21" className={formstyles.svgstyles + ' h-100 '}>
716
+ <path d="M5,10.75 L8.5,14.25 L19.4,2.3 C18.8333333,1.43333333 18.0333333,1 17,1 L4,1 C2.35,1 1,2.35 1,4 L1,17 C1,18.65 2.35,20 4,20 L17,20 C18.65,20 20,18.65 20,17 L20,7.99769186"></path>
717
+ </svg>
718
+ <p className={formstyles.input_label_name + ' ml-2 cursor-pointer wordbreak mr-2'} style={{}}>
719
+ {langdetect == 'en' ? item.inputname_en : item.inputname_ar} <span class="text-danger ml-1 mr-1">{item.optional == 1 ? '' : '*'}</span>
720
+ </p>
721
+ </label>
722
+ )}
723
+ {item.inputtype == 'selectbox' && (
724
+ <select
725
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
726
+ value={item.customersignupvalue}
727
+ textplaceholder=""
728
+ onChange={(event) => {
729
+ var temppayloadobj = { ...payloadobj };
730
+ temppayloadobj.instsignupformvalues[index].customersignupvalue = event.target.value;
731
+ setpayloadobj({ ...temppayloadobj });
732
+ }}
733
+ >
734
+ <option value={''} disabled>
735
+ {langdetect == 'en' ? 'Choose' : 'إختر'}
736
+ </option>
737
+ {JSON.parse(item.selectboxvalues).map((selectboxitem, selectboxindex) => {
738
+ return <option value={selectboxitem.optionname_en}>{langdetect == 'en' ? selectboxitem.optionname_en : selectboxitem.optionname_ar}</option>;
739
+ })}
740
+ </select>
741
+ )}
742
+ {item.inputtype == 'textarea' && (
743
+ <TextareaAutosize
744
+ type="text"
745
+ className={`${loginstyles.form_control} ${formstyles.form_control}`}
746
+ value={item.customersignupvalue}
747
+ textplaceholder=""
748
+ onChange={(event) => {
749
+ var temppayloadobj = { ...payloadobj };
750
+ temppayloadobj.instsignupformvalues[index].customersignupvalue = event.target.value;
751
+ setpayloadobj({ ...temppayloadobj });
752
+ }}
753
+ style={{
754
+ resize: 'none',
755
+ }}
756
+ />
757
+ )}
758
+ <span className={loginstyles.login_input_focus}></span>
759
+ </div>
760
+ </div>
761
+ );
762
+ })}
763
+ </>
764
+ )}
765
+ </div>
766
+ );
767
+ };
768
+ const SignUpButtonContent = () => {
769
+ return (
770
+ <button
771
+ className={`${formstyles.signupbtn}` + ' d-flex align-items-center justify-content-center '}
772
+ disabled={CustomerSignUpMutationContext.isLoading ? true : false}
773
+ onClick={() => {
774
+ if (verifypayload() == true) {
775
+ var isEmailOTP_Validated = false;
776
+ var isPhoneNumberOTP_Validated = false;
777
+ if (customervalidateemail == 1) {
778
+ if (validateemailpayload.isvalidated) {
779
+ isEmailOTP_Validated = true;
780
+ } else {
781
+ isEmailOTP_Validated = false;
782
+ setvalidateemailmodal(true);
783
+ }
784
+ } else {
785
+ isEmailOTP_Validated = true;
786
+ }
787
+ if (customervalidatephonenumber == 1) {
788
+ if (validatephonenumberpayload.isvalidated) {
789
+ isPhoneNumberOTP_Validated = true;
790
+ } else {
791
+ isPhoneNumberOTP_Validated = false;
792
+ setvalidatephonenumbermodal(true);
793
+ }
794
+ } else {
795
+ isPhoneNumberOTP_Validated = true;
796
+ }
797
+ if (isPhoneNumberOTP_Validated && isEmailOTP_Validated) {
798
+ signupbuttonfunc();
799
+ }
800
+ }
801
+ }}
802
+ >
803
+ {CustomerSignUpMutationContext.isLoading && <CircularProgress color="#fff" width="20px" height="20px" duration="1s" />}
804
+
805
+ {!CustomerSignUpMutationContext.isLoading && (
806
+ <>
807
+ {authdetailsContext.loggedin != true && (
808
+ <span style={{ letterSpacing: langdetect == 'en' ? '1px' : '' }}>{langdetect == 'en' ? sectionproperties.signupbtn_contenten : sectionproperties.signupbtn_contentar}</span>
809
+ )}
810
+ {authdetailsContext.loggedin == true && <span>{lang.update}</span>}
811
+ </>
812
+ )}
813
+ </button>
814
+ );
815
+ };
816
+ return (
817
+ <div
818
+ className="row m-0 w-100 d-flex justify-content-center"
819
+ style={
820
+ {
821
+ // heigh: '100%',
822
+ }
823
+ }
824
+ >
825
+ {!dataloaded && <CircularProgress color="black" width="20px" height="20px" duration="1s" />}
826
+ {dataloaded && props.srcfromprops == 'signup' && waitingpage == false && (
827
+ <div
828
+ className="col-lg-12 p-0"
829
+ style={{
830
+ background: sectionproperties.formLeftbgColor,
831
+ }}
832
+ >
833
+ {PersonalInformation()}
834
+ {Address()}
835
+ {Otherinformation()}
836
+ {sectionproperties.hidepassword == 'Show' && authdetailsContext?.instinfo?.ispasswordrequired_signup == 1 && Password()}
837
+ {/* {Password()} */}
838
+ </div>
839
+ )}
840
+ {dataloaded && props.srcfromprops == 'accountinfo' && (
841
+ <div className="col-lg-12 p-0">
842
+ <div className="row ml-0 mr-0 w-100">
843
+ {sectionproperties.showsubscription == 'Show' && (
844
+ <div className="col-lg-6 col-md-6 col-sm-12 mb-3">
845
+ <div
846
+ style={{
847
+ background: sectionproperties.backgroundColor,
848
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
849
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
850
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
851
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
852
+ }}
853
+ className="px-2 py-3 flex-column"
854
+ >
855
+ <p
856
+ class="m-0 p-0 allcentered "
857
+ style={{
858
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
859
+ color: sectionproperties.sectionTitleColor,
860
+ fontWeight: sectionproperties.sectionTitleFontWeight,
861
+ }}
862
+ >
863
+ {langdetect == 'en' ? 'Subscribed at' : 'مشترك فى'}
864
+ </p>
865
+ <p
866
+ class="m-0 p-0 allcentered "
867
+ style={{
868
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
869
+ color: sectionproperties.sectionTitleColor,
870
+ fontWeight: sectionproperties.sectionTitleFontWeight,
871
+ }}
872
+ >
873
+ {authdetailsContext?.customerinfo?.subscription_name}
874
+ </p>
875
+ </div>
876
+ </div>
877
+ )}
878
+ {sectionproperties.showsubscription == 'Show' && (
879
+ <div className="col-lg-6 col-md-6 col-sm-12 mb-3">
880
+ <div
881
+ style={{
882
+ background: sectionproperties.backgroundColor,
883
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
884
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
885
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
886
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
887
+ }}
888
+ className="px-2 py-3 allcentered flex-column"
889
+ >
890
+ <p
891
+ class="m-0 p-0"
892
+ style={{
893
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
894
+ color: sectionproperties.sectionTitleColor,
895
+ fontWeight: sectionproperties.sectionTitleFontWeight,
896
+ }}
897
+ >
898
+ {langdetect == 'en' ? 'Subscription ends on' : 'الإشتراك ينتهى فى'}
899
+ </p>
900
+ <p
901
+ class="m-0 p-0"
902
+ style={{
903
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
904
+ color: sectionproperties.sectionTitleColor,
905
+ fontWeight: sectionproperties.sectionTitleFontWeight,
906
+ }}
907
+ >
908
+ {authdetailsContext?.customerinfo?.subscrption_enddate}
909
+ </p>
910
+ </div>
911
+ </div>
912
+ )}
913
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-12 mb-3 p-0' : 'col-lg-12 p-0'}>
914
+ <div
915
+ style={{
916
+ background: sectionproperties.backgroundColor,
917
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
918
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
919
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
920
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
921
+ }}
922
+ className={sectionproperties.cardstyletype == 'Style 1' ? 'p-2 w-100' : 'w-100'}
923
+ >
924
+ {sectionproperties.cardstyletype == 'Style 1' && (
925
+ <div className="row ml-0 mr-0">
926
+ <div className="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-center">
927
+ <p
928
+ className="m-0 p-0"
929
+ style={{
930
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
931
+ color: sectionproperties.sectionTitleColor,
932
+ fontWeight: sectionproperties.sectionTitleFontWeight,
933
+ }}
934
+ >
935
+ {lang.personalinformation}
936
+ </p>
937
+ </div>
938
+ <div className="col-lg-12 p-0">
939
+ <hr className="mt-2 mb-3" />
940
+ </div>
941
+ </div>
942
+ )}
943
+ {PersonalInformation()}
944
+ </div>
945
+ </div>
946
+ <div
947
+ className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-12 mb-3 p-0' : 'col-lg-12 p-0'}
948
+ style={{
949
+ display: sectionproperties.hidecountrystatecity == 'Show' && sectionproperties.hideaddress == 'Show' ? 'flex' : 'none',
950
+ }}
951
+ >
952
+ <div
953
+ className={sectionproperties.cardstyletype == 'Style 1' ? 'p-2 w-100' : 'w-100'}
954
+ style={{
955
+ background: sectionproperties.backgroundColor,
956
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
957
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
958
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
959
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
960
+ }}
961
+ >
962
+ {sectionproperties.cardstyletype == 'Style 1' && (
963
+ <div className="row ml-0 mr-0">
964
+ <div className="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-center">
965
+ <p
966
+ className="m-0 p-0"
967
+ style={{
968
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
969
+ color: sectionproperties.sectionTitleColor,
970
+ fontWeight: sectionproperties.sectionTitleFontWeight,
971
+ }}
972
+ >
973
+ {lang.address}
974
+ </p>
975
+ </div>
976
+ <div className="col-lg-12 p-0">
977
+ <hr className="mt-2 mb-3" />
978
+ </div>
979
+ </div>
980
+ )}
981
+ {Address()}
982
+ </div>
983
+ </div>
984
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-12 mb-3 p-0' : 'col-lg-12 p-0'}>
985
+ <div
986
+ className={sectionproperties.cardstyletype == 'Style 1' ? 'p-2 w-100' : 'w-100'}
987
+ style={{
988
+ background: sectionproperties.backgroundColor,
989
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
990
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
991
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
992
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
993
+ }}
994
+ >
995
+ {sectionproperties.cardstyletype == 'Style 1' && (
996
+ <div className="row ml-0 mr-0">
997
+ <div className="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-center">
998
+ <p
999
+ className="m-0 p-0"
1000
+ style={{
1001
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
1002
+ color: sectionproperties.sectionTitleColor,
1003
+ fontWeight: sectionproperties.sectionTitleFontWeight,
1004
+ }}
1005
+ >
1006
+ {lang.security}
1007
+ </p>
1008
+ </div>
1009
+ <div className="col-lg-12 p-0">
1010
+ <hr className="mt-2 mb-3" />
1011
+ </div>
1012
+ </div>
1013
+ )}
1014
+ <div className="row ml-0 mr-0">{Password()}</div>
1015
+ </div>
1016
+ </div>
1017
+ {payloadobj.instsignupformvalues.length != 0 && (
1018
+ <div className={sectionproperties.cardstyletype == 'Style 1' ? 'col-lg-12 mb-3 p-0' : 'col-lg-12 p-0'}>
1019
+ <div
1020
+ style={{
1021
+ background: sectionproperties.backgroundColor,
1022
+ borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
1023
+ borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
1024
+ borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
1025
+ borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
1026
+ }}
1027
+ className={sectionproperties.cardstyletype == 'Style 1' ? 'p-2 w-100' : 'w-100'}
1028
+ >
1029
+ <div className="row ml-0 mr-0">
1030
+ <div className="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-center">
1031
+ <p
1032
+ className="m-0 p-0"
1033
+ style={{
1034
+ fontSize: sectionproperties.sectionTitleFontSize + 'px',
1035
+ color: sectionproperties.sectionTitleColor,
1036
+ fontWeight: sectionproperties.sectionTitleFontWeight,
1037
+ }}
1038
+ >
1039
+ {lang.otherinformation}
1040
+ </p>
1041
+ </div>
1042
+ <div className="col-lg-12 p-0">
1043
+ <hr className="mt-2 mb-3" />
1044
+ </div>
1045
+ </div>
1046
+ <div className="row ml-0 mr-0">{Otherinformation()}</div>
1047
+ </div>
1048
+ </div>
1049
+ )}
1050
+ </div>
1051
+ </div>
1052
+ )}
1053
+ {sectionproperties.viewtermsandcondition == 'Show' && (
1054
+ <div class="col-lg-12 allcentered">
1055
+ <p
1056
+ class="m-0 p-0"
1057
+ style={{
1058
+ fontSize: sectionproperties.termsandconditionfontsize + 'px',
1059
+ color: sectionproperties.termsandconditioncolor,
1060
+ fontWeight: 600,
1061
+ }}
1062
+ >
1063
+ {langdetect == 'en' ? sectionproperties.termsandconditiontext_en : sectionproperties.termsandconditiontext_ar}{' '}
1064
+ <span
1065
+ class={formstyles.terms + ' cursor-pointer '}
1066
+ onClick={() => {
1067
+ window.open(window.location.origin + '/policies', '_blank');
1068
+ }}
1069
+ >
1070
+ {langdetect == 'en' ? 'Terms & Conditions' : 'الشروط و الاحكام'}
1071
+ </span>
1072
+ </p>
1073
+ </div>
1074
+ )}
1075
+ {waitingpage == false && (
1076
+ <div className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center justify-content-center mb-3 mt-3">
1077
+ {authdetailsContext.loggedin == false && SignUpButtonContent()}
1078
+ {authdetailsContext.loggedin == true && sectionproperties.showupdatebtn == 'Show' && SignUpButtonContent()}
1079
+ </div>
1080
+ )}
1081
+ {props.srcfromprops == 'signup' && waitingpage == false && (
1082
+ <div className="row m-0 w-100">
1083
+ <div className="col-lg-12 col-md-12 col-sm-12 d-flex d-md-none align-items-center justify-content-center mb-2">
1084
+ <div className="ml-1 mr-1">
1085
+ <FacebookLoginButton actions={actions} />
1086
+ </div>
1087
+ <div className="ml-1 mr-1">
1088
+ <GoogleLogin actions={actions} />
1089
+ </div>
1090
+ </div>
1091
+ <div className="col-lg-12 col-md-12 col-sm-12 d-none d-md-flex align-items-center justify-content-center mb-2">
1092
+ <div className="ml-1 mr-1">
1093
+ <FacebookLoginButton actions={actions} />
1094
+ </div>
1095
+ </div>
1096
+ <div className="col-lg-12 col-md-12 col-sm-12 d-none d-md-flex align-items-center justify-content-center mb-2">
1097
+ <div className="ml-1 mr-1">
1098
+ <GoogleLogin actions={actions} />
1099
+ </div>
1100
+ </div>
1101
+ </div>
1102
+ )}
1103
+ {waitingpage == true && (
1104
+ <div class="col-lg-12 allcentered my-5">
1105
+ <div class="row m-0 w-100">
1106
+ <div class="col-lg-12 allcentered">
1107
+ <p
1108
+ style={{
1109
+ color: sectionproperties.waitingapprovalcolor,
1110
+ fontSize: sectionproperties.waitingapprovalfontsize + 'px',
1111
+ }}
1112
+ >
1113
+ {langdetect == 'en' ? sectionproperties.waitingapprovaltest_en : sectionproperties.waitingapprovaltest_ar}
1114
+ </p>
1115
+ </div>
1116
+ <div class="col-lg-12 allcentered">
1117
+ <p
1118
+ style={{
1119
+ color: sectionproperties.waitingapprovalcolor2,
1120
+ fontSize: sectionproperties.waitingapprovalfontsize2 + 'px',
1121
+ }}
1122
+ >
1123
+ {langdetect == 'en' ? sectionproperties.waitingapprovaltest_en2 : sectionproperties.waitingapprovaltest_ar2}
1124
+ </p>
1125
+ </div>
1126
+ </div>
1127
+ </div>
1128
+ )}
1129
+ <Modal show={validateemailmodal} onHide={() => setvalidateemailmodal(false)} centered size={'md'}>
1130
+ <Modal.Body>
1131
+ <Modal.Body>
1132
+ <div
1133
+ class="d-flex align-items-center justify-content-center bgdanger-hover"
1134
+ style={{ position: 'absolute', right: -15, top: -15, width: '4vh', height: '4vh', background: '#000', borderRadius: '50%' }}
1135
+ onClick={() => setvalidateemailmodal(false)}
1136
+ >
1137
+ <IoMdClose size={15} color="white" />
1138
+ </div>
1139
+ <div class="row m-0 w-100 allcentered">
1140
+ <div className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center mt-2 justify-content-center">
1141
+ <p
1142
+ className="text-md-center m-0 p-0 mb-2"
1143
+ style={{
1144
+ fontSize: '19px',
1145
+ color: sectionproperties.sectionTitleColor,
1146
+ fontWeight: 600,
1147
+ }}
1148
+ >
1149
+ {langdetect == 'en' ? 'Validate Email' : 'التحقق من صحة البريد الإلكتروني'}
1150
+ </p>
1151
+ </div>
1152
+ <div class="col-lg-12 p-0">
1153
+ <hr class={'m-0 p-0'} />
1154
+ </div>
1155
+ </div>
1156
+ <div class="row w-100 m-0 mb-3 pl-2 pr-2 pt-3 pb-3 pl-sm-3 pr-sm-3">
1157
+ <div className="col-lg-12 col-md-12 col-sm-12 mb-2 p-sm-0">
1158
+ <label className={`${formstyles.logininputLabel}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'Email' : 'البريد الإلكترونى'}</label>
1159
+ <input
1160
+ type="text"
1161
+ className={`${formstyles.form_control}`}
1162
+ value={payloadobj.email}
1163
+ disabled={true}
1164
+ style={{
1165
+ background: 'transparent',
1166
+ }}
1167
+ />
1168
+ </div>
1169
+ {validateemailpayload.step == 'verifycode' && (
1170
+ <div className="col-lg-12 col-md-12 col-sm-12 mb-3 mt-3 p-sm-0">
1171
+ <label className={`${formstyles.logininputLabel}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'Code' : ' كود البريد الاكتروني'}</label>
1172
+ <input
1173
+ type="text"
1174
+ className={`${formstyles.form_control}`}
1175
+ value={validateemailpayload.code}
1176
+ onChange={(event) => {
1177
+ setvalidateemailpayload({ ...validateemailpayload, code: event.target.value });
1178
+ }}
1179
+ style={{
1180
+ background: 'transparent',
1181
+ }}
1182
+ />
1183
+ </div>
1184
+ )}
1185
+ <div className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center justify-content-center mb-3 mt-3">
1186
+ <button
1187
+ className={`${formstyles.signupbtn}` + ' d-flex align-items-center justify-content-center '}
1188
+ disabled={GeneralAPIMutationContext.isLoading ? true : false}
1189
+ onClick={() => {
1190
+ if (payloadobj.email.length != 0) {
1191
+ if (validateemailpayload.isvalidated == true) {
1192
+ setvalidateemailmodal(false);
1193
+ signupbuttonfunc();
1194
+ } else {
1195
+ GeneralAPIMutationContext.mutate({
1196
+ endpointurl: '/validateemail',
1197
+ functype: validateemailpayload.step,
1198
+ code: validateemailpayload.code,
1199
+ name: payloadobj.name,
1200
+ email: payloadobj.email,
1201
+
1202
+ mutateSuccesscallback: (data, variables) => {
1203
+ if (data.data.status) {
1204
+ if (data.data.functype == 'sendcode') {
1205
+ setvalidateemailpayload({ ...validateemailpayload, step: 'verifycode' });
1206
+ }
1207
+ if (data.data.functype == 'verifycode') {
1208
+ setvalidateemailpayload({ ...validateemailpayload, isvalidated: true });
1209
+ setvalidateemailmodal(false);
1210
+ if (customervalidatephonenumber == 1) {
1211
+ if (validatephonenumberpayload.isvalidated) {
1212
+ signupbuttonfunc();
1213
+ } else {
1214
+ setvalidatephonenumbermodal(true);
1215
+ }
1216
+ } else {
1217
+ signupbuttonfunc();
1218
+ }
1219
+ }
1220
+ } else {
1221
+ NotificationManager.warning('', data.data.reason);
1222
+ }
1223
+ },
1224
+ });
1225
+ }
1226
+ } else {
1227
+ NotificationManager.warning(lang.completerequiredfields);
1228
+ }
1229
+ }}
1230
+ >
1231
+ {GeneralAPIMutationContext.isLoading && <CircularProgress color="#fff" width="20px" height="20px" duration="1s" />}
1232
+
1233
+ {!GeneralAPIMutationContext.isLoading && (
1234
+ <>
1235
+ <span style={{ letterSpacing: langdetect == 'en' ? '1px' : '' }}>{validateemailpayload.step == 'sendcode' ? lang.sendcode : lang.verifycode}</span>
1236
+ </>
1237
+ )}
1238
+ </button>
1239
+ </div>
1240
+ </div>
1241
+ </Modal.Body>
1242
+ </Modal.Body>
1243
+ <Modal.Footer></Modal.Footer>
1244
+ </Modal>
1245
+ <Modal show={validatephonenumbermodal} onHide={() => setvalidatephonenumbermodal(false)} centered size={'md'}>
1246
+ <Modal.Body>
1247
+ <Modal.Body>
1248
+ <div
1249
+ class="d-flex align-items-center justify-content-center bgdanger-hover"
1250
+ style={{ position: 'absolute', right: -15, top: -15, width: '4vh', height: '4vh', background: '#000', borderRadius: '50%' }}
1251
+ onClick={() => setvalidatephonenumbermodal(false)}
1252
+ >
1253
+ <IoMdClose size={15} color="white" />
1254
+ </div>
1255
+ <div class="row m-0 w-100 allcentered">
1256
+ <div className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center mt-2 justify-content-center">
1257
+ <p
1258
+ className="text-md-center m-0 p-0 mb-2"
1259
+ style={{
1260
+ fontSize: '19px',
1261
+ color: sectionproperties.sectionTitleColor,
1262
+ fontWeight: 600,
1263
+ }}
1264
+ >
1265
+ {langdetect == 'en' ? 'Validate Phone Number' : 'التحقق من صحة رقم الهاتف'}
1266
+ </p>
1267
+ </div>
1268
+ <div class="col-lg-12 p-0">
1269
+ <hr class={'m-0 p-0'} />
1270
+ </div>
1271
+ </div>
1272
+ <div class="row w-100 m-0 mb-3 pl-2 pr-2 pt-3 pb-3 pl-sm-3 pr-sm-3">
1273
+ <div className="col-lg-12 col-md-12 col-sm-12 mb-2 p-sm-0">
1274
+ <label className={`${formstyles.logininputLabel}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'Phone Number' : ' رقم الهاتف'}</label>
1275
+ <input
1276
+ type="text"
1277
+ className={`${formstyles.form_control}`}
1278
+ value={payloadobj.mobile}
1279
+ disabled={true}
1280
+ style={{
1281
+ background: 'transparent',
1282
+ }}
1283
+ />
1284
+ </div>
1285
+ {validatephonenumberpayload.step == 'verifycode' && (
1286
+ <div className="col-lg-12 col-md-12 col-sm-12 mb-3 mt-3 p-sm-0">
1287
+ <label className={`${formstyles.logininputLabel}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'Code' : ' كود الرسالة النصية'}</label>
1288
+ <input
1289
+ type="text"
1290
+ className={`${formstyles.form_control}`}
1291
+ value={validatephonenumberpayload.code}
1292
+ onChange={(event) => {
1293
+ setvalidatephonenumberpayload({ ...validatephonenumberpayload, code: event.target.value });
1294
+ }}
1295
+ style={{
1296
+ background: 'transparent',
1297
+ }}
1298
+ />
1299
+ </div>
1300
+ )}
1301
+ <div className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center justify-content-center mb-3 mt-3">
1302
+ <button
1303
+ className={`${formstyles.signupbtn}` + ' d-flex align-items-center justify-content-center '}
1304
+ disabled={GeneralAPIMutationContext.isLoading ? true : false}
1305
+ onClick={() => {
1306
+ if (payloadobj.mobile.length != 0) {
1307
+ if (validatephonenumberpayload.isvalidated == true) {
1308
+ setvalidateemailmodal(false);
1309
+ signupbuttonfunc();
1310
+ } else {
1311
+ GeneralAPIMutationContext.mutate({
1312
+ endpointurl: '/validatephonenumber',
1313
+ functype: validatephonenumberpayload.step,
1314
+ code: validatephonenumberpayload.code,
1315
+ name: payloadobj.name,
1316
+ phonenumber: payloadobj.mobile,
1317
+
1318
+ mutateSuccesscallback: (data, variables) => {
1319
+ if (data.data.status) {
1320
+ if (data.data.functype == 'sendcode') {
1321
+ setvalidatephonenumberpayload({ ...validatephonenumberpayload, step: 'verifycode' });
1322
+ }
1323
+ if (data.data.functype == 'verifycode') {
1324
+ setvalidatephonenumberpayload({ ...validatephonenumberpayload, isvalidated: true });
1325
+ setvalidatephonenumbermodal(false);
1326
+ if (customervalidateemail == 1) {
1327
+ if (validateemailpayload.isvalidated) {
1328
+ signupbuttonfunc();
1329
+ } else {
1330
+ setvalidateemailmodal(true);
1331
+ }
1332
+ } else {
1333
+ signupbuttonfunc();
1334
+ }
1335
+ }
1336
+ } else {
1337
+ NotificationManager.warning('', data.data.reason);
1338
+ }
1339
+ },
1340
+ });
1341
+ }
1342
+ } else {
1343
+ NotificationManager.warning(lang.completerequiredfields);
1344
+ }
1345
+ }}
1346
+ >
1347
+ {GeneralAPIMutationContext.isLoading && <CircularProgress color="#fff" width="20px" height="20px" duration="1s" />}
1348
+
1349
+ {!GeneralAPIMutationContext.isLoading && (
1350
+ <>
1351
+ <span style={{ letterSpacing: langdetect == 'en' ? '1px' : '' }}>{validatephonenumberpayload.step == 'sendcode' ? lang.sendcode : lang.verifycode}</span>
1352
+ </>
1353
+ )}
1354
+ </button>
1355
+ </div>
1356
+ </div>
1357
+ </Modal.Body>
1358
+ </Modal.Body>
1359
+ <Modal.Footer></Modal.Footer>
1360
+ </Modal>
1361
+ </div>
1362
+ );
1363
+ };
1364
+ export default CustomerInformationForm;