tabexseriescomponents 0.2.1280 → 0.2.1283

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 (389) hide show
  1. package/dist/index.cjs.js +40 -258
  2. package/dist/index.esm.js +40 -258
  3. package/dist/index.umd.js +40 -258
  4. package/package.json +1 -1
  5. package/srcbefore27-11/Contexts/LanguageContext.jsx +0 -408
  6. package/srcbefore27-11/Contexts/ProductsCardsSectionContext.jsx +0 -36
  7. package/srcbefore27-11/Imagekitconfig copy.jsx +0 -46
  8. package/srcbefore27-11/Imagekitconfig.jsx +0 -178
  9. package/srcbefore27-11/StylesJS/Customstyles.js +0 -456
  10. package/srcbefore27-11/TabexComponents/Cards/CTAProductCard/CTAProductCard.jsx +0 -538
  11. package/srcbefore27-11/TabexComponents/Cards/Card20/Card20.jsx +0 -299
  12. package/srcbefore27-11/TabexComponents/Cards/Card21/Card21.jsx +0 -388
  13. package/srcbefore27-11/TabexComponents/Cards/Card22/Card22.jsx +0 -288
  14. package/srcbefore27-11/TabexComponents/Cards/Card23/Card23 copy.jsx +0 -1630
  15. package/srcbefore27-11/TabexComponents/Cards/Card23/Card23.jsx +0 -733
  16. package/srcbefore27-11/TabexComponents/Cards/CardAll/CardAll.jsx +0 -453
  17. package/srcbefore27-11/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +0 -394
  18. package/srcbefore27-11/TabexComponents/Cards/CardWithTextOnly/CardWithTextOnly.jsx +0 -70
  19. package/srcbefore27-11/TabexComponents/Cards/Cardwithdetailsshowonhover/Cardwithdetailsshowonhover.jsx +0 -1074
  20. package/srcbefore27-11/TabexComponents/Cards/CategoryCardTextOnImage/CategoryCardTextOnImage.jsx +0 -211
  21. package/srcbefore27-11/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +0 -293
  22. package/srcbefore27-11/TabexComponents/Cards/Categorycard_details_onhover/Categorycard_details_onhover.jsx +0 -512
  23. package/srcbefore27-11/TabexComponents/Cards/Categorycard_details_onhover copy/Categorycard_details_onhover.jsx +0 -513
  24. package/srcbefore27-11/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +0 -235
  25. package/srcbefore27-11/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +0 -199
  26. package/srcbefore27-11/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +0 -182
  27. package/srcbefore27-11/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +0 -184
  28. package/srcbefore27-11/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +0 -161
  29. package/srcbefore27-11/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +0 -208
  30. package/srcbefore27-11/TabexComponents/Cards/CircleCardWithVariants/CircleCardWithVariants.jsx +0 -560
  31. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/Classiccategorycard copy.jsx +0 -145
  32. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +0 -145
  33. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/ClassiccategorycardOriginal.jsx +0 -142
  34. package/srcbefore27-11/TabexComponents/Cards/HorizontalCategoryCard/HorizontalCategoryCard.jsx +0 -193
  35. package/srcbefore27-11/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +0 -605
  36. package/srcbefore27-11/TabexComponents/Cards/MenuCard/MenuCard.jsx +0 -817
  37. package/srcbefore27-11/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +0 -468
  38. package/srcbefore27-11/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +0 -593
  39. package/srcbefore27-11/TabexComponents/Cards/Moderncategorycard/Moderncategorycard.jsx +0 -208
  40. package/srcbefore27-11/TabexComponents/Cards/NewProductcard/NewProductcard copy.jsx +0 -497
  41. package/srcbefore27-11/TabexComponents/Cards/NewProductcard/NewProductcard.jsx +0 -512
  42. package/srcbefore27-11/TabexComponents/Cards/ProductCardWithTextOnImage/ProductCardWithTextOnImage.jsx +0 -304
  43. package/srcbefore27-11/TabexComponents/Cards/Productcard6/Productcard6.jsx +0 -257
  44. package/srcbefore27-11/TabexComponents/Cards/Productcard7/Productcard7.jsx +0 -277
  45. package/srcbefore27-11/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +0 -352
  46. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +0 -291
  47. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +0 -315
  48. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +0 -327
  49. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants copy.jsx +0 -408
  50. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +0 -528
  51. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +0 -731
  52. package/srcbefore27-11/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +0 -275
  53. package/srcbefore27-11/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +0 -286
  54. package/srcbefore27-11/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +0 -138
  55. package/srcbefore27-11/TabexComponents/Cards/QuantityButtonBasedProductCard/QuantityButtonBasedProductCard.jsx +0 -611
  56. package/srcbefore27-11/TabexComponents/Cards/ServiceCard/ServiceCard.jsx +0 -600
  57. package/srcbefore27-11/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +0 -225
  58. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy 2.jsx +0 -525
  59. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy.jsx +0 -2321
  60. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +0 -1311
  61. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcardlastversion15-9.jsx +0 -1292
  62. package/srcbefore27-11/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +0 -337
  63. package/srcbefore27-11/TabexComponents/Cards/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -347
  64. package/srcbefore27-11/TabexComponents/Cards/UpSlideEffectCard/UpSlideEffectCard.jsx +0 -605
  65. package/srcbefore27-11/TabexComponents/Cards/UserCardWithSocialMediaOnHover/UserCardWithSocialMediaOnHover.jsx +0 -185
  66. package/srcbefore27-11/TabexComponents/Cards/Variants_J_Cards/Variants_J_Cards.jsx +0 -660
  67. package/srcbefore27-11/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +0 -759
  68. package/srcbefore27-11/TabexComponents/Footer/Footer1/Footer1.jsx +0 -551
  69. package/srcbefore27-11/TabexComponents/Footer/Footer2/Footer2.jsx +0 -731
  70. package/srcbefore27-11/TabexComponents/Footer/Footer3/Footer3.jsx +0 -414
  71. package/srcbefore27-11/TabexComponents/Footer/Footer4/Footer4.jsx +0 -466
  72. package/srcbefore27-11/TabexComponents/Footer/Footer5/Footer5.jsx +0 -776
  73. package/srcbefore27-11/TabexComponents/Footer/Footer6/Footer6.jsx +0 -290
  74. package/srcbefore27-11/TabexComponents/Footer/Footer7/Footer7.jsx +0 -430
  75. package/srcbefore27-11/TabexComponents/Footer/Footer8/Footer8 copy.jsx +0 -1970
  76. package/srcbefore27-11/TabexComponents/Footer/Footer8/Footer8.jsx +0 -2015
  77. package/srcbefore27-11/TabexComponents/Footer/FooterWithThreeColumns/FooterWithThreeColumns.jsx +0 -330
  78. package/srcbefore27-11/TabexComponents/Footer/ModernFooter/ModernFooter.jsx +0 -582
  79. package/srcbefore27-11/TabexComponents/Footer/Newsletterfooter/Newsletterfooter.jsx +0 -1165
  80. package/srcbefore27-11/TabexComponents/Footer/Newsletterincenter/Newsletterincenter.jsx +0 -646
  81. package/srcbefore27-11/TabexComponents/Footer/PrivacyPolicy/PrivacyPolicy.jsx +0 -110
  82. package/srcbefore27-11/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +0 -332
  83. package/srcbefore27-11/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  84. package/srcbefore27-11/TabexComponents/Generalfiles/images/noimage.png +0 -0
  85. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  86. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  87. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  88. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  89. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  90. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  91. package/srcbefore27-11/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  92. package/srcbefore27-11/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  93. package/srcbefore27-11/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  94. package/srcbefore27-11/TabexComponents/Generalfiles/images/usflag.png +0 -0
  95. package/srcbefore27-11/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  96. package/srcbefore27-11/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +0 -1264
  97. package/srcbefore27-11/TabexComponents/Headers/CategoriesComponent/CategoriesComponent.jsx +0 -375
  98. package/srcbefore27-11/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +0 -1056
  99. package/srcbefore27-11/TabexComponents/Headers/CenteredLogoHeaderWithSlider/CenteredLogoHeaderWithSlider.jsx +0 -1498
  100. package/srcbefore27-11/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +0 -1289
  101. package/srcbefore27-11/TabexComponents/Headers/DownloadApp/DownloadApp.jsx +0 -76
  102. package/srcbefore27-11/TabexComponents/Headers/ElegantHeader/ElegantHeader.jsx +0 -907
  103. package/srcbefore27-11/TabexComponents/Headers/FloatingIcons/FloatingIcons.jsx +0 -358
  104. package/srcbefore27-11/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +0 -875
  105. package/srcbefore27-11/TabexComponents/Headers/Header4/Header4.jsx +0 -622
  106. package/srcbefore27-11/TabexComponents/Headers/Header8/Header8 copy.jsx +0 -1026
  107. package/srcbefore27-11/TabexComponents/Headers/Header8/Header8.jsx +0 -3414
  108. package/srcbefore27-11/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +0 -777
  109. package/srcbefore27-11/TabexComponents/Headers/HeaderWithAdSlider/HeaderWithAdSlider.jsx +0 -933
  110. package/srcbefore27-11/TabexComponents/Headers/HeaderWithSearchOnCenter/HeaderWithSearchOnCenter.jsx +0 -710
  111. package/srcbefore27-11/TabexComponents/Headers/HeaderWithUtilityBar/HeaderWithUtilityBar.jsx +0 -902
  112. package/srcbefore27-11/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +0 -1347
  113. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +0 -1566
  114. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsive11-1.jsx +0 -1201
  115. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveOriginal.jsx +0 -990
  116. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2 copy.jsx +0 -1639
  117. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2.jsx +0 -7163
  118. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsivenew.jsx +0 -1327
  119. package/srcbefore27-11/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +0 -941
  120. package/srcbefore27-11/TabexComponents/Headers/MarqueeHeader/MarqueeHeader.jsx +0 -80
  121. package/srcbefore27-11/TabexComponents/Headers/Minimalheader/Minimalheader.jsx +0 -846
  122. package/srcbefore27-11/TabexComponents/Headers/Modernheader/Modernheader.jsx +0 -1198
  123. package/srcbefore27-11/TabexComponents/Headers/ParentCollectionsComponent/ParentCollectionsComponent.jsx +0 -385
  124. package/srcbefore27-11/TabexComponents/Headers/SearchCenteredHeader/SearchCenteredHeader.jsx +0 -784
  125. package/srcbefore27-11/TabexComponents/Headers/SearchFocusedHeader/SearchFocusedHeader.jsx +0 -1186
  126. package/srcbefore27-11/TabexComponents/Headers/Simpleheader/Simpleheader.jsx +0 -3692
  127. package/srcbefore27-11/TabexComponents/Headers/SocialMediaSection/SocialMediaSection.jsx +0 -266
  128. package/srcbefore27-11/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +0 -860
  129. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader copy.jsx +0 -950
  130. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader.jsx +0 -1052
  131. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader13-3.jsx +0 -685
  132. package/srcbefore27-11/TabexComponents/Headers/Subheader/SubheaderOriginal.jsx +0 -517
  133. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheadernew.jsx +0 -555
  134. package/srcbefore27-11/TabexComponents/Headers/SubheaderDropdown/SubheaderDropdown.jsx +0 -610
  135. package/srcbefore27-11/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +0 -1049
  136. package/srcbefore27-11/TabexComponents/Headers/TwoTieredHeader/TwoTieredHeader.jsx +0 -1095
  137. package/srcbefore27-11/TabexComponents/Headers/TwoTieredWithCenteredLogoHeader/TwoTieredWithCenteredLogoHeader.jsx +0 -979
  138. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +0 -533
  139. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +0 -338
  140. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +0 -872
  141. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContentrecent.jsx +0 -895
  142. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundSectionWithServicesCards/BackgroundSectionWithServicesCards.jsx +0 -302
  143. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +0 -314
  144. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +0 -318
  145. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +0 -179
  146. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +0 -201
  147. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/CollapsableSection/CollapsableSection.jsx +0 -421
  148. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy 2.jsx +0 -583
  149. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy.jsx +0 -291
  150. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm.jsx +0 -822
  151. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm19-8beforeattach.jsx +0 -789
  152. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm22-7.jsx +0 -787
  153. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/habal +0 -348
  154. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Filterwithcategoriespcoll/Filterwithcategoriespcoll.jsx +0 -387
  155. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/FullVideoSection/FullVideoSection.jsx +0 -268
  156. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/MapsSection/MapsSection.jsx +0 -295
  157. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/PopupCountryComponent/PopupCountryComponent.jsx +0 -120
  158. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Popupcomponent/Popupcomponent.jsx +0 -119
  159. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Searchcomponent/Searchcomponent.jsx +0 -99
  160. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +0 -146
  161. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/TextSectionConnectToWA/TextSectionConnectToWA.jsx +0 -489
  162. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +0 -296
  163. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages copy.jsx +0 -396
  164. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +0 -633
  165. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/VideosSection/VideosSection.jsx +0 -509
  166. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 2.jsx +0 -1399
  167. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 3.jsx +0 -1656
  168. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy.jsx +0 -1540
  169. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +0 -2323
  170. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection13-3.jsx +0 -1596
  171. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection21-10.jsx +0 -1872
  172. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection21-11beforeform.jsx +0 -1891
  173. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection_cosmoandmore.jsx +0 -1880
  174. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSectionwithanomation12-1.jsx +0 -2065
  175. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +0 -726
  176. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSectionwithfilter/CardsSectionwithfilter.jsx +0 -719
  177. package/srcbefore27-11/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +0 -406
  178. package/srcbefore27-11/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +0 -966
  179. package/srcbefore27-11/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards copy.jsx +0 -646
  180. package/srcbefore27-11/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards.jsx +0 -1577
  181. package/srcbefore27-11/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +0 -596
  182. package/srcbefore27-11/TabexComponents/Sections/Cards/UsersCardsSection/UsersCardsSection.jsx +0 -383
  183. package/srcbefore27-11/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +0 -342
  184. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +0 -161
  185. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ContactUsSection/ContactUsSection.jsx +0 -394
  186. package/srcbefore27-11/TabexComponents/Sections/Slideshow/CountDownSection/CountDownSection.jsx +0 -174
  187. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection copy.jsx +0 -382
  188. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +0 -651
  189. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection19-11.jsx +0 -757
  190. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection20-2.jsx +0 -1017
  191. package/srcbefore27-11/TabexComponents/Sections/Slideshow/HorizontalContactUsSection/HorizontalContactUsSection.jsx +0 -346
  192. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +0 -3027
  193. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +0 -141
  194. package/srcbefore27-11/TabexComponents/Sections/Slideshow/MarqueeSection/MarqueeSection.jsx +0 -103
  195. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Preloaderone/Preloaderone.jsx +0 -49
  196. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServiceSectionWithImage/ServiceSectionWithImage.jsx +0 -376
  197. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +0 -384
  198. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards copy.jsx +0 -1576
  199. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +0 -1989
  200. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +0 -226
  201. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +0 -149
  202. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +0 -143
  203. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade copy.jsx +0 -634
  204. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +0 -474
  205. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide copy.jsx +0 -527
  206. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +0 -665
  207. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideOriginal.jsx +0 -477
  208. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideRecent.jsx +0 -1217
  209. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslideoriginal8-5.jsx +0 -614
  210. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.jsx +0 -91
  211. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom copy.jsx +0 -380
  212. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +0 -741
  213. package/srcbefore27-11/TabexComponents/Sections/Slideshow/TableSection/TableSection.jsx +0 -423
  214. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow copy.jsx +0 -284
  215. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow.jsx +0 -636
  216. package/srcbefore27-11/TabexComponents/Sections/Slideshow/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -402
  217. package/srcbefore27-11/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +0 -234
  218. package/srcbefore27-11/TabexComponents/StaticPages/AddReview/AddReview.jsx +0 -306
  219. package/srcbefore27-11/TabexComponents/StaticPages/Afiiliatesignup/Afiiliatesignup.jsx +0 -364
  220. package/srcbefore27-11/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +0 -1000
  221. package/srcbefore27-11/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +0 -460
  222. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout copy.jsx +0 -1306
  223. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout.jsx +0 -2506
  224. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout10-1.jsx +0 -1633
  225. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout12-12beforeextras.jsx +0 -1999
  226. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout26-9.jsx +0 -1593
  227. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout9-9.jsx +0 -1574
  228. package/srcbefore27-11/TabexComponents/StaticPages/Compare/Compare.jsx +0 -79
  229. package/srcbefore27-11/TabexComponents/StaticPages/Filter/CollectionsFilterHorizontal.jsx +0 -245
  230. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter copy 2.jsx +0 -2888
  231. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter copy.jsx +0 -1450
  232. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter.jsx +0 -3459
  233. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter1-5.jsx +0 -2624
  234. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter13-11.jsx +0 -2758
  235. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter14-8.jsx +0 -2753
  236. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter17-9.jsx +0 -1495
  237. package/srcbefore27-11/TabexComponents/StaticPages/Filter/VariantFilter.jsx +0 -1271
  238. package/srcbefore27-11/TabexComponents/StaticPages/InnerGroups/InnerGroups.jsx +0 -62
  239. package/srcbefore27-11/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +0 -50
  240. package/srcbefore27-11/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +0 -35
  241. package/srcbefore27-11/TabexComponents/StaticPages/Login/Login copy.jsx +0 -1060
  242. package/srcbefore27-11/TabexComponents/StaticPages/Login/Login.jsx +0 -616
  243. package/srcbefore27-11/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.jsx +0 -693
  244. package/srcbefore27-11/TabexComponents/StaticPages/OrderSuccess/OrderSuccess2.jsx +0 -173
  245. package/srcbefore27-11/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +0 -1831
  246. package/srcbefore27-11/TabexComponents/StaticPages/Policies/Policies.jsx +0 -291
  247. package/srcbefore27-11/TabexComponents/StaticPages/PrivacyPolicy/PrivacyPolicy.jsx +0 -194
  248. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Addreviewform.jsx +0 -183
  249. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/AddreviewformOriginal.jsx +0 -128
  250. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Article_itemtype.jsx +0 -268
  251. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/DescriptionContent.jsx +0 -190
  252. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductExtraFields.jsx +0 -225
  253. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductExtras.jsx +0 -224
  254. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductFileUploader.jsx +0 -136
  255. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductHeaderPricing.jsx +0 -347
  256. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductReviews.jsx +0 -262
  257. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype.jsx +0 -5566
  258. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype10-1.jsx +0 -1554
  259. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype3-11.jsx +0 -1827
  260. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype31-3.jsx +0 -1351
  261. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtypeUpdated.jsx +0 -1566
  262. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtypeeuro.jsx +0 -3101
  263. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +0 -3047
  264. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo13-5.jsx +0 -2103
  265. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo_28_6.jsx +0 -2189
  266. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfotoday.jsx +0 -2166
  267. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtype.js +0 -2714
  268. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtype.jsx +0 -2206
  269. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtypetill28-4-2025.jsx +0 -1158
  270. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabs.jsx +0 -1117
  271. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabs4-5.jsx +0 -1043
  272. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabstill28-4-2025.jsx +0 -1040
  273. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Variantoptions.jsx +0 -905
  274. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Variantoptions21-9.jsx +0 -324
  275. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/staticroutersidenav.module.css +0 -145
  276. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Addreviewform.jsx +0 -183
  277. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/AddreviewformOriginal.jsx +0 -128
  278. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/DescriptionContent.jsx +0 -140
  279. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductExtraFields.jsx +0 -225
  280. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductHeaderPricing.jsx +0 -310
  281. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductReviews.jsx +0 -235
  282. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype.jsx +0 -1672
  283. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype10-1.jsx +0 -1554
  284. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype31-3.jsx +0 -1351
  285. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtypeUpdated.jsx +0 -1566
  286. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Productinfo.jsx +0 -1804
  287. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Service_itemtype.jsx +0 -560
  288. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Serviceinfotabs.jsx +0 -928
  289. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Variantoptions.jsx +0 -597
  290. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Variantoptions21-9.jsx +0 -324
  291. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/staticroutersidenav.module.css +0 -145
  292. package/srcbefore27-11/TabexComponents/StaticPages/RefundPolicy/RefundPolicy.jsx +0 -194
  293. package/srcbefore27-11/TabexComponents/StaticPages/Resetpassword/Resetpassword.jsx +0 -346
  294. package/srcbefore27-11/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +0 -367
  295. package/srcbefore27-11/TabexComponents/StaticPages/ShippingPolicy/ShippingPolicy.jsx +0 -222
  296. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerAddressForm.jsx +0 -277
  297. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm copy.jsx +0 -1135
  298. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +0 -1505
  299. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm12-5beforeemailrequired.jsx +0 -1476
  300. package/srcbefore27-11/TabexComponents/StaticPages/Signup/Signup.jsx +0 -199
  301. package/srcbefore27-11/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +0 -292
  302. package/srcbefore27-11/TabexComponents/StaticPages/TermsConditions/TermsConditions.jsx +0 -219
  303. package/srcbefore27-11/TabexComponents/StaticPages/VendorPage/VendorPage.jsx +0 -162
  304. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart 10-10.jsx +0 -765
  305. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +0 -786
  306. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart26-9.jsx +0 -786
  307. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/ViewcartOriginal.jsx +0 -786
  308. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/ViewcartUpdated.jsx +0 -1425
  309. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +0 -844
  310. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist25-4.jsx +0 -555
  311. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist26-9.jsx +0 -555
  312. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/WishlistOriginal.jsx +0 -555
  313. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/WishlistUpdated.jsx +0 -815
  314. package/srcbefore27-11/button.jsx +0 -40
  315. package/srcbefore27-11/index.jsx +0 -353
  316. package/srcbefore27-11/styles/Home.module.css +0 -129
  317. package/srcbefore27-11/styles/cards/Categorcycard_fullimage.module.css +0 -14
  318. package/srcbefore27-11/styles/cards/Categorycard_slidebgscaled.module.css +0 -73
  319. package/srcbefore27-11/styles/cards/Categorycard_withshapes.module.css +0 -189
  320. package/srcbefore27-11/styles/cards/ModernCardWithQuantityButton.module.css +0 -30
  321. package/srcbefore27-11/styles/cards/Productcard6.module.css +0 -9
  322. package/srcbefore27-11/styles/cards/Productccard_with_zoominonhover.module.css +0 -94
  323. package/srcbefore27-11/styles/cards/Prouductcard_with_zoomhover.module.css +0 -61
  324. package/srcbefore27-11/styles/cards/UserCardWithSocialMediaOnHover.module.css +0 -65
  325. package/srcbefore27-11/styles/cards/card23.module.css +0 -60
  326. package/srcbefore27-11/styles/cards/categorycard.module.css +0 -84
  327. package/srcbefore27-11/styles/cards/categorycard3.module.css +0 -50
  328. package/srcbefore27-11/styles/cards/categorycardwithtext.module.css +0 -40
  329. package/srcbefore27-11/styles/cards/generalCardsStyles.module.css +0 -79
  330. package/srcbefore27-11/styles/cards/productcard_animatedbuttons.module.css +0 -139
  331. package/srcbefore27-11/styles/cards/productcard_with_textonhover.module.css +0 -18
  332. package/srcbefore27-11/styles/cards/productcard_withtextonimage.module.css +0 -0
  333. package/srcbefore27-11/styles/cards/productccard_with_imageontopleft.module.css +0 -85
  334. package/srcbefore27-11/styles/general/bootstrap.css +0 -4763
  335. package/srcbefore27-11/styles/general/dropdown.css +0 -206
  336. package/srcbefore27-11/styles/general/editorbardropdown.module.css +0 -94
  337. package/srcbefore27-11/styles/general/filter.module.css +0 -108
  338. package/srcbefore27-11/styles/general/form.module.css +0 -255
  339. package/srcbefore27-11/styles/general/general.module.css +0 -872
  340. package/srcbefore27-11/styles/general/image-gallery.css +0 -531
  341. package/srcbefore27-11/styles/general/react-accessible-accordion.module.css +0 -52
  342. package/srcbefore27-11/styles/general/react-phone-input-2.module.css +0 -927
  343. package/srcbefore27-11/styles/general/scrollbtn.module.css +0 -22
  344. package/srcbefore27-11/styles/general/slick.module.css +0 -166
  345. package/srcbefore27-11/styles/general/tabs.module.css +0 -119
  346. package/srcbefore27-11/styles/general/workplaceeditor.module.css +0 -328
  347. package/srcbefore27-11/styles/globals.css +0 -26
  348. package/srcbefore27-11/styles/headers/CTAHeader.module.css +0 -40
  349. package/srcbefore27-11/styles/headers/CategoryFeaturingHeader.module.css +0 -61
  350. package/srcbefore27-11/styles/headers/Gotoheader.module.css +0 -87
  351. package/srcbefore27-11/styles/headers/Header7.module.css +0 -50
  352. package/srcbefore27-11/styles/headers/HeaderWithAdSlider.module.css +0 -86
  353. package/srcbefore27-11/styles/headers/HeaderWithSearchOnCenter.module.css +0 -101
  354. package/srcbefore27-11/styles/headers/HeaderWithUtilityBar.module.css +0 -46
  355. package/srcbefore27-11/styles/headers/Header_threesectionslogocentered.module.css +0 -84
  356. package/srcbefore27-11/styles/headers/NewHeader.module.css +0 -101
  357. package/srcbefore27-11/styles/headers/SearchFocusedHeader.module.css +0 -62
  358. package/srcbefore27-11/styles/headers/Sideheader.module.css +0 -108
  359. package/srcbefore27-11/styles/headers/Simpleheader.module.css +0 -102
  360. package/srcbefore27-11/styles/headers/classicheader.module.css +0 -16
  361. package/srcbefore27-11/styles/headers/classicheaderstyles.module.css +0 -9
  362. package/srcbefore27-11/styles/headers/dropdown.css +0 -0
  363. package/srcbefore27-11/styles/headers/header4.module.css +0 -175
  364. package/srcbefore27-11/styles/headers/header5.module.css +0 -30
  365. package/srcbefore27-11/styles/headers/header_contactinfo.module.css +0 -53
  366. package/srcbefore27-11/styles/headers/headerresturant.module.css +0 -89
  367. package/srcbefore27-11/styles/headers/modernheader.module.css +0 -45
  368. package/srcbefore27-11/styles/headers/stylishheader.module.css +0 -24
  369. package/srcbefore27-11/styles/headers/subheader.module.css +0 -114
  370. package/srcbefore27-11/styles/headers/threetieredheader.module.css +0 -91
  371. package/srcbefore27-11/styles/sections/BackgroundImageWithTopContent.css +0 -4
  372. package/srcbefore27-11/styles/sections/Backgroundimage1.module.css +0 -17
  373. package/srcbefore27-11/styles/sections/Backgroundimage_with_topcircle.module.css +0 -28
  374. package/srcbefore27-11/styles/sections/Freetext.module.css +0 -18
  375. package/srcbefore27-11/styles/sections/Section_with_rightbgcont.module.css +0 -49
  376. package/srcbefore27-11/styles/sections/Slideshow_with_rotatedsquare.module.css +0 -35
  377. package/srcbefore27-11/styles/sections/Slideshow_with_squarebg.module.css +0 -39
  378. package/srcbefore27-11/styles/staticpages/accordion.module.css +0 -9
  379. package/srcbefore27-11/styles/staticpages/cart.module.css +0 -108
  380. package/srcbefore27-11/styles/staticpages/dropdown.css +0 -196
  381. package/srcbefore27-11/styles/staticpages/filter.module.css +0 -139
  382. package/srcbefore27-11/styles/staticpages/image-gallery.css +0 -481
  383. package/srcbefore27-11/styles/staticpages/login.module.css +0 -155
  384. package/srcbefore27-11/styles/staticpages/productinfo.module.css +0 -54
  385. package/srcbefore27-11/styles/staticpages/shop.module.css +0 -191
  386. package/srcbefore27-11/styles/staticpages/signup.module.css +0 -250
  387. package/srcbefore27-11/styles/staticpages/staticroutersidenav.module.css +0 -129
  388. package/srcbefore27-11/styles/staticpages/viewcart.module.css +0 -129
  389. package/srcbefore27-11/styles/staticpages/wishlist.module.css +0 -29
@@ -1,2714 +0,0 @@
1
- import React, { useState, useContext, useEffect, useRef, useCallback } from 'react';
2
- import { Button, Image, View, Text, TouchableOpacity, FlatList, StyleSheet, Linking, Modal } from 'react-native';
3
- import { SIZES, icons } from '../../GeneralFiles/constants';
4
- import generalstyles from '../../GeneralFiles/Stylesheet/Stylesheet';
5
- import { WebsiteDesignWorkPlaceContext } from '../../../../WebsiteDesignWorkPlace/WebsiteDesignWorkPlaceContext';
6
- import { LanguageContext } from '../../../LanguageContext/LanguageContext';
7
- import RenderHtml from 'react-native-render-html';
8
- import DateTimePickerModal from 'react-native-modal-datetime-picker';
9
- import { MaterialCommunityIcons, SimpleLineIcons, Feather, AntDesign, FontAwesome5 } from 'react-native-vector-icons';
10
- import SpinnerButton from 'react-native-spinner-button';
11
- import { FetchingContext } from '../../../FetchingContext/FetchingContext';
12
- // import Carousel, { Pagination } from 'react-native-snap-carousel';
13
- import { useNavigation } from '@react-navigation/native';
14
- import Variantoptions from './Variantoptions';
15
- import ProductPricingHeader from './ProductPricingHeader';
16
- import { ImageComponent } from '../../../ImageComponent';
17
- // import StarRating from 'react-native-star-rating';
18
- import ProductExtraFields from './ProductExtraFields';
19
- import ImageViewer from 'react-native-image-zoom-viewer';
20
- import OverallTotalSection from './OverallTotalSection';
21
- import { WebView } from 'react-native-webview';
22
- import SegmentedControlTab from 'react-native-segmented-control-tab';
23
- import { Entypo, FontAwesome } from '@expo/vector-icons';
24
- import YoutubePlayer from 'react-native-youtube-iframe';
25
- import Stars from 'react-native-stars';
26
- import Carousel from 'react-native-reanimated-carousel';
27
- import { Platform } from 'react-native';
28
- import { Calendar, CalendarList, Agenda } from 'react-native-calendars';
29
-
30
- const Service_itemtype = (props) => {
31
- const carouselRef = useRef();
32
- const navigation = useNavigation();
33
- const returnpolicyobj = props.actions.returnpolicyobj;
34
- const getreviewsfeedbackview = props.actions.getreviewsfeedbackview;
35
- const { showUpTopNotificationBarContext, fetchAuthorizationQueryContext } = useContext(FetchingContext);
36
- const { lang, langdetect } = useContext(LanguageContext);
37
- const { StyleParseToIntFuncContext, CurrentPageIdContext } = useContext(WebsiteDesignWorkPlaceContext);
38
- const [IsFavItemProps, setIsFavItemProps] = useState(props.actions.IsFavItemProps);
39
- const [fetchProductInfoQuery, setfetchProductInfoQuery] = useState(props.actions.fetchProductInfoQuery);
40
- const [specificdays_arr, setspecificdays_arr] = useState([]);
41
- const [showMoredesc, setShowMoredesc] = useState(false);
42
- const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
43
- const addtofavoritescontext = props.actions.addtofavoritescontext;
44
- const ProductInfoIdContext = props.actions.ProductInfoIdContext;
45
- const GeneralAPIMutationContext = props.actions.GeneralAPIMutationContext;
46
- const productimagesarrayy = props.actions.productimagesarrayy;
47
- const productimagesarrayy_ar = props.actions.productimagesarrayy_ar;
48
- const setaddtocardpayloadobj = props.actions.setaddtocardpayloadobj;
49
- const addtocardpayloadobj = props.actions.addtocardpayloadobj;
50
- const getprice_discountpriceprops = props.actions.getprice_discountpriceprops;
51
- const getQuantityCondition = props.actions.getQuantityCondition;
52
- const renderStoreInfo = props.actions.renderStoreInfo;
53
- const onShare = props.actions.onShare;
54
- const addtocartfunc = props.actions.addtocartfunc;
55
- const addtocartfunc_sp_date_quantity = props.actions.addtocartfunc_sp_date_quantity;
56
-
57
- const sectionproperties = props.actions.sectionproperties;
58
- const [currentmutatestate, setcurrentmutatestate] = useState('');
59
- const [selecteddays, setselecteddays] = useState([]);
60
- const [slots, setslots] = useState([]);
61
- const [showopencalendar, setshowopencalendar] = useState(false);
62
- const [calendarvisible, setcalendarvisible] = useState(false);
63
- const choosedateopencalendar = () => {
64
- setshowopencalendar(true);
65
- };
66
- const [selected, setSelected] = useState('');
67
- const [timepicked, settimepicked] = useState(lang.choosetime);
68
- const [fromDate, setfromDate] = useState(lang.choosedate);
69
- const [showFromCalendar, setshowFromCalendar] = useState(false);
70
- const [toDate, settoDate] = useState(lang.choosedate);
71
- const [showToCalendar, setshowToCalendar] = useState(false);
72
- const [indexSelected, setIndexSelected] = useState(0);
73
- const [modalVisible, setModalVisible] = useState(false);
74
- const [productVideos, setproductVideos] = useState([]);
75
- const [disableddates, setdisableddates] = useState([]);
76
- const [rep_dates_counter, setrep_dates_counter] = useState(0);
77
- const [CalenderSelectedDays, setCalenderSelectedDays] = useState({});
78
- function setcalendarselecteddaya(datesArray) {
79
- const result = {};
80
- datesArray.forEach((date) => {
81
- result[date] = {
82
- selected: true,
83
- disableTouchEvent: true,
84
- selectedDotColor: 'orange',
85
- };
86
- });
87
- setCalenderSelectedDays(result);
88
- }
89
- const Create_Rep_dates = (quantity) => {
90
- let reqdatesarray = [];
91
-
92
- // Example input: "2025-09-22" (YYYY-MM-DD)
93
- let rawDate = addtocardpayloadobj.date;
94
- let datereq = new Date(rawDate);
95
-
96
- for (let i = 0; i < quantity; i++) {
97
- let newDate = new Date(datereq);
98
- newDate.setDate(datereq.getDate() + i * 7);
99
-
100
- // format as YYYY-MM-DD
101
- let yyyy = newDate.getFullYear();
102
- let mm = String(newDate.getMonth() + 1).padStart(2, '0');
103
- let dd = String(newDate.getDate()).padStart(2, '0');
104
-
105
- reqdatesarray.push(`${yyyy}-${mm}-${dd}`);
106
- }
107
- // alert(JSON.stringify(reqdatesarray));
108
-
109
- return reqdatesarray;
110
- };
111
- const onSelect = (indexSelected) => {
112
- setIndexSelected(indexSelected);
113
- };
114
- const onTouchThumbnail = (touched) => {
115
- if (touched === indexSelected) return;
116
-
117
- // carouselRef?.current?.snapToItem(touched);
118
- };
119
- const [tabindex, settabindex] = useState(0);
120
- const [playing, setPlaying] = useState(false);
121
-
122
- const onStateChange = useCallback((state) => {
123
- if (state === 'ended') {
124
- setPlaying(false);
125
- Alert.alert('video has finished playing!');
126
- }
127
- }, []);
128
-
129
- useEffect(() => {
130
- setaddtocardpayloadobj({ ...addtocardpayloadobj, item_type: 'service', productid: props.actions.ProductInfoIdContext });
131
- }, []);
132
- useEffect(() => {
133
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
134
- if (selecteddays.length > 0) {
135
- let sortedDates = selecteddays.map((d) => new Date(d.dateString)).sort((a, b) => a - b);
136
-
137
- let startDate = sortedDates[0];
138
- let endDate = sortedDates[sortedDates.length - 1];
139
- tempaddtocardpayloadobj.from = startDate.toISOString().split('T')[0];
140
- tempaddtocardpayloadobj.to = endDate.toISOString().split('T')[0];
141
- }
142
- // setaddtocardpayloadobj({ ...addtocardpayloadobj, to: dateString });
143
- // setaddtocardpayloadobj({ ...addtocardpayloadobj, from: dateonly });
144
-
145
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
146
- }, [selecteddays]);
147
- useEffect(() => {
148
- if (fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days') {
149
- if (fetchProductInfoQuery?.data?.data?.productinfo?.disabled_dates != undefined && fetchProductInfoQuery?.data?.data?.productinfo?.disabled_dates != null) {
150
- if (fetchProductInfoQuery?.data?.data?.productinfo?.disabled_dates.length != 0) {
151
- //
152
- var tempdisableddates = { ...disableddates };
153
- tempdisableddates = fetchProductInfoQuery?.data?.data?.productinfo?.disabled_dates;
154
- setdisableddates([...tempdisableddates]);
155
- }
156
- }
157
- }
158
- }, [addtocardpayloadobj.from, addtocardpayloadobj.to]);
159
- useEffect(() => {
160
- if (addtocardpayloadobj.from != undefined && addtocardpayloadobj.to != undefined) {
161
- var date1 = addtocardpayloadobj.from;
162
- // var date1modified = date1.replace(/-/g, '/');
163
- var date2 = addtocardpayloadobj.to;
164
- // var date2modified = date2.replace(/-/g, '/');
165
- const diffTime = Math.abs(new Date(date2) - new Date(date1) + 1);
166
- // diffTime = parseInt(diffTime + 1);
167
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
168
-
169
- if (diffDays.toString() != 'NaN') {
170
- if (date2 <= date1) {
171
- showUpTopNotificationBarContext(lang.chooseanotherdate, 'orange');
172
- setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: 0 });
173
- } else {
174
- if (fetchProductInfoQuery.data.data.productinfo.maximumproductquant >= diffDays && fetchProductInfoQuery.data.data.productinfo.minimumproductquant <= diffDays) {
175
- setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: diffDays });
176
- } else {
177
- setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: 0 });
178
- showUpTopNotificationBarContext(
179
- 'Max: ' + fetchProductInfoQuery.data.data.productinfo.maximumproductquant + ', Min: ' + fetchProductInfoQuery.data.data.productinfo.minimumproductquant,
180
- 'orange',
181
- );
182
- }
183
- }
184
- }
185
- }
186
- }, [addtocardpayloadobj.from, addtocardpayloadobj.to]);
187
- // useEffect(() => {
188
- // if (addtocardpayloadobj.from != undefined && addtocardpayloadobj.to != undefined) {
189
- // var date1 = addtocardpayloadobj.from;
190
- // var date1modified = date1.replace(/-/g, '/');
191
- // var date2 = addtocardpayloadobj.to;
192
- // var date2modified = date2.replace(/-/g, '/');
193
- // const diffTime = Math.abs(new Date(date1modified) - new Date(date2modified));
194
- // const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
195
- // if (diffDays.toString() != 'NaN') {
196
- // if (date2 <= date1) {
197
- // showUpTopNotificationBarContext(lang.chooseanotherdate, 'orange');
198
- // setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: 0 });
199
- // } else {
200
- // if (fetchProductInfoQuery.data.data.productinfo.maximumproductquant >= diffDays && fetchProductInfoQuery.data.data.productinfo.minimumproductquant <= diffDays) {
201
- // setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: diffDays });
202
- // } else {
203
- // setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: 0 });
204
- // showUpTopNotificationBarContext(
205
- // 'Max: ' + fetchProductInfoQuery.data.data.productinfo.maximumproductquant + ', Min: ' + fetchProductInfoQuery.data.data.productinfo.minimumproductquant,
206
- // 'orange',
207
- // );
208
- // }
209
- // }
210
- // }
211
- // }
212
- // }, [addtocardpayloadobj.from, addtocardpayloadobj.to]);
213
-
214
- useEffect(() => {
215
- if (fetchProductInfoQuery?.data?.data?.productinfo?.product_videos?.length != 0) {
216
- if (Array.isArray(fetchProductInfoQuery?.data?.data?.productinfo?.product_videos)) {
217
- var temparr = [...fetchProductInfoQuery?.data?.data?.productinfo?.product_videos];
218
- temparr.forEach(function (item) {
219
- item.linkclicked = false;
220
- });
221
- setproductVideos([...temparr]);
222
- }
223
- }
224
-
225
- if (
226
- fetchProductInfoQuery?.data?.data?.productinfo != undefined &&
227
- fetchProductInfoQuery?.data?.data?.productinfo.serviceinfo != undefined &&
228
- fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.specialDatesPrices != undefined &&
229
- Array.isArray(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.specialDatesPrices)
230
- ) {
231
- var tempspecificdays_arr = [...specificdays_arr];
232
- tempspecificdays_arr = fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.specialDatesPrices;
233
- setspecificdays_arr([...tempspecificdays_arr]);
234
- }
235
- }, []);
236
- // const disabled_dates = ['2025-02-18', '2025-02-19', '2025-02-20', '2025-02-18', '2025-02-19', '2025-02-20'];
237
-
238
- // Format disabled dates into an object for the Calendar component
239
- const disabledDatesObject = disableddates.reduce((acc, date) => {
240
- acc[date] = { disabled: true };
241
- return acc;
242
- }, {});
243
- // const source = {
244
- // html:
245
- // langdetect == 'en'
246
- // ? fetchProductInfoQuery?.data?.data?.productinfo?.description_en?.length > 500
247
- // ? '<p><span style="font-size: 15px">' + fetchProductInfoQuery?.data?.data?.productinfo?.description_en?.slice(0, 500) + '...</span> </p>'
248
- // : '<p><span style="font-size: 15px">' + fetchProductInfoQuery?.data?.data?.productinfo?.description_en + '</span> </p>'
249
- // : fetchProductInfoQuery?.data?.data?.productinfo?.description_ar?.length > 500
250
- // ? '<p><span style="font-size: 15px">' + fetchProductInfoQuery?.data?.data?.productinfo?.description_ar?.slice(0, 450) + +'...</span> </p>'
251
- // : '<p><span style="font-size: 15px">' + fetchProductInfoQuery?.data?.data?.productinfo?.description_ar + '</span> </p>',
252
- // };
253
- const source = {
254
- html:
255
- langdetect == 'en'
256
- ? '<p><span style="font-size: 15px">' + fetchProductInfoQuery?.data?.data?.productinfo?.description_en + '</span> </p>'
257
- : '<p><span style="font-size: 15px">' + fetchProductInfoQuery?.data?.data?.productinfo?.description_ar + '</span> </p>',
258
- };
259
- function UpperPolicy() {
260
- return (
261
- <View
262
- style={{
263
- backgroundColor: 'white',
264
- paddingTop: 10,
265
- paddingBottom: 10,
266
- marginTop: 20,
267
- }}
268
- >
269
- <Text
270
- style={{
271
- textAlign: 'left',
272
- paddingStart: 15,
273
- paddingEnd: 15,
274
- color: sectionproperties.slideshowText1ContentColor,
275
- fontFamily:
276
- sectionproperties.slideshowText1ContentFontWeight == 300
277
- ? 'Poppins-Thin'
278
- : sectionproperties.slideshowText1ContentFontWeight == 400
279
- ? 'Poppins-Light'
280
- : sectionproperties.slideshowText1ContentFontWeight == 500
281
- ? 'Poppins-Regular'
282
- : sectionproperties.slideshowText1ContentFontWeight == 600
283
- ? 'Poppins-Medium'
284
- : sectionproperties.slideshowText1ContentFontWeight == 700
285
- ? 'Poppins-Semibold'
286
- : 'Poppins-Bold',
287
- fontSize: StyleParseToIntFuncContext(sectionproperties.slideshowText1ContentFontSize),
288
- textTransform:
289
- sectionproperties.slideshowText1ContentTextTransform == 'Uppercase'
290
- ? 'uppercase'
291
- : sectionproperties.slideshowText1ContentTextTransform == 'Capitalize'
292
- ? 'capitalize'
293
- : sectionproperties.slideshowText1ContentTextTransform == 'None'
294
- ? 'none'
295
- : 'lowercase',
296
- }}
297
- >
298
- {langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policypagename_en : returnpolicyobj('Refund Policy')?.policypagename_ar}
299
- </Text>
300
- <View
301
- style={{
302
- width: '100%',
303
- height: 1,
304
- backgroundColor: '#eee',
305
- marginTop: 10,
306
- marginBottom: 0,
307
- }}
308
- ></View>
309
- <View
310
- style={{
311
- paddingHorizontal: 20,
312
- }}
313
- >
314
- <Text
315
- style={[
316
- generalstyles.primaryRegular,
317
- {
318
- marginTop: 10,
319
- width: '100%',
320
- color: 'grey',
321
- textAlign: 'left',
322
- color: sectionproperties.slideshowText2ContentColor,
323
- fontFamily:
324
- sectionproperties.slideshowText2ContentFontWeight == 300
325
- ? 'Poppins-Thin'
326
- : sectionproperties.slideshowText2ContentFontWeight == 400
327
- ? 'Poppins-Light'
328
- : sectionproperties.slideshowText2ContentFontWeight == 500
329
- ? 'Poppins-Regular'
330
- : sectionproperties.slideshowText2ContentFontWeight == 600
331
- ? 'Poppins-Medium'
332
- : sectionproperties.slideshowText2ContentFontWeight == 700
333
- ? 'Poppins-Semibold'
334
- : 'Poppins-Bold',
335
- fontSize: StyleParseToIntFuncContext(sectionproperties.slideshowText2ContentFontSize),
336
- textTransform:
337
- sectionproperties.slideshowText2ContentTextTransform == 'Uppercase'
338
- ? 'uppercase'
339
- : sectionproperties.slideshowText2ContentTextTransform == 'Capitalize'
340
- ? 'capitalize'
341
- : sectionproperties.slideshowText2ContentTextTransform == 'None'
342
- ? 'none'
343
- : 'lowercase',
344
- },
345
- ]}
346
- >
347
- {langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policysummary_en : returnpolicyobj('Refund Policy')?.policysummary_ar}
348
- </Text>
349
- <View style={[generalstyles.allcentered, { width: '100%', marginTop: 15 }]}>
350
- <Text
351
- style={[generalstyles.poppinsMedium, { textDecorationLine: 'underline' }]}
352
- onPress={() => {
353
- Linking.openURL('https://' + fetchAuthorizationQueryContext?.data?.data?.instinfo?.instcred?.instexternaldomain + '/policies');
354
- }}
355
- >
356
- {lang.showmore}
357
- </Text>
358
- </View>
359
- </View>
360
- </View>
361
- );
362
- }
363
- function LowerPolicy() {
364
- return (
365
- <View
366
- style={{
367
- backgroundColor: 'white',
368
- paddingTop: 10,
369
- paddingBottom: 10,
370
- marginTop: 20,
371
- }}
372
- >
373
- <Text
374
- style={{
375
- textAlign: 'left',
376
- paddingStart: 15,
377
- paddingEnd: 15,
378
- color: sectionproperties.slideshowText1ContentColor,
379
- fontFamily:
380
- sectionproperties.slideshowText1ContentFontWeight == 300
381
- ? 'Poppins-Thin'
382
- : sectionproperties.slideshowText1ContentFontWeight == 400
383
- ? 'Poppins-Light'
384
- : sectionproperties.slideshowText1ContentFontWeight == 500
385
- ? 'Poppins-Regular'
386
- : sectionproperties.slideshowText1ContentFontWeight == 600
387
- ? 'Poppins-Medium'
388
- : sectionproperties.slideshowText1ContentFontWeight == 700
389
- ? 'Poppins-Semibold'
390
- : 'Poppins-Bold',
391
- fontSize: StyleParseToIntFuncContext(sectionproperties.slideshowText1ContentFontSize),
392
- textTransform:
393
- sectionproperties.slideshowText1ContentTextTransform == 'Uppercase'
394
- ? 'uppercase'
395
- : sectionproperties.slideshowText1ContentTextTransform == 'Capitalize'
396
- ? 'capitalize'
397
- : sectionproperties.slideshowText1ContentTextTransform == 'None'
398
- ? 'none'
399
- : 'lowercase',
400
- }}
401
- >
402
- {langdetect == 'en' ? returnpolicyobj('Shipping Policy')?.policypagename_en : returnpolicyobj('Shipping Policy')?.policypagename_ar}
403
- </Text>
404
- <View
405
- style={{
406
- width: '100%',
407
- height: 1,
408
- backgroundColor: '#eee',
409
- marginTop: 10,
410
- marginBottom: 0,
411
- }}
412
- ></View>
413
- <View
414
- style={{
415
- paddingHorizontal: 20,
416
- }}
417
- >
418
- <Text
419
- style={[
420
- generalstyles.primaryRegular,
421
- {
422
- marginTop: 10,
423
- color: 'grey',
424
- textAlign: 'left',
425
- color: sectionproperties.slideshowText2ContentColor,
426
- fontFamily:
427
- sectionproperties.slideshowText2ContentFontWeight == 300
428
- ? 'Poppins-Thin'
429
- : sectionproperties.slideshowText2ContentFontWeight == 400
430
- ? 'Poppins-Light'
431
- : sectionproperties.slideshowText2ContentFontWeight == 500
432
- ? 'Poppins-Regular'
433
- : sectionproperties.slideshowText2ContentFontWeight == 600
434
- ? 'Poppins-Medium'
435
- : sectionproperties.slideshowText2ContentFontWeight == 700
436
- ? 'Poppins-Semibold'
437
- : 'Poppins-Bold',
438
- fontSize: StyleParseToIntFuncContext(sectionproperties.slideshowText2ContentFontSize),
439
- textTransform:
440
- sectionproperties.slideshowText2ContentTextTransform == 'Uppercase'
441
- ? 'uppercase'
442
- : sectionproperties.slideshowText2ContentTextTransform == 'Capitalize'
443
- ? 'capitalize'
444
- : sectionproperties.slideshowText2ContentTextTransform == 'None'
445
- ? 'none'
446
- : 'lowercase',
447
- },
448
- ]}
449
- >
450
- {langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policysummary_en : returnpolicyobj('Refund Policy')?.policysummary_ar}
451
- </Text>
452
-
453
- <View style={[generalstyles.allcentered, { width: '100%', marginTop: 15 }]}>
454
- <Text style={[generalstyles.poppinsMedium, { textDecorationLine: 'underline' }]}>{lang.showmore}</Text>
455
- </View>
456
- </View>
457
- </View>
458
- );
459
- }
460
- function renderProductInfo() {
461
- return (
462
- <View style={{ width: '100%' }}>
463
- {sectionproperties.productnameposition == 'Top' && (
464
- <View
465
- style={{
466
- display: 'flex',
467
- marginTop: 10,
468
- marginBottom: 10,
469
- flexDirection: 'row',
470
- flex: 1,
471
- flexDirection: 'column',
472
- padding: 10,
473
- paddingHorizontal: 15,
474
- backgroundColor: sectionproperties.reservation_bgcolor,
475
- }}
476
- >
477
- {sectionproperties.showSKU == 'Show' && sectionproperties.skuposition == 'Top' && (
478
- <View style={{ marginTop: 5, marginBottom: StyleParseToIntFuncContext(sectionproperties.skumarginbottom) }}>
479
- <Text
480
- style={{
481
- fontSize: StyleParseToIntFuncContext(sectionproperties.skuFontSize),
482
- color: sectionproperties.skuColor,
483
- fontFamily:
484
- sectionproperties.skuFontWeight == 300
485
- ? 'Poppins-Thin'
486
- : sectionproperties.skuFontWeight == 400
487
- ? 'Poppins-Light'
488
- : sectionproperties.skuFontWeight == 500
489
- ? 'Poppins-Regular'
490
- : sectionproperties.skuFontWeight == 600
491
- ? 'Poppins-Medium'
492
- : sectionproperties.skuFontWeight == 700
493
- ? 'Poppins-Semibold'
494
- : 'Poppins-Bold',
495
- textAlign: 'left',
496
- }}
497
- >
498
- {langdetect == 'en' ? sectionproperties.skutitleEn : sectionproperties.skutitleAr}:{' '}
499
- <Text
500
- style={{
501
- fontFamily:
502
- sectionproperties.skuSecondaryFontWeight == 300
503
- ? 'Poppins-Thin'
504
- : sectionproperties.skuSecondaryFontWeight == 400
505
- ? 'Poppins-Light'
506
- : sectionproperties.skuSecondaryFontWeight == 500
507
- ? 'Poppins-Regular'
508
- : sectionproperties.skuSecondaryFontWeight == 600
509
- ? 'Poppins-Medium'
510
- : sectionproperties.skuSecondaryFontWeight == 700
511
- ? 'Poppins-Semibold'
512
- : 'Poppins-Bold',
513
- }}
514
- >
515
- {fetchProductInfoQuery?.data?.data?.productinfo?.sku}
516
- </Text>
517
- </Text>
518
- </View>
519
- )}
520
- <View style={[generalstyles.flexRow]}>
521
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec' && (
522
- <TouchableOpacity
523
- style={{
524
- flex: 1,
525
- height: 40,
526
- display: 'flex',
527
- alignItems: 'center',
528
- justifyContent: 'center',
529
- flexDirection: 'row',
530
- }}
531
- onPress={() => {
532
- navigation.goBack();
533
- }}
534
- >
535
- <AntDesign
536
- name={langdetect == 'en' ? 'arrowleft' : 'arrowright'}
537
- size={StyleParseToIntFuncContext(sectionproperties.generalbtn_fontsize)}
538
- style={{ color: '#000' }}
539
- />
540
- <Text
541
- style={[
542
- {
543
- flex: 1,
544
- marginHorizontal: 10,
545
- textTransform:
546
- sectionproperties.prodNameTextTranform == 'Uppercase'
547
- ? 'uppercase'
548
- : sectionproperties.prodNameTextTranform == 'Capitalize'
549
- ? 'capitalize'
550
- : sectionproperties.prodNameTextTranform == 'None'
551
- ? 'none'
552
- : 'lowercase',
553
- color: sectionproperties.prodNameColor,
554
- fontSize: StyleParseToIntFuncContext(sectionproperties.prodNameFontSize),
555
- textAlign: 'left',
556
- fontFamily:
557
- sectionproperties.prodNameFontWeight == 300
558
- ? 'Poppins-Thin'
559
- : sectionproperties.prodNameFontWeight == 400
560
- ? 'Poppins-Light'
561
- : sectionproperties.prodNameFontWeight == 500
562
- ? 'Poppins-Regular'
563
- : sectionproperties.prodNameFontWeight == 600
564
- ? 'Poppins-Medium'
565
- : sectionproperties.prodNameFontWeight == 700
566
- ? 'Poppins-Semibold'
567
- : 'Poppins-Bold',
568
- marginEnd: 10,
569
- },
570
- ]}
571
- >
572
- {langdetect == 'en' ? fetchProductInfoQuery?.data?.data?.productinfo.name_en : fetchProductInfoQuery?.data?.data?.productinfo.name_ar}
573
- </Text>
574
- </TouchableOpacity>
575
- )}
576
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' && (
577
- <Text
578
- style={[
579
- {
580
- flex: 1,
581
- textTransform:
582
- sectionproperties.prodNameTextTranform == 'Uppercase'
583
- ? 'uppercase'
584
- : sectionproperties.prodNameTextTranform == 'Capitalize'
585
- ? 'capitalize'
586
- : sectionproperties.prodNameTextTranform == 'None'
587
- ? 'none'
588
- : 'lowercase',
589
- color: sectionproperties.prodNameColor,
590
- fontSize: StyleParseToIntFuncContext(sectionproperties.prodNameFontSize),
591
- textAlign: 'left',
592
- fontFamily:
593
- sectionproperties.prodNameFontWeight == 300
594
- ? 'Poppins-Thin'
595
- : sectionproperties.prodNameFontWeight == 400
596
- ? 'Poppins-Light'
597
- : sectionproperties.prodNameFontWeight == 500
598
- ? 'Poppins-Regular'
599
- : sectionproperties.prodNameFontWeight == 600
600
- ? 'Poppins-Medium'
601
- : sectionproperties.prodNameFontWeight == 700
602
- ? 'Poppins-Semibold'
603
- : 'Poppins-Bold',
604
- marginEnd: 10,
605
- },
606
- ]}
607
- >
608
- {langdetect == 'en' ? fetchProductInfoQuery?.data?.data?.productinfo.name_en : fetchProductInfoQuery?.data?.data?.productinfo.name_ar}
609
- </Text>
610
- )}
611
- {sectionproperties.showShareButton == 'Show' && (
612
- <TouchableOpacity
613
- style={[
614
- generalstyles.allcentered,
615
- {
616
- width: sectionproperties.sharebtn_bg == '#ffffff' ? 'auto' : 40,
617
- height: sectionproperties.sharebtn_bg == '#ffffff' ? 'auto' : 40,
618
- backgroundColor: sectionproperties.sharebtn_bg,
619
- borderRadius: StyleParseToIntFuncContext(sectionproperties.sharebtn_borderradius),
620
- marginBottom: 'auto',
621
- },
622
- ]}
623
- onPress={() => {
624
- onShare();
625
- }}
626
- >
627
- <Feather name="share" color={sectionproperties.sharebtn_color} size={StyleParseToIntFuncContext(sectionproperties.sharebtn_fontSize)} />
628
- </TouchableOpacity>
629
- )}
630
- </View>
631
- {sectionproperties.showmeasurementunit == 'Show' && fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec' && (
632
- <Text
633
- style={[
634
- {
635
- flex: 1,
636
- textTransform: 'uppercase',
637
- color: sectionproperties.measurementunitcolor,
638
- fontSize: StyleParseToIntFuncContext(sectionproperties.measurementunitfontsize),
639
- textAlign: 'left',
640
- fontFamily: 'Poppins-Regular',
641
- marginEnd: 10,
642
- },
643
- ]}
644
- >
645
- {fetchProductInfoQuery?.data?.data?.productinfo.measurmentunit}
646
- </Text>
647
- )}
648
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec' && <ProductPricingHeader actions={props.actions} />}
649
- </View>
650
- )}
651
- <View style={{ width: '100%', flexDirection: 'row', marginTop: 10, position: 'absolute', zIndex: 1000, paddingLeft: 10, paddingRight: 10 }}>
652
- {sectionproperties.showgallery == 'Show' && sectionproperties.productnameposition != 'Top' && (
653
- <View
654
- style={{
655
- flex: 1,
656
- }}
657
- >
658
- <TouchableOpacity
659
- style={{
660
- width: 40,
661
- height: 40,
662
- display: 'flex',
663
- alignItems: 'center',
664
- justifyContent: 'center',
665
- backgroundColor: sectionproperties.generalbtn_bgColor,
666
- borderTopLeftRadius: StyleParseToIntFuncContext(sectionproperties.generalbtn_bordertopleftradius, '', true),
667
- borderTopRightRadius: StyleParseToIntFuncContext(sectionproperties.generalbtn_bordertoprightradius, '', true),
668
- borderBottomLeftRadius: StyleParseToIntFuncContext(sectionproperties.generalbtn_borderbottomleftradius, '', true),
669
- borderBottomRightRadius: StyleParseToIntFuncContext(sectionproperties.generalbtn_borderbottomrightradius, '', true),
670
- borderWidth: StyleParseToIntFuncContext(sectionproperties.generalbtn_borderwidth, '', true),
671
- borderColor: sectionproperties.generalbtn_bordercolor,
672
- }}
673
- onPress={() => {
674
- navigation.goBack();
675
- }}
676
- >
677
- <AntDesign
678
- name={langdetect == 'en' ? 'arrowleft' : 'arrowright'}
679
- size={StyleParseToIntFuncContext(sectionproperties.generalbtn_fontsize)}
680
- style={{ color: sectionproperties.generalbtn_textColor }}
681
- />
682
- </TouchableOpacity>
683
- </View>
684
- )}
685
-
686
- <View
687
- style={{
688
- flex: 1,
689
- display: 'flex',
690
- justifyContent: 'flex-end',
691
- alignItems: 'flex-end',
692
- }}
693
- >
694
- {sectionproperties.favBtnShow == 'Show' && sectionproperties.btnposition == 'Top' && (
695
- <TouchableOpacity
696
- style={{
697
- width: 40,
698
- height: 40,
699
- display: 'flex',
700
- alignItems: 'center',
701
- justifyContent: 'center',
702
- backgroundColor: IsFavItemProps == true ? sectionproperties.activebgcolor : sectionproperties.favBtnbgColor,
703
- borderRadius: StyleParseToIntFuncContext(sectionproperties.fav_btn_borderBottomLeftRadius, '', true),
704
- borderWidth: StyleParseToIntFuncContext(sectionproperties.favbtnborderwidth, '', true),
705
- borderColor: sectionproperties.favbtnbordercolor,
706
- }}
707
- onPress={() => {
708
- setIsFavItemProps(!IsFavItemProps);
709
- addtofavoritescontext(ProductInfoIdContext);
710
- }}
711
- >
712
- {sectionproperties.faviconshape == 'Star Shape' && (
713
- <View>
714
- {!IsFavItemProps && (
715
- <AntDesign
716
- name="staro"
717
- size={StyleParseToIntFuncContext(sectionproperties.favBtnIconfontsize)}
718
- style={{
719
- color: sectionproperties.favBtniconcolor,
720
- }}
721
- />
722
- )}
723
- {IsFavItemProps && (
724
- <AntDesign
725
- name="star"
726
- size={StyleParseToIntFuncContext(sectionproperties.favBtnIconfontsize)}
727
- style={{
728
- color: sectionproperties.activefaviconcolor,
729
- }}
730
- />
731
- )}
732
- </View>
733
- )}
734
- {sectionproperties.faviconshape == 'Heart Shape' && (
735
- <View>
736
- {!IsFavItemProps && (
737
- <AntDesign
738
- name="hearto"
739
- size={StyleParseToIntFuncContext(sectionproperties.favBtnIconfontsize)}
740
- style={{
741
- color: sectionproperties.favBtniconcolor,
742
- }}
743
- />
744
- )}
745
- {IsFavItemProps && (
746
- <AntDesign
747
- name="heart"
748
- size={StyleParseToIntFuncContext(sectionproperties.favBtnIconfontsize)}
749
- style={{
750
- color: sectionproperties.activefaviconcolor,
751
- }}
752
- />
753
- )}
754
- </View>
755
- )}
756
- </TouchableOpacity>
757
- )}
758
- </View>
759
- </View>
760
- <View
761
- style={{
762
- height: StyleParseToIntFuncContext(sectionproperties.image_height != null && sectionproperties.image_height != undefined ? sectionproperties.image_height : 0),
763
- marginBottom: 10,
764
- // backgroundColor: 'white',
765
- backgroundColor: sectionproperties.reservation_bgcolor,
766
- // backgroundColor: 'red',
767
- }}
768
- >
769
- <Carousel
770
- loop={false}
771
- width={SIZES.width}
772
- height={'100%'}
773
- autoPlay={false}
774
- data={Platform.OS == 'ios' ? productimagesarrayy : langdetect == 'en' ? productimagesarrayy : productimagesarrayy_ar}
775
- scrollAnimationDuration={400}
776
- renderItem={({ index, item }) => (
777
- <TouchableOpacity
778
- onPress={() => setModalVisible(true)}
779
- style={{
780
- width: '100%',
781
- height: '100%',
782
- }}
783
- >
784
- <ImageComponent
785
- key={index}
786
- style={{
787
- width: '100%',
788
- height: '100%',
789
- }}
790
- resizeMode="contain"
791
- path={'/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + item.path}
792
- />
793
- </TouchableOpacity>
794
- )}
795
- // onSnapToItem={(index) => {
796
- // onSelectcarosal(index);
797
- // }}
798
- ref={carouselRef}
799
- />
800
- </View>
801
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec' && (
802
- <View
803
- style={{
804
- paddingHorizontal: 15,
805
- flex: 1,
806
- width: '100%',
807
- }}
808
- >
809
- <View style={{ flexDirection: 'row', alignItems: 'center', width: '90%' }}>
810
- <View
811
- style={{
812
- width: 60,
813
- height: 60,
814
- borderRadius: 100,
815
- overflow: 'hidden',
816
- }}
817
- >
818
- <ImageComponent
819
- path={fetchProductInfoQuery?.data?.data?.productinfo?.vendorinfo?.vendorlogourl}
820
- resizeMode={'contain'}
821
- style={[
822
- {
823
- width: '100%',
824
- height: '100%',
825
- },
826
- ]}
827
- resizeMethod="resize"
828
- />
829
- </View>
830
- <View style={{ flexDirection: 'column', marginHorizontal: 10, width: '90%' }}>
831
- <Text
832
- style={[
833
- {
834
- flex: 1,
835
- color: sectionproperties.prodNameColor,
836
- fontSize: 18,
837
- textAlign: 'left',
838
- fontFamily:
839
- sectionproperties.prodNameFontWeight == 300
840
- ? 'Poppins-Thin'
841
- : sectionproperties.prodNameFontWeight == 400
842
- ? 'Poppins-Light'
843
- : sectionproperties.prodNameFontWeight == 500
844
- ? 'Poppins-Regular'
845
- : sectionproperties.prodNameFontWeight == 600
846
- ? 'Poppins-Medium'
847
- : sectionproperties.prodNameFontWeight == 700
848
- ? 'Poppins-Semibold'
849
- : 'Poppins-Bold',
850
- marginEnd: 10,
851
- },
852
- ]}
853
- >
854
- {fetchProductInfoQuery?.data?.data?.productinfo?.vendorinfo?.vendorname}
855
- </Text>
856
- <Text
857
- style={[
858
- {
859
- flex: 1,
860
- textTransform:
861
- sectionproperties.prodNameTextTranform == 'Uppercase'
862
- ? 'uppercase'
863
- : sectionproperties.prodNameTextTranform == 'Capitalize'
864
- ? 'capitalize'
865
- : sectionproperties.prodNameTextTranform == 'None'
866
- ? 'none'
867
- : 'lowercase',
868
- color: 'rgb(102,102,102)',
869
- fontSize: 14,
870
- textAlign: 'left',
871
- fontFamily: 'Poppins-Regular',
872
- // marginEnd: 15,
873
- },
874
- ]}
875
- ></Text>
876
- </View>
877
- </View>
878
- </View>
879
- )}
880
- {sectionproperties.productnameposition == 'Bottom' && (
881
- <View
882
- style={{
883
- display: 'flex',
884
- marginTop: 10,
885
- flexDirection: 'row',
886
- flex: 1,
887
- flexDirection: 'column',
888
- padding: 10,
889
- paddingHorizontal: 15,
890
- backgroundColor: sectionproperties.reservation_bgcolor,
891
- }}
892
- >
893
- <View style={[generalstyles.flexRow]}>
894
- <Text
895
- style={[
896
- {
897
- flex: 1,
898
- textTransform:
899
- sectionproperties.prodNameTextTranform == 'Uppercase'
900
- ? 'uppercase'
901
- : sectionproperties.prodNameTextTranform == 'Capitalize'
902
- ? 'capitalize'
903
- : sectionproperties.prodNameTextTranform == 'None'
904
- ? 'none'
905
- : 'lowercase',
906
- color: sectionproperties.prodNameColor,
907
- fontSize: StyleParseToIntFuncContext(sectionproperties.prodNameFontSize),
908
- textAlign: 'left',
909
- fontFamily:
910
- sectionproperties.prodNameFontWeight == 300
911
- ? 'Poppins-Thin'
912
- : sectionproperties.prodNameFontWeight == 400
913
- ? 'Poppins-Light'
914
- : sectionproperties.prodNameFontWeight == 500
915
- ? 'Poppins-Regular'
916
- : sectionproperties.prodNameFontWeight == 600
917
- ? 'Poppins-Medium'
918
- : sectionproperties.prodNameFontWeight == 700
919
- ? 'Poppins-Semibold'
920
- : 'Poppins-Bold',
921
- marginEnd: 10,
922
- },
923
- ]}
924
- >
925
- {langdetect == 'en' ? fetchProductInfoQuery?.data?.data?.productinfo.name_en : fetchProductInfoQuery?.data?.data?.productinfo.name_ar}
926
- </Text>
927
- {sectionproperties.showShareButton == 'Show' && (
928
- <TouchableOpacity
929
- style={[
930
- generalstyles.allcentered,
931
- {
932
- width: sectionproperties.sharebtn_bg == '#ffffff' ? 'auto' : 40,
933
- height: sectionproperties.sharebtn_bg == '#ffffff' ? 'auto' : 40,
934
- backgroundColor: sectionproperties.sharebtn_bg,
935
- borderRadius: StyleParseToIntFuncContext(sectionproperties.sharebtn_borderradius),
936
- marginBottom: 'auto',
937
- },
938
- ]}
939
- onPress={() => {
940
- onShare();
941
- }}
942
- >
943
- <Feather name="share" color={sectionproperties.sharebtn_color} size={StyleParseToIntFuncContext(sectionproperties.sharebtn_fontSize)} />
944
- </TouchableOpacity>
945
- )}
946
- </View>
947
- {fetchProductInfoQuery?.data?.data?.productinfo?.productcanrate == 1 && (
948
- <View
949
- style={{
950
- width: '25%',
951
- }}
952
- >
953
- {/* <StarRating
954
- disabled={true}
955
- maxStars={5}
956
- rating={fetchProductInfoQuery?.data?.data?.productinfo?.productoverallrate}
957
- starSize={17}
958
- fullStarColor="#FAB400"
959
- emptyStarColor="#FAB400"
960
- /> */}
961
- <Stars
962
- disabled={true}
963
- display={fetchProductInfoQuery?.data?.data?.productinfo?.productoverallrate}
964
- spacing={1}
965
- count={5}
966
- half={true}
967
- fullStar={<FontAwesome name={'star'} size={14} color="#FAB400" />}
968
- emptyStar={<FontAwesome name={'star-o'} size={14} color="#FAB400" />}
969
- halfStar={<FontAwesome name={'star-half-empty'} size={14} color="#FAB400" />}
970
- />
971
- </View>
972
- )}
973
-
974
- {sectionproperties.showSKU == 'Show' && (
975
- <View style={{ marginTop: 5 }}>
976
- <Text
977
- style={{
978
- fontSize: StyleParseToIntFuncContext(sectionproperties.skuFontSize),
979
- color: sectionproperties.skuColor,
980
- fontFamily:
981
- sectionproperties.skuFontWeight == 300
982
- ? 'Poppins-Thin'
983
- : sectionproperties.skuFontWeight == 400
984
- ? 'Poppins-Light'
985
- : sectionproperties.skuFontWeight == 500
986
- ? 'Poppins-Regular'
987
- : sectionproperties.skuFontWeight == 600
988
- ? 'Poppins-Medium'
989
- : sectionproperties.skuFontWeight == 700
990
- ? 'Poppins-Semibold'
991
- : 'Poppins-Bold',
992
- textAlign: 'left',
993
- }}
994
- >
995
- {langdetect == 'en' ? sectionproperties.skutitleEn : sectionproperties.skutitleAr}:{' '}
996
- <Text
997
- style={{
998
- fontFamily:
999
- sectionproperties.skuSecondaryFontWeight == 300
1000
- ? 'Poppins-Thin'
1001
- : sectionproperties.skuSecondaryFontWeight == 400
1002
- ? 'Poppins-Light'
1003
- : sectionproperties.skuSecondaryFontWeight == 500
1004
- ? 'Poppins-Regular'
1005
- : sectionproperties.skuSecondaryFontWeight == 600
1006
- ? 'Poppins-Medium'
1007
- : sectionproperties.skuSecondaryFontWeight == 700
1008
- ? 'Poppins-Semibold'
1009
- : 'Poppins-Bold',
1010
- }}
1011
- >
1012
- {fetchProductInfoQuery.data.data.productinfo.sku}
1013
- </Text>
1014
- </Text>
1015
- </View>
1016
- )}
1017
- {sectionproperties.prodPriceshow == 'Show' &&
1018
- fetchProductInfoQuery.data.data.productinfo.isproducttobesold == 1 &&
1019
- fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' && <ProductPricingHeader actions={props.actions} />}
1020
- </View>
1021
- )}
1022
- {sectionproperties.showfeatures == 'Show' && (
1023
- <View
1024
- style={{
1025
- display: 'flex',
1026
- marginTop: fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' ? 10 : 30,
1027
- flexDirection: 'row',
1028
- flex: 1,
1029
- flexDirection: 'column',
1030
- padding: fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' ? 10 : 0,
1031
- paddingHorizontal: fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' ? 15 : 0,
1032
- backgroundColor: sectionproperties.reservation_bgcolor,
1033
- }}
1034
- >
1035
- {fetchProductInfoQuery?.data?.data?.productinfo?.productfeatures?.map((fitem, findex) => {
1036
- return (
1037
- <View
1038
- style={{
1039
- marginBottom: 15,
1040
- }}
1041
- >
1042
- <View style={[generalstyles.flexRow]}>
1043
- <View
1044
- style={{
1045
- width: 20,
1046
- height: 20,
1047
- }}
1048
- >
1049
- <ImageComponent
1050
- path={fitem?.feature_image_url}
1051
- resizeMode={'contain'}
1052
- style={[
1053
- {
1054
- width: '100%',
1055
- height: '100%',
1056
- },
1057
- ]}
1058
- resizeMethod="resize"
1059
- />
1060
- </View>
1061
- <Text
1062
- style={[
1063
- {
1064
- marginHorizontal: 5,
1065
- textTransform: 'uppercase',
1066
- color: sectionproperties.featurecolor,
1067
- fontSize:
1068
- fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec'
1069
- ? StyleParseToIntFuncContext(sectionproperties.featurefontsize)
1070
- : 18,
1071
- fontFamily:
1072
- sectionproperties.featurefontweight == 300
1073
- ? 'Poppins-Thin'
1074
- : sectionproperties.featurefontweight == 400
1075
- ? 'Poppins-Light'
1076
- : sectionproperties.featurefontweight == 500
1077
- ? 'Poppins-Regular'
1078
- : sectionproperties.featurefontweight == 600
1079
- ? 'Poppins-Medium'
1080
- : sectionproperties.featurefontweight == 700
1081
- ? 'Poppins-Semibold'
1082
- : 'Poppins-Bold',
1083
- },
1084
- ]}
1085
- >
1086
- {langdetect == 'en' ? fitem?.name_en : fitem?.name_ar}
1087
- </Text>
1088
- </View>
1089
- <Text
1090
- style={[
1091
- {
1092
- textTransform: 'capitalize',
1093
- color: sectionproperties.featurevaluecolor,
1094
- fontSize:
1095
- fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec'
1096
- ? StyleParseToIntFuncContext(sectionproperties.featurevaluefontsize)
1097
- : 18,
1098
- fontFamily:
1099
- sectionproperties.featurevaluefontweight == 300
1100
- ? 'Poppins-Thin'
1101
- : sectionproperties.featurevaluefontweight == 400
1102
- ? 'Poppins-Light'
1103
- : sectionproperties.featurevaluefontweight == 500
1104
- ? 'Poppins-Regular'
1105
- : sectionproperties.featurevaluefontweight == 600
1106
- ? 'Poppins-Medium'
1107
- : sectionproperties.featurevaluefontweight == 700
1108
- ? 'Poppins-Semibold'
1109
- : 'Poppins-Bold',
1110
- marginStart: 25,
1111
- },
1112
- ]}
1113
- >
1114
- {langdetect == 'en' ? fitem?.value_en : fitem?.value_ar}
1115
- </Text>
1116
- {/* {langdetect == 'en' ? fitem?.value_en : fitem?.value_ar} */}
1117
- </View>
1118
- );
1119
- })}
1120
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec' && (
1121
- <View
1122
- style={{
1123
- paddingHorizontal: 25,
1124
- }}
1125
- >
1126
- <ProductDescription />
1127
- </View>
1128
- )}
1129
- </View>
1130
- )}
1131
-
1132
- {sectionproperties.showpricesection == 'Show' && fetchProductInfoQuery.data.data.productinfo.isproducttobesold == 1 && (
1133
- <View
1134
- style={{
1135
- flex: 1,
1136
- flexDirection: 'column',
1137
- paddingHorizontal: 15,
1138
- paddingVertical: 15,
1139
- backgroundColor: sectionproperties.reservation_bgcolor,
1140
- marginTop: 15,
1141
- }}
1142
- >
1143
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' && <OverallTotalSection actions={props.actions} />}
1144
-
1145
- {/* <View style={[generalstyles.flexRow, { flex: 1 }]}>
1146
- <View style={[generalstyles.flexColumn]}>
1147
- <View style={[generalstyles.flexRow]}>
1148
- <Text
1149
- style={{
1150
- color: sectionproperties.total_color,
1151
- fontSize: StyleParseToIntFuncContext(sectionproperties.total_fontsize),
1152
- fontFamily:
1153
- sectionproperties.total_fontweight == 300
1154
- ? 'Poppins-Thin'
1155
- : sectionproperties.total_fontweight == 400
1156
- ? 'Poppins-Light'
1157
- : sectionproperties.total_fontweight == 500
1158
- ? 'Poppins-Regular'
1159
- : sectionproperties.total_fontweight == 600
1160
- ? 'Poppins-Medium'
1161
- : sectionproperties.total_fontweight == 700
1162
- ? 'Poppins-Semibold'
1163
- : 'Poppins-Bold',
1164
-
1165
- textTransform:
1166
- sectionproperties.total_texttransform == 'Uppercase'
1167
- ? 'uppercase'
1168
- : sectionproperties.total_texttransform == 'Capitalize'
1169
- ? 'capitalize'
1170
- : sectionproperties.total_texttransform == 'None'
1171
- ? 'none'
1172
- : 'lowercase',
1173
- }}
1174
- >
1175
- {lang.total}:{' '}
1176
- </Text>
1177
- <Text
1178
- style={{
1179
- fontSize: StyleParseToIntFuncContext(sectionproperties.prodpriceFontSize),
1180
- color: sectionproperties.prodPriceColor,
1181
- fontFamily:
1182
- sectionproperties.prodPriceFontWeight == 300
1183
- ? 'Poppins-Thin'
1184
- : sectionproperties.prodPriceFontWeight == 400
1185
- ? 'Poppins-Light'
1186
- : sectionproperties.prodPriceFontWeight == 500
1187
- ? 'Poppins-Regular'
1188
- : sectionproperties.prodPriceFontWeight == 600
1189
- ? 'Poppins-Medium'
1190
- : sectionproperties.prodPriceFontWeight == 700
1191
- ? 'Poppins-Semibold'
1192
- : 'Poppins-Bold',
1193
- textAlign: 'left',
1194
- }}
1195
- >
1196
- {langdetect == 'en' ? fetchAuthorizationQueryContext.data.data.currencyname_en : ''}{' '}
1197
- {fetchProductInfoQuery.data.data.productinfo.hassale == 0
1198
- ? parseFloat(getprice_discountpriceprops('defaultprice', 1)).toFixed(2)
1199
- : parseFloat(getprice_discountpriceprops('defaultsaleprice', 1)).toFixed(2)}{' '}
1200
- {langdetect == 'en' ? '' : fetchAuthorizationQueryContext.data.data.currencyname_ar}
1201
- </Text>
1202
- </View>
1203
- {fetchProductInfoQuery.data.data.productinfo.hassale == 1 && (
1204
- <View style={[generalstyles.flexRow]}>
1205
- <Text
1206
- style={{
1207
- color: sectionproperties.total_color,
1208
- fontSize: StyleParseToIntFuncContext(sectionproperties.total_fontsize),
1209
- fontFamily:
1210
- sectionproperties.total_fontweight == 300
1211
- ? 'Poppins-Thin'
1212
- : sectionproperties.total_fontweight == 400
1213
- ? 'Poppins-Light'
1214
- : sectionproperties.total_fontweight == 500
1215
- ? 'Poppins-Regular'
1216
- : sectionproperties.total_fontweight == 600
1217
- ? 'Poppins-Medium'
1218
- : sectionproperties.total_fontweight == 700
1219
- ? 'Poppins-Semibold'
1220
- : 'Poppins-Bold',
1221
-
1222
- textTransform:
1223
- sectionproperties.total_texttransform == 'Uppercase'
1224
- ? 'uppercase'
1225
- : sectionproperties.total_texttransform == 'Capitalize'
1226
- ? 'capitalize'
1227
- : sectionproperties.total_texttransform == 'None'
1228
- ? 'none'
1229
- : 'lowercase',
1230
- }}
1231
- >
1232
- {langdetect == 'en' ? 'Was' : 'قبل'}:{' '}
1233
- </Text>
1234
- <Text
1235
- style={{
1236
- fontSize: StyleParseToIntFuncContext(sectionproperties.prodsalepriceFontSize),
1237
- color: sectionproperties.prodsalePriceColor,
1238
- fontFamily:
1239
- sectionproperties.prodsalePriceFontWeight == 300
1240
- ? 'Poppins-Thin'
1241
- : sectionproperties.prodsalePriceFontWeight == 400
1242
- ? 'Poppins-Light'
1243
- : sectionproperties.prodsalePriceFontWeight == 500
1244
- ? 'Poppins-Regular'
1245
- : sectionproperties.prodsalePriceFontWeight == 600
1246
- ? 'Poppins-Medium'
1247
- : sectionproperties.prodsalePriceFontWeight == 700
1248
- ? 'Poppins-Semibold'
1249
- : 'Poppins-Bold',
1250
- textAlign: 'left',
1251
- textDecorationLine: 'line-through',
1252
- textDecorationStyle: 'solid',
1253
- }}
1254
- >
1255
- {langdetect == 'en' ? fetchAuthorizationQueryContext.data.data.currencyname_en : ''} {parseFloat(getprice_discountpriceprops('defaultprice', 1)).toFixed(2)}{' '}
1256
- {langdetect == 'en' ? '' : fetchAuthorizationQueryContext.data.data.currencyname_ar}
1257
- </Text>
1258
- </View>
1259
- )}
1260
- </View>
1261
- </View> */}
1262
- </View>
1263
- )}
1264
- </View>
1265
- );
1266
- }
1267
- function ProductDescription() {
1268
- return (
1269
- <View
1270
- style={{
1271
- width: '100%',
1272
- marginTop: 10,
1273
- }}
1274
- >
1275
- {fetchProductInfoQuery?.data?.data?.productinfo?.product_videos?.length == 0 && (
1276
- <Text
1277
- style={[
1278
- {
1279
- marginTop: 5,
1280
- color: sectionproperties.prodCatColor,
1281
- fontSize: StyleParseToIntFuncContext(
1282
- sectionproperties.prodCatFontSize != null && sectionproperties.prodCatFontSize != undefined ? sectionproperties.prodCatFontSize : 15,
1283
- ),
1284
- textAlign: 'left',
1285
- fontFamily:
1286
- sectionproperties.prodCatFontWeight == 300
1287
- ? 'Poppins-Thin'
1288
- : sectionproperties.prodCatFontWeight == 400
1289
- ? 'Poppins-Light'
1290
- : sectionproperties.prodCatFontWeight == 500
1291
- ? 'Poppins-Regular'
1292
- : sectionproperties.prodCatFontWeight == 600
1293
- ? 'Poppins-Medium'
1294
- : sectionproperties.prodCatFontWeight == 700
1295
- ? 'Poppins-Semibold'
1296
- : 'Poppins-Bold',
1297
- },
1298
- ]}
1299
- >
1300
- {langdetect == 'en' ? sectionproperties.descriptionContentEn : sectionproperties.descriptionContentAr}
1301
- </Text>
1302
- )}
1303
- {/* {showMoredesc == false && (
1304
- <RenderHtml
1305
- source={source}
1306
- tagsStyles={{
1307
- body: {
1308
- direction: langdetect == 'en' ? 'ltr' : 'rtl',
1309
- textAlign: 'left',
1310
- },
1311
- span: {
1312
- direction: langdetect == 'en' ? 'ltr' : 'rtl',
1313
- textAlign: 'left',
1314
- },
1315
- }}
1316
- />
1317
- )} */}
1318
- {/* {showMoredesc == true && ( */}
1319
- <RenderHtml
1320
- source={source}
1321
- tagsStyles={{
1322
- body: {
1323
- direction: langdetect == 'en' ? 'ltr' : 'rtl',
1324
- textAlign: 'left',
1325
- },
1326
- span: {
1327
- direction: langdetect == 'en' ? 'ltr' : 'rtl',
1328
- textAlign: 'left',
1329
- },
1330
- }}
1331
- />
1332
- {/* )} */}
1333
- </View>
1334
- );
1335
- }
1336
- function renderProductDescription() {
1337
- return (
1338
- <View
1339
- style={{
1340
- flex: 1,
1341
- flexDirection: 'column',
1342
- paddingHorizontal: 15,
1343
- backgroundColor: sectionproperties.reservation_bgcolor,
1344
- marginTop: 15,
1345
- }}
1346
- >
1347
- {fetchProductInfoQuery?.data?.data?.productinfo?.product_videos?.length != 0 && (
1348
- <SegmentedControlTab
1349
- values={[langdetect == 'en' ? sectionproperties.descriptionContentEn : sectionproperties.descriptionContentAr, langdetect == 'en' ? 'Videos' : 'سيب']}
1350
- selectedIndex={tabindex}
1351
- onTabPress={(index) => {
1352
- settabindex(index);
1353
- }}
1354
- borderRadius={0}
1355
- tabsContainerStyle={{ height: 35, backgroundColor: 'transparent', borderWidth: 0, marginBottom: 20 }}
1356
- tabStyle={{ backgroundColor: 'transparent', borderWidth: 0, borderLeftWidth: 0, borderRightWidth: 0, borderRightColor: 'transparent', borderLeftColor: 'transparent' }}
1357
- activeTabStyle={{
1358
- backgroundColor: 'transparent',
1359
- borderLeftWidth: 0,
1360
- borderRightWidth: 0,
1361
- borderRightColor: 'transparent',
1362
- borderLeftColor: 'transparent',
1363
- borderBottomWidth: 2,
1364
- borderBottomColor: sectionproperties.prodCatColor,
1365
- marginTop: 2,
1366
- borderWidth: 0,
1367
- }}
1368
- firstTabStyle={{ borderLeftWidth: 0, borderRightWidth: 0 }}
1369
- lastTabStyle={{ borderLeftWidth: 0, borderRightWidth: 0 }}
1370
- tabTextStyle={{ color: '#000', fontSize: 13, fontFamily: 'Poppins-Light' }}
1371
- activeTabTextStyle={{ color: sectionproperties.prodCatColor, fontFamily: 'Poppins-Medium' }}
1372
- />
1373
- )}
1374
- {tabindex == 0 && (
1375
- <View>
1376
- {langdetect == 'en' &&
1377
- fetchProductInfoQuery?.data?.data?.productinfo?.description_en != null &&
1378
- fetchProductInfoQuery?.data?.data?.productinfo?.description_en?.length != 0 &&
1379
- ProductDescription()}
1380
- {langdetect == 'ar' &&
1381
- fetchProductInfoQuery?.data?.data?.productinfo?.description_ar != null &&
1382
- fetchProductInfoQuery?.data?.data?.productinfo?.description_ar?.length != 0 &&
1383
- ProductDescription()}
1384
- <View style={[generalstyles.allcentered, { width: '100%', marginBottom: 15 }]}>
1385
- {/* {langdetect == 'en'
1386
- ? fetchProductInfoQuery?.data?.data?.productinfo?.description_en?.length > 150 && (
1387
- <Text style={[generalstyles.poppinsMedium, { textDecorationLine: 'underline' }]} onPress={() => setShowMoredesc(!showMoredesc)}>
1388
- {showMoredesc ? lang.showless : lang.showmore}
1389
- </Text>
1390
- )
1391
- : fetchProductInfoQuery?.data?.data?.productinfo?.description_ar?.length > 150 && (
1392
- <Text style={[generalstyles.poppinsMedium, { textDecorationLine: 'underline' }]} onPress={() => setShowMoredesc(!showMoredesc)}>
1393
- {showMoredesc ? lang.showless : lang.showmore}
1394
- </Text>
1395
- )} */}
1396
- </View>
1397
- </View>
1398
- )}
1399
- {tabindex == 1 && (
1400
- <View style={[generalstyles.allcentered]}>
1401
- <FlatList
1402
- data={productVideos}
1403
- // numColumns={5}
1404
- vertical
1405
- scrollEnabled={false}
1406
- renderItem={({ item, index }) => {
1407
- const str = item?.videourl;
1408
- const vstr = item?.videourl;
1409
- const result = str.slice(str.indexOf('=') + 1);
1410
- const vresult = vstr.slice(str.indexOf('m/') + 2);
1411
- return (
1412
- <View
1413
- style={[
1414
- {
1415
- marginBottom: 10,
1416
- padding: 2,
1417
- position: 'relative',
1418
- width: SIZES.width,
1419
- },
1420
- ]}
1421
- >
1422
- <TouchableOpacity
1423
- style={[
1424
- generalstyles.allcentered,
1425
- generalstyles.shadow,
1426
- {
1427
- width: 50,
1428
- height: 50,
1429
- backgroundColor: 'white',
1430
- borderRadius: 100,
1431
- },
1432
- ]}
1433
- onPress={() => {
1434
- var temparr = [...productVideos];
1435
- temparr[index].linkclicked = true;
1436
- setproductVideos([...temparr]);
1437
- }}
1438
- >
1439
- {item.platform == 'youtube' && (
1440
- <AntDesign
1441
- name="youtube"
1442
- size={19}
1443
- style={{
1444
- color: 'red',
1445
- }}
1446
- />
1447
- )}
1448
- {item.platform == 'vimeo' && (
1449
- <Entypo
1450
- name="vimeo"
1451
- size={19}
1452
- style={{
1453
- color: '#0caeef',
1454
- }}
1455
- />
1456
- )}
1457
- </TouchableOpacity>
1458
- {item.linkclicked == true && (
1459
- <View
1460
- style={[
1461
- // generalstyles.allcentered,
1462
- {
1463
- width: '100%',
1464
- height: 300,
1465
- marginTop: 20,
1466
- },
1467
- ]}
1468
- >
1469
- {item.platform == 'youtube' && <YoutubePlayer height={300} play={playing} videoId={result} onChangeState={onStateChange} />}
1470
- {item.platform == 'vimeo' && (
1471
- // <WebView
1472
- // style={{ width: '100%', height: '100%' }}
1473
- // javaScriptEnabled={true}
1474
- // domStorageEnabled={false}
1475
- // source={{ uri: item?.videourl }}
1476
- // allowsFullscreenVideo={true}
1477
- // allowfullscreen="allowfullscreen"
1478
- // scalesPageToFit={true}
1479
- // />
1480
-
1481
- <WebView
1482
- style={{ height: 530, width: '100%' }}
1483
- // onError={onError}
1484
- allowsFullscreenVideo
1485
- scrollEnabled={false}
1486
- automaticallyAdjustContentInsets
1487
- source={{
1488
- html: `
1489
- <html>
1490
- <body>
1491
- <iframe src="https://player.vimeo.com/video/${vresult}" width="100%" height="530px" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
1492
- <script src="https://player.vimeo.com/api/player.js"></script>
1493
- </body>
1494
- </html>
1495
- `,
1496
- }}
1497
- />
1498
- )}
1499
- </View>
1500
- )}
1501
- </View>
1502
- );
1503
- }}
1504
- />
1505
- </View>
1506
- )}
1507
- </View>
1508
- );
1509
- }
1510
- function cartBtn() {
1511
- return (
1512
- <View
1513
- style={[
1514
- generalstyles.allcentered,
1515
- {
1516
- width: '100%',
1517
- backgroundColor: sectionproperties.reservation_bgcolor,
1518
- paddingHorizontal: 20,
1519
- paddingVertical: 5,
1520
- marginTop: 15,
1521
- display: sectionproperties.cartBtnShow == 'Hide' && sectionproperties.quantitybtn_show == 'Hide' ? 'none' : 'flex',
1522
- flexDirection: sectionproperties.cartbtnalone == 'Besides Other Buttons' ? 'row' : 'column',
1523
- },
1524
- ]}
1525
- >
1526
- {sectionproperties.quantitybtn_show == 'Show' && fetchProductInfoQuery?.data?.data?.productinfo?.isproducthasquantitychange == 1 && (
1527
- <View style={{ alignItems: 'flex-start', justifyContent: 'center', flex: 1 }}>
1528
- <Text
1529
- style={[
1530
- {
1531
- fontSize: StyleParseToIntFuncContext(sectionproperties.form_labelfontsize),
1532
- color: sectionproperties.form_labelcolor,
1533
- fontFamily:
1534
- sectionproperties.form_labelfontweight == 300
1535
- ? 'Poppins-Thin'
1536
- : sectionproperties.form_labelfontweight == 400
1537
- ? 'Poppins-Light'
1538
- : sectionproperties.form_labelfontweight == 500
1539
- ? 'Poppins-Regular'
1540
- : sectionproperties.form_labelfontweight == 600
1541
- ? 'Poppins-Medium'
1542
- : sectionproperties.form_labelfontweight == 700
1543
- ? 'Poppins-Semibold'
1544
- : 'Poppins-Bold',
1545
- textAlign: 'left',
1546
- },
1547
- ]}
1548
- >
1549
- {langdetect == 'en' ? 'Number of days' : 'عدد الايام'}: {addtocardpayloadobj.quantity}
1550
- </Text>
1551
- </View>
1552
- )}
1553
- {sectionproperties.cartBtnShow == 'Show' && (
1554
- <TouchableOpacity
1555
- style={{
1556
- marginStart: 5,
1557
- width: StyleParseToIntFuncContext(sectionproperties.cartBtnWidth) + '%',
1558
- backgroundColor: sectionproperties.cartBtnbgColor,
1559
- alignItems: 'center',
1560
- height: 42,
1561
- display: 'flex',
1562
- alignItems: 'center',
1563
- justifyContent: 'center',
1564
- flexDirection: 'row',
1565
- borderRadius: StyleParseToIntFuncContext(sectionproperties.cart_btn_borderBottomLeftRadius),
1566
- borderWidth: StyleParseToIntFuncContext(sectionproperties.cartbtnborderwidth, '', true),
1567
- borderColor: sectionproperties.cartbtnbordercolor,
1568
- }}
1569
- onPress={() => {
1570
- // addtocartfunc();
1571
- var runfunc = false;
1572
- if (fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days') {
1573
- if (addtocardpayloadobj.from.length == 0 || addtocardpayloadobj.to.length == 0 || addtocardpayloadobj.quantity == 0) {
1574
- showUpTopNotificationBarContext('Please choose date(s)', 'orange');
1575
- } else {
1576
- runfunc = true;
1577
- }
1578
- } else if (fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'minutes') {
1579
- if (addtocardpayloadobj.date.length == 0 || addtocardpayloadobj.time.length == 0) {
1580
- showUpTopNotificationBarContext('Please choose time', 'orange');
1581
- } else {
1582
- runfunc = true;
1583
- }
1584
- }
1585
- if (runfunc) {
1586
- if (fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec') {
1587
- var reqdatesrequired = Create_Rep_dates(rep_dates_counter);
1588
-
1589
- for (let i = 0; i < reqdatesrequired.length; i++) {
1590
- addtocartfunc_sp_date_quantity(undefined, reqdatesrequired[i], 1);
1591
- }
1592
- } else {
1593
- addtocartfunc();
1594
- }
1595
- }
1596
- }}
1597
- disabled={AddtoCartMutationContext.isLoading ? true : false}
1598
- >
1599
- {!AddtoCartMutationContext.isLoading && (
1600
- <>
1601
- {sectionproperties.carticonstyle == 'Shopping cart 1' && sectionproperties.cartBtn_iconFontSize != 0 && (
1602
- <MaterialCommunityIcons
1603
- name="cart-outline"
1604
- size={StyleParseToIntFuncContext(sectionproperties.cartBtn_iconFontSize)}
1605
- style={{
1606
- color: sectionproperties.cart_iconcolor,
1607
- }}
1608
- />
1609
- )}
1610
- {sectionproperties.carticonstyle == 'Shopping cart 2' && sectionproperties.cartBtn_iconFontSize != 0 && (
1611
- <Image
1612
- source={icons.cart2}
1613
- resizeMode="cover"
1614
- style={{
1615
- width: StyleParseToIntFuncContext(
1616
- sectionproperties.cartBtn_iconFontSize != null && sectionproperties.cartBtn_iconFontSize != undefined ? sectionproperties.cartBtn_iconFontSize : 0,
1617
- ),
1618
- height: StyleParseToIntFuncContext(
1619
- sectionproperties.cartBtn_iconFontSize != null && sectionproperties.cartBtn_iconFontSize != undefined ? sectionproperties.cartBtn_iconFontSize : 0,
1620
- ),
1621
- tintColor: sectionproperties.cart_iconcolor,
1622
- }}
1623
- />
1624
- )}
1625
- {sectionproperties.carticonstyle == 'Shopping bag 1' && sectionproperties.cartBtn_iconFontSize != 0 && (
1626
- <Feather
1627
- name="shopping-bag"
1628
- size={StyleParseToIntFuncContext(sectionproperties.cartBtn_iconFontSize)}
1629
- style={{
1630
- color: sectionproperties.cart_iconcolor,
1631
- }}
1632
- />
1633
- )}
1634
- {sectionproperties.carticonstyle == 'Shopping bag 2' && sectionproperties.cartBtn_iconFontSize != 0 && (
1635
- <SimpleLineIcons
1636
- name="handbag"
1637
- size={StyleParseToIntFuncContext(sectionproperties.cartBtn_iconFontSize)}
1638
- style={{
1639
- color: sectionproperties.cart_iconcolor,
1640
- }}
1641
- />
1642
- )}
1643
- {sectionproperties.carticonstyle == 'Shopping bag 3' && sectionproperties.cartBtn_iconFontSize != 0 && (
1644
- <FontAwesome5
1645
- name="shopping-bag"
1646
- size={StyleParseToIntFuncContext(sectionproperties.cartBtn_iconFontSize)}
1647
- style={{
1648
- color: sectionproperties.cart_iconcolor,
1649
- }}
1650
- />
1651
- )}
1652
- {sectionproperties.carticonstyle == 'Shopping bag 4' && sectionproperties.cartBtn_iconFontSize != 0 && (
1653
- <SimpleLineIcons
1654
- name="bag"
1655
- size={StyleParseToIntFuncContext(sectionproperties.cartBtn_iconFontSize)}
1656
- style={{
1657
- color: sectionproperties.cart_iconcolor,
1658
- }}
1659
- />
1660
- )}
1661
- {sectionproperties.carticonstyle == 'Calendar 1' && sectionproperties.cartBtn_iconFontSize != 0 && (
1662
- <AntDesign
1663
- name="calendar"
1664
- size={StyleParseToIntFuncContext(sectionproperties.cartBtn_iconFontSize)}
1665
- style={{
1666
- color: sectionproperties.cart_iconcolor,
1667
- }}
1668
- />
1669
- )}
1670
- <Text
1671
- style={{
1672
- marginStart: sectionproperties.cartBtn_iconFontSize != 0 ? 10 : 0,
1673
- color: sectionproperties.cartBtnTextcolor,
1674
- fontFamily:
1675
- sectionproperties.cartBtnTextfontweight == 300
1676
- ? 'Poppins-Thin'
1677
- : sectionproperties.cartBtnTextfontweight == 400
1678
- ? 'Poppins-Light'
1679
- : sectionproperties.cartBtnTextfontweight == 500
1680
- ? 'Poppins-Regular'
1681
- : sectionproperties.cartBtnTextfontweight == 600
1682
- ? 'Poppins-Medium'
1683
- : sectionproperties.cartBtnTextfontweight == 700
1684
- ? 'Poppins-Semibold'
1685
- : 'Poppins-Bold',
1686
- fontSize: StyleParseToIntFuncContext(sectionproperties.cartBtnTextfontsize),
1687
- textTransform:
1688
- sectionproperties.cartBtnTexttransform == 'Uppercase'
1689
- ? 'uppercase'
1690
- : sectionproperties.cartBtnTexttransform == 'Capitalize'
1691
- ? 'capitalize'
1692
- : sectionproperties.cartBtnTexttransform == 'None'
1693
- ? 'none'
1694
- : 'lowercase',
1695
- }}
1696
- >
1697
- {sectionproperties.overwritecertbtntext == 'Yes'
1698
- ? langdetect == 'en'
1699
- ? sectionproperties.cartBtnContentenglish
1700
- : sectionproperties.cartBtnContentarabic
1701
- : langdetect == 'en'
1702
- ? fetchProductInfoQuery?.data?.data?.productinfo?.productactionbuttontext_en
1703
- : fetchProductInfoQuery?.data?.data?.productinfo?.productactionbuttontext_ar}
1704
- {/* {langdetect == 'en' ? sectionproperties.cartBtnContentenglish : sectionproperties.cartBtnContentarabic} */}
1705
- </Text>
1706
- </>
1707
- )}
1708
- {AddtoCartMutationContext.isLoading && (
1709
- <View style={{ width: '100%', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
1710
- <SpinnerButton
1711
- buttonStyle={{ width: 30, height: 30 }}
1712
- isLoading={true}
1713
- indicatorCount={10}
1714
- spinnerType={'MaterialIndicator'}
1715
- spinnerColor={sectionproperties.cartBtnTextcolor}
1716
- ></SpinnerButton>
1717
- </View>
1718
- )}
1719
- </TouchableOpacity>
1720
- )}
1721
- {sectionproperties.storeinfostyle == 'Style 2' && (
1722
- <TouchableOpacity
1723
- style={{
1724
- marginStart: 5,
1725
- width: StyleParseToIntFuncContext(sectionproperties.cartBtnWidth) + '%',
1726
- backgroundColor: sectionproperties.cartBtnbgColor,
1727
- alignItems: 'center',
1728
- height: 42,
1729
- display: 'flex',
1730
- alignItems: 'center',
1731
- justifyContent: 'center',
1732
- flexDirection: 'row',
1733
- borderRadius: StyleParseToIntFuncContext(sectionproperties.cart_btn_borderBottomLeftRadius),
1734
- borderWidth: StyleParseToIntFuncContext(sectionproperties.cartbtnborderwidth, '', true),
1735
- borderColor: sectionproperties.cartbtnbordercolor,
1736
- marginTop: 15,
1737
- }}
1738
- onPress={() => {
1739
- Linking.openURL('tel:' + fetchAuthorizationQueryContext?.data?.data?.CuContactphonenumber);
1740
- }}
1741
- >
1742
- <Text
1743
- style={{
1744
- marginStart: sectionproperties.cartBtn_iconFontSize != 0 ? 10 : 0,
1745
- color: sectionproperties.cartBtnTextcolor,
1746
- fontFamily:
1747
- sectionproperties.cartBtnTextfontweight == 300
1748
- ? 'Poppins-Thin'
1749
- : sectionproperties.cartBtnTextfontweight == 400
1750
- ? 'Poppins-Light'
1751
- : sectionproperties.cartBtnTextfontweight == 500
1752
- ? 'Poppins-Regular'
1753
- : sectionproperties.cartBtnTextfontweight == 600
1754
- ? 'Poppins-Medium'
1755
- : sectionproperties.cartBtnTextfontweight == 700
1756
- ? 'Poppins-Semibold'
1757
- : 'Poppins-Bold',
1758
- fontSize: StyleParseToIntFuncContext(sectionproperties.cartBtnTextfontsize),
1759
- textTransform:
1760
- sectionproperties.cartBtnTexttransform == 'Uppercase'
1761
- ? 'uppercase'
1762
- : sectionproperties.cartBtnTexttransform == 'Capitalize'
1763
- ? 'capitalize'
1764
- : sectionproperties.cartBtnTexttransform == 'None'
1765
- ? 'none'
1766
- : 'lowercase',
1767
- }}
1768
- >
1769
- {langdetect == 'en' ? sectionproperties.phonetitle_en : sectionproperties.phonetitle_ar}
1770
- </Text>
1771
- </TouchableOpacity>
1772
- )}
1773
- {sectionproperties.storeinfostyle == 'Style 2' && (
1774
- <TouchableOpacity
1775
- style={{
1776
- marginStart: 5,
1777
- width: StyleParseToIntFuncContext(sectionproperties.cartBtnWidth) + '%',
1778
- backgroundColor: sectionproperties.cartBtnbgColor,
1779
- alignItems: 'center',
1780
- height: 42,
1781
- display: 'flex',
1782
- alignItems: 'center',
1783
- justifyContent: 'center',
1784
- flexDirection: 'row',
1785
- borderRadius: StyleParseToIntFuncContext(sectionproperties.cart_btn_borderBottomLeftRadius),
1786
- borderWidth: StyleParseToIntFuncContext(sectionproperties.cartbtnborderwidth, '', true),
1787
- borderColor: sectionproperties.cartbtnbordercolor,
1788
- marginTop: 15,
1789
- }}
1790
- onPress={() => {
1791
- Linking.openURL('whatsapp://send?text=&phone=' + fetchAuthorizationQueryContext?.data?.data?.instinfo?.whatsappnumber);
1792
- }}
1793
- >
1794
- <Text
1795
- style={{
1796
- marginStart: sectionproperties.cartBtn_iconFontSize != 0 ? 10 : 0,
1797
- color: sectionproperties.cartBtnTextcolor,
1798
- fontFamily:
1799
- sectionproperties.cartBtnTextfontweight == 300
1800
- ? 'Poppins-Thin'
1801
- : sectionproperties.cartBtnTextfontweight == 400
1802
- ? 'Poppins-Light'
1803
- : sectionproperties.cartBtnTextfontweight == 500
1804
- ? 'Poppins-Regular'
1805
- : sectionproperties.cartBtnTextfontweight == 600
1806
- ? 'Poppins-Medium'
1807
- : sectionproperties.cartBtnTextfontweight == 700
1808
- ? 'Poppins-Semibold'
1809
- : 'Poppins-Bold',
1810
- fontSize: StyleParseToIntFuncContext(sectionproperties.cartBtnTextfontsize),
1811
- textTransform:
1812
- sectionproperties.cartBtnTexttransform == 'Uppercase'
1813
- ? 'uppercase'
1814
- : sectionproperties.cartBtnTexttransform == 'Capitalize'
1815
- ? 'capitalize'
1816
- : sectionproperties.cartBtnTexttransform == 'None'
1817
- ? 'none'
1818
- : 'lowercase',
1819
- }}
1820
- >
1821
- {langdetect == 'en' ? 'WhatsApp' : 'WhatsApp'}
1822
- </Text>
1823
- </TouchableOpacity>
1824
- )}
1825
- {sectionproperties.btnposition == 'Bottom' && (
1826
- <TouchableOpacity
1827
- style={{
1828
- marginStart: sectionproperties.cartbtnalone == 'Besides Other Buttons' ? 5 : 0,
1829
- width: StyleParseToIntFuncContext(sectionproperties.favBtnWidth) + '%',
1830
- alignItems: 'center',
1831
- height: StyleParseToIntFuncContext(sectionproperties.favBtnHeight),
1832
- display: 'flex',
1833
- alignItems: 'center',
1834
- justifyContent: 'center',
1835
- flexDirection: 'row',
1836
- backgroundColor: IsFavItemProps == true ? sectionproperties.activebgcolor : sectionproperties.favBtnbgColor,
1837
- borderRadius: StyleParseToIntFuncContext(sectionproperties.fav_btn_borderBottomLeftRadius, '', true),
1838
- borderWidth: StyleParseToIntFuncContext(sectionproperties.favbtnborderwidth, '', true),
1839
- borderColor: sectionproperties.favbtnbordercolor,
1840
- marginVertical: sectionproperties.cartbtnalone == 'Besides Other Buttons' ? 0 : 15,
1841
- }}
1842
- onPress={() => {
1843
- setIsFavItemProps(!IsFavItemProps);
1844
- addtofavoritescontext(ProductInfoIdContext);
1845
- }}
1846
- >
1847
- <Text
1848
- style={{
1849
- marginStart: 10,
1850
- color: IsFavItemProps == false ? sectionproperties.favBtniconcolor : sectionproperties.activefaviconcolor,
1851
- fontFamily:
1852
- sectionproperties.cartBtnTextfontweight == 300
1853
- ? 'Poppins-Thin'
1854
- : sectionproperties.cartBtnTextfontweight == 400
1855
- ? 'Poppins-Light'
1856
- : sectionproperties.cartBtnTextfontweight == 500
1857
- ? 'Poppins-Regular'
1858
- : sectionproperties.cartBtnTextfontweight == 600
1859
- ? 'Poppins-Medium'
1860
- : sectionproperties.cartBtnTextfontweight == 700
1861
- ? 'Poppins-Semibold'
1862
- : 'Poppins-Bold',
1863
- fontSize: StyleParseToIntFuncContext(sectionproperties.cartBtnTextfontsize),
1864
- }}
1865
- >
1866
- {IsFavItemProps == false
1867
- ? langdetect == 'en'
1868
- ? sectionproperties.favbtncontent_en
1869
- : sectionproperties.favbtncontent_ar
1870
- : langdetect == 'en'
1871
- ? sectionproperties.favbtnaddedcontent_en
1872
- : sectionproperties.favbtnaddedcontent_ar}
1873
- </Text>
1874
- </TouchableOpacity>
1875
- )}
1876
- </View>
1877
- );
1878
- }
1879
- return (
1880
- <View style={{ width: '100%' }}>
1881
- {renderProductInfo()}
1882
- {sectionproperties.showpricinglist == 'Show' && getQuantityCondition()}
1883
- {fetchProductInfoQuery.data.data.productinfo.hasvariants == 1 && <Variantoptions actions={props.actions} />}
1884
- {sectionproperties.showextrafield == 'Show' && <ProductExtraFields actions={props.actions} />}
1885
-
1886
- {fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days' && fetchProductInfoQuery.data.data.productinfo.isproducttobesold == 1 && (
1887
- <View
1888
- style={[
1889
- generalstyles.flexColumn,
1890
- {
1891
- width: '100%',
1892
- display: 'flex',
1893
- marginTop: 15,
1894
- flexDirection: 'row',
1895
- flex: 1,
1896
- flexDirection: 'column',
1897
- padding: 10,
1898
- paddingHorizontal: 15,
1899
- backgroundColor: sectionproperties.reservation_bgcolor,
1900
- },
1901
- ]}
1902
- >
1903
- <View style={{ marginBottom: 25 }}>
1904
- <Text
1905
- style={[
1906
- {
1907
- fontSize: StyleParseToIntFuncContext(sectionproperties.form_labelfontsize),
1908
- color: sectionproperties.form_labelcolor,
1909
- fontFamily:
1910
- sectionproperties.form_labelfontweight == 300
1911
- ? 'Poppins-Thin'
1912
- : sectionproperties.form_labelfontweight == 400
1913
- ? 'Poppins-Light'
1914
- : sectionproperties.form_labelfontweight == 500
1915
- ? 'Poppins-Regular'
1916
- : sectionproperties.form_labelfontweight == 600
1917
- ? 'Poppins-Medium'
1918
- : sectionproperties.form_labelfontweight == 700
1919
- ? 'Poppins-Semibold'
1920
- : 'Poppins-Bold',
1921
- marginBottom: 10,
1922
-
1923
- textAlign: 'left',
1924
- },
1925
- ]}
1926
- >
1927
- {fromDate}
1928
- </Text>
1929
-
1930
- <TouchableOpacity
1931
- style={[
1932
- generalstyles.allcentered,
1933
-
1934
- {
1935
- display: 'none',
1936
- width: '90%',
1937
- height: 40,
1938
- marginEnd: 'auto',
1939
- marginStart: 'auto',
1940
- borderColor: sectionproperties.inputfieldborderColor,
1941
- borderRadius: StyleParseToIntFuncContext(sectionproperties.inputfieldborderradius),
1942
- backgroundColor: sectionproperties.input_bgcolor,
1943
- borderWidth: StyleParseToIntFuncContext(sectionproperties.inputfieldborderWidth, '', true),
1944
- },
1945
- ]}
1946
- onPress={() => {
1947
- setcalendarvisible(true);
1948
- // setshowFromCalendar(true);
1949
- }}
1950
- >
1951
- <Text
1952
- style={[generalstyles.poppinsMedium, generalstyles.allcentered, { width: '100%', textAlign: 'center' }]}
1953
- underlineColorAndroid="transparent"
1954
- placeholder="dd/mm/yyyy"
1955
- placeholderTextColor="black"
1956
- autoCapitalize="none"
1957
- editable={false}
1958
- >
1959
- {fromDate}
1960
- </Text>
1961
- </TouchableOpacity>
1962
- {/* <Text> {JSON.stringify(addtocardpayloadobj)}</Text> */}
1963
- {/* {calendarvisible && ( */}
1964
- {true && (
1965
- <Calendar
1966
- style={{
1967
- borderWidth: 1,
1968
- borderColor: 'gray',
1969
- height: 350,
1970
- }}
1971
- theme={{
1972
- backgroundColor: '#ffffff',
1973
- calendarBackground: '#ffffff',
1974
- textSectionTitleColor: '#b6c1cd',
1975
- selectedDayBackgroundColor: '#00adf5',
1976
- selectedDayTextColor: '#ffffff',
1977
- todayTextColor: '#00adf5',
1978
- dayTextColor: '#2d4150',
1979
- textDisabledColor: '#dd99ee',
1980
- }}
1981
- minDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationstarts)} // Minimum date (starting date)
1982
- maxDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationends)} // Maximum date (ending date)
1983
- markedDates={disabledDatesObject} // Mark disabled dates
1984
- markingType="custom" // Custom marking for disabled dates
1985
- // markingType="multi-period"
1986
- dayComponent={({ date, state }) => {
1987
- var color = 'black';
1988
- var price_color = 'black';
1989
- var isselected = false;
1990
- var isdisabled = false;
1991
- var isbundle = false;
1992
- var orginial_price = parseInt(fetchProductInfoQuery?.data?.data?.productinfo?.defaultprice);
1993
- var date_price = orginial_price;
1994
- selecteddays?.forEach(function (item, index) {
1995
- if (item.dateString == date.dateString) {
1996
- isselected = true;
1997
- }
1998
- });
1999
- specificdays_arr.forEach(({ sp_date, sp_date_to, price }) => {
2000
- let startDate = new Date(sp_date);
2001
- let endDate = sp_date_to ? new Date(sp_date_to) : startDate;
2002
-
2003
- let currentDate = new Date(startDate);
2004
- while (currentDate <= endDate) {
2005
- if (currentDate.toISOString().split('T')[0] === date.dateString) {
2006
- color = 'green';
2007
- price_color = 'green';
2008
- date_price = parseInt(price);
2009
- }
2010
- currentDate.setDate(currentDate.getDate() + 1);
2011
- }
2012
- });
2013
- if (state === 'disabled') {
2014
- isdisabled = true;
2015
- color = 'gray';
2016
- price_color = 'gray';
2017
- } else {
2018
- if (isselected) {
2019
- color = 'orange';
2020
- }
2021
- }
2022
-
2023
- return (
2024
- <TouchableOpacity
2025
- onPress={() => {
2026
- if (state !== 'disabled') {
2027
- var isbundle = false;
2028
- var bundledates = [];
2029
- specificdays_arr.forEach(({ sp_date, sp_date_to, price, is_bundle }) => {
2030
- let startDate = new Date(sp_date);
2031
- let endDate = sp_date_to ? new Date(sp_date_to) : startDate;
2032
-
2033
- let currentDate = new Date(startDate);
2034
- while (currentDate <= endDate) {
2035
- if (is_bundle == 1) {
2036
- bundledates.push(currentDate.toISOString().split('T')[0]);
2037
- }
2038
- if (currentDate.toISOString().split('T')[0] === date.dateString) {
2039
- if (is_bundle == 1) {
2040
- isbundle = true;
2041
- }
2042
- }
2043
- currentDate.setDate(currentDate.getDate() + 1);
2044
- }
2045
- });
2046
- if (isbundle == false) {
2047
- let tempSelectedDays = [...selecteddays];
2048
-
2049
- // If the same date is clicked again and only one date is selected, unselect it
2050
- if (tempSelectedDays.length === 1 && tempSelectedDays[0].dateString === date.dateString) {
2051
- tempSelectedDays = [];
2052
- } else if (tempSelectedDays.length === 0) {
2053
- // Select the first date
2054
- tempSelectedDays.push(date);
2055
- } else if (tempSelectedDays.length === 1) {
2056
- var isalldatesrange_accepted = true;
2057
- // If one date is already selected, select the range
2058
- let startDate = new Date(tempSelectedDays[0].dateString);
2059
- let endDate = new Date(date.dateString);
2060
-
2061
- if (startDate > endDate) {
2062
- [startDate, endDate] = [endDate, startDate]; // Swap if out of order
2063
- }
2064
-
2065
- tempSelectedDays = [];
2066
- let currentDate_for_Acceptance_Dates = new Date(startDate);
2067
- while (currentDate_for_Acceptance_Dates <= endDate) {
2068
- bundledates?.forEach(function (item, index) {
2069
- if (currentDate_for_Acceptance_Dates.toISOString().split('T')[0] == item) {
2070
- isalldatesrange_accepted = false;
2071
- }
2072
- });
2073
- currentDate_for_Acceptance_Dates.setDate(currentDate_for_Acceptance_Dates.getDate() + 1);
2074
- }
2075
- if (isalldatesrange_accepted) {
2076
- let currentDate = new Date(startDate);
2077
- while (currentDate <= endDate) {
2078
- tempSelectedDays.push({ dateString: currentDate.toISOString().split('T')[0] });
2079
- currentDate.setDate(currentDate.getDate() + 1);
2080
- }
2081
- } else {
2082
- alert('Please Choose dates outside the bundles');
2083
- }
2084
- } else {
2085
- // Reset selection if two dates were already selected
2086
- tempSelectedDays = [date];
2087
- }
2088
-
2089
- setselecteddays([...tempSelectedDays]);
2090
- } else {
2091
- var tempSelectedDays = [];
2092
-
2093
- // Find which bundle the selected date belongs to
2094
- specificdays_arr.forEach(({ sp_date, sp_date_to, price }) => {
2095
- let startDate = new Date(sp_date);
2096
- let endDate = sp_date_to ? new Date(sp_date_to) : startDate;
2097
-
2098
- let currentDate = new Date(startDate);
2099
- while (currentDate <= endDate) {
2100
- if (currentDate.toISOString().split('T')[0] === date.dateString) {
2101
- // Found the bundle, now add all dates within this range
2102
- tempSelectedDays = [];
2103
- let bundleDate = new Date(startDate);
2104
- while (bundleDate <= endDate) {
2105
- tempSelectedDays.push({ dateString: bundleDate.toISOString().split('T')[0] });
2106
- bundleDate.setDate(bundleDate.getDate() + 1);
2107
- }
2108
- break; // Exit loop once the bundle is found
2109
- }
2110
- currentDate.setDate(currentDate.getDate() + 1);
2111
- }
2112
- });
2113
-
2114
- setselecteddays([...tempSelectedDays]);
2115
- }
2116
- }
2117
- }}
2118
- disabled={isdisabled}
2119
- >
2120
- <Text style={{ textAlign: 'center', color: color }}>{date.day}</Text>
2121
- <Text style={{ textAlign: 'center', color: price_color }}>{date_price}</Text>
2122
- </TouchableOpacity>
2123
- );
2124
- }}
2125
- onDayPress={(day) => {
2126
- // var tempselectedays = [...selecteddays];
2127
- // tempselectedays?.forEach(function(item,index){
2128
- // if(item.dateString == day.dateString){
2129
- // tempselectedays.splice(index,1);
2130
- // }
2131
- // })
2132
- // tempselectedays.push(day);
2133
- // setselecteddays([...tempselectedays]);
2134
- // alert(JSON.stringify(day));
2135
- // const dateString = day.dateString;
2136
- // // If the date is disabled, do nothing
2137
- // if (disableddates.includes(dateString)) {
2138
- // return;
2139
- // }
2140
- // setfromDate(dateString);
2141
- // setcalendarvisible(false);
2142
- // setaddtocardpayloadobj({ ...addtocardpayloadobj, from: dateString });
2143
- // setSelectedDate(dateString); // If not disabled, set the selected date
2144
- }}
2145
- />
2146
- )}
2147
- {/* <DateTimePickerModal
2148
- isVisible={showFromCalendar}
2149
- mode="date"
2150
- minimumDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationstarts)}
2151
- maximumDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationends)}
2152
- onCancel={() => {
2153
- setshowFromCalendar(false);
2154
- }}
2155
- onConfirm={(date) => {
2156
- setshowopencalendar(false);
2157
- var myDate = date;
2158
- var day = myDate.getDate();
2159
- var month = myDate.getMonth();
2160
- var year = myDate.getFullYear();
2161
- month = month + 1;
2162
- var dateonly = year + '-' + month + '-' + day;
2163
- setaddtocardpayloadobj({ ...addtocardpayloadobj, from: dateonly });
2164
- setfromDate(dateonly);
2165
- setshowFromCalendar(false);
2166
- }}
2167
- pickerContainerStyleIOS={{
2168
- backgroundColor: 'white',
2169
- }}
2170
- textColor={'black'}
2171
- /> */}
2172
- </View>
2173
- {/* <View style={{ marginBottom: 25 }}>
2174
- <Text
2175
- style={[
2176
- {
2177
- fontSize: StyleParseToIntFuncContext(sectionproperties.form_labelfontsize),
2178
- color: sectionproperties.form_labelcolor,
2179
- fontFamily:
2180
- sectionproperties.form_labelfontweight == 300
2181
- ? 'Poppins-Thin'
2182
- : sectionproperties.form_labelfontweight == 400
2183
- ? 'Poppins-Light'
2184
- : sectionproperties.form_labelfontweight == 500
2185
- ? 'Poppins-Regular'
2186
- : sectionproperties.form_labelfontweight == 600
2187
- ? 'Poppins-Medium'
2188
- : sectionproperties.form_labelfontweight == 700
2189
- ? 'Poppins-Semibold'
2190
- : 'Poppins-Bold',
2191
- marginBottom: 10,
2192
- textAlign: 'left',
2193
- },
2194
- ]}
2195
- >
2196
- {lang.to}
2197
- </Text>
2198
- <TouchableOpacity
2199
- style={[
2200
- generalstyles.allcentered,
2201
-
2202
- {
2203
- width: '90%',
2204
- height: 40,
2205
- marginEnd: 'auto',
2206
- marginStart: 'auto',
2207
- borderColor: sectionproperties.inputfieldborderColor,
2208
- borderRadius: StyleParseToIntFuncContext(sectionproperties.inputfieldborderradius),
2209
- backgroundColor: sectionproperties.input_bgcolor,
2210
- borderWidth: StyleParseToIntFuncContext(sectionproperties.inputfieldborderWidth, '', true),
2211
- },
2212
- ]}
2213
- onPress={() => {
2214
- setshowToCalendar(true);
2215
- }}
2216
- >
2217
- <Text
2218
- style={[generalstyles.poppinsMedium, generalstyles.allcentered, { width: '100%', textAlign: 'center' }]}
2219
- underlineColorAndroid="transparent"
2220
- placeholder="dd/mm/yyyy"
2221
- placeholderTextColor="black"
2222
- autoCapitalize="none"
2223
- editable={false}
2224
- >
2225
- {toDate}
2226
- </Text>
2227
- </TouchableOpacity>
2228
- {showToCalendar && (
2229
- <Calendar
2230
- style={{
2231
- borderWidth: 1,
2232
- borderColor: 'gray',
2233
- height: 350,
2234
- }}
2235
- theme={{
2236
- backgroundColor: '#ffffff',
2237
- calendarBackground: '#ffffff',
2238
- textSectionTitleColor: '#b6c1cd',
2239
- selectedDayBackgroundColor: '#00adf5',
2240
- selectedDayTextColor: '#ffffff',
2241
- todayTextColor: '#00adf5',
2242
- dayTextColor: '#2d4150',
2243
- textDisabledColor: '#dd99ee',
2244
- }}
2245
- minDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationstarts)} // Minimum date (starting date)
2246
- maxDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationends)} // Maximum date (ending date)
2247
- markedDates={disabledDatesObject} // Mark disabled dates
2248
- markingType="custom" // Custom marking for disabled dates
2249
- onDayPress={(day) => {
2250
- // alert(JSON.stringify(day));
2251
- const dateString = day.dateString;
2252
- // If the date is disabled, do nothing
2253
- if (disableddates.includes(dateString)) {
2254
- return;
2255
- }
2256
- settoDate(dateString);
2257
- setaddtocardpayloadobj({ ...addtocardpayloadobj, to: dateString });
2258
-
2259
- setshowToCalendar(false);
2260
- // setSelectedDate(dateString); // If not disabled, set the selected date
2261
- }}
2262
- />
2263
- )}
2264
- </View> */}
2265
- </View>
2266
- )}
2267
- {fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'minutes' && fetchProductInfoQuery.data.data.productinfo.isproducttobesold == 1 && (
2268
- <View
2269
- style={{
2270
- display: 'flex',
2271
- marginTop: 10,
2272
- flexDirection: 'row',
2273
- flex: 1,
2274
- flexDirection: 'column',
2275
- padding: 10,
2276
- paddingHorizontal: 15,
2277
- backgroundColor: sectionproperties.reservation_bgcolor,
2278
- }}
2279
- >
2280
- <View style={{ marginBottom: 25 }}>
2281
- <Text
2282
- style={[
2283
- {
2284
- fontSize: StyleParseToIntFuncContext(sectionproperties.form_labelfontsize),
2285
- color: sectionproperties.form_labelcolor,
2286
- fontFamily:
2287
- sectionproperties.form_labelfontweight == 300
2288
- ? 'Poppins-Thin'
2289
- : sectionproperties.form_labelfontweight == 400
2290
- ? 'Poppins-Light'
2291
- : sectionproperties.form_labelfontweight == 500
2292
- ? 'Poppins-Regular'
2293
- : sectionproperties.form_labelfontweight == 600
2294
- ? 'Poppins-Medium'
2295
- : sectionproperties.form_labelfontweight == 700
2296
- ? 'Poppins-Semibold'
2297
- : 'Poppins-Bold',
2298
-
2299
- marginBottom: 10,
2300
- textAlign: 'left',
2301
- },
2302
- ]}
2303
- >
2304
- {lang.reservationdate}
2305
- </Text>
2306
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' && (
2307
- <TouchableOpacity
2308
- style={[
2309
- generalstyles.allcentered,
2310
-
2311
- {
2312
- width: '90%',
2313
- height: 40,
2314
- marginEnd: 'auto',
2315
- marginStart: 'auto',
2316
- borderColor: sectionproperties.inputfieldborderColor,
2317
- borderRadius: StyleParseToIntFuncContext(sectionproperties.inputfieldborderradius),
2318
- backgroundColor: sectionproperties.input_bgcolor,
2319
- borderWidth: StyleParseToIntFuncContext(sectionproperties.inputfieldborderWidth, '', true),
2320
- },
2321
- ]}
2322
- onPress={choosedateopencalendar}
2323
- >
2324
- <Text
2325
- style={[generalstyles.poppinsMedium, generalstyles.allcentered, { width: '100%', textAlign: 'center', color: sectionproperties.inputfieldcolor }]}
2326
- underlineColorAndroid="transparent"
2327
- placeholder="dd/mm/yyyy"
2328
- placeholderTextColor={sectionproperties.inputfieldcolor}
2329
- autoCapitalize="none"
2330
- editable={false}
2331
- >
2332
- {timepicked}
2333
- </Text>
2334
- </TouchableOpacity>
2335
- )}
2336
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec' && (
2337
- <Calendar
2338
- // Customize the appearance of the calendar
2339
- style={{
2340
- borderWidth: 1,
2341
- borderColor: 'gray',
2342
- height: 350,
2343
- borderRadius: 10,
2344
- width: '90%',
2345
- marginHorizontal: 'auto',
2346
- // paddingBottom: 30,
2347
- }}
2348
- theme={{
2349
- backgroundColor: '#ffffff',
2350
- calendarBackground: '#ffffff',
2351
- textSectionTitleColor: '#000000',
2352
- selectedDayBackgroundColor: '#D6CDA6',
2353
- selectedDayTextColor: '#ffffff',
2354
- todayTextColor: '#00adf5',
2355
- dayTextColor: '#000000',
2356
- textDisabledColor: '#cccccc',
2357
- arrowColor: '#D6CDA6',
2358
- }}
2359
- initialDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationstarts)} // Minimum date (starting date)
2360
- minDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationstarts)} // Minimum date (starting date)
2361
- maxDate={new Date(fetchProductInfoQuery?.data?.data?.productinfo?.serviceinfo?.reservationends)} // Maximum date (ending date)
2362
- onDayPress={(day) => {
2363
- var myDate = day.dateString;
2364
- setaddtocardpayloadobj({ ...addtocardpayloadobj, date: myDate });
2365
- setcurrentmutatestate('/fetchserviceslots');
2366
- GeneralAPIMutationContext.mutate({
2367
- endpointurl: '/fetchserviceslots',
2368
- productid: fetchProductInfoQuery.data.data.productinfo.productid,
2369
- reqdate: myDate,
2370
- mutateSuccesscallback: (data, variables) => {
2371
- setslots(data.data.slots);
2372
- },
2373
- });
2374
- setcalendarselecteddaya([day.dateString]);
2375
- // setSelected([day.dateString]);
2376
- }}
2377
- markedDates={CalenderSelectedDays}
2378
- />
2379
- )}
2380
-
2381
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' && (
2382
- <DateTimePickerModal
2383
- isVisible={showopencalendar}
2384
- mode="date"
2385
- value={addtocardpayloadobj.date?.toString()}
2386
- minimumDate={new Date(fetchProductInfoQuery.data.data.productinfo.serviceinfo.reservationstarts)}
2387
- maximumDate={new Date(fetchProductInfoQuery.data.data.productinfo.serviceinfo.reservationends)}
2388
- onCancel={() => {
2389
- setshowopencalendar(false);
2390
- }}
2391
- onConfirm={(date) => {
2392
- setshowopencalendar(false);
2393
- var myDate = date;
2394
- var day = myDate.getDate();
2395
- var month = myDate.getMonth();
2396
- var year = myDate.getFullYear();
2397
- month = month + 1;
2398
- var dateonly = year + '-' + month + '-' + day;
2399
- setaddtocardpayloadobj({ ...addtocardpayloadobj, date: dateonly });
2400
- setcurrentmutatestate('/fetchserviceslots');
2401
- GeneralAPIMutationContext.mutate({
2402
- endpointurl: '/fetchserviceslots',
2403
- productid: fetchProductInfoQuery.data.data.productinfo.productid,
2404
- reqdate: dateonly,
2405
- mutateSuccesscallback: (data, variables) => {
2406
- setslots(data.data.slots);
2407
- },
2408
- });
2409
- settimepicked(dateonly);
2410
- }}
2411
- pickerContainerStyleIOS={{
2412
- backgroundColor: 'white',
2413
- }}
2414
- textColor={'black'}
2415
- />
2416
- )}
2417
- </View>
2418
- {GeneralAPIMutationContext.isLoading && GeneralAPIMutationContext.variables.endpointurl == '/fetchserviceslots' && (
2419
- <View style={{ width: '100%', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
2420
- <SpinnerButton buttonStyle={{ width: 30, height: 30 }} isLoading={true} indicatorCount={10} spinnerType={'MaterialIndicator'} spinnerColor={'#ccc'}></SpinnerButton>
2421
- </View>
2422
- )}
2423
- {slots.length != 0 && (
2424
- <View style={{ marginBottom: 15 }}>
2425
- <Text
2426
- style={[
2427
- {
2428
- fontSize: StyleParseToIntFuncContext(sectionproperties.time_labelFontsize),
2429
- color: sectionproperties.form_labelcolor,
2430
- fontFamily:
2431
- sectionproperties.time_labelFonweight == 300
2432
- ? 'Poppins-Thin'
2433
- : sectionproperties.time_labelFonweight == 400
2434
- ? 'Poppins-Light'
2435
- : sectionproperties.time_labelFonweight == 500
2436
- ? 'Poppins-Regular'
2437
- : sectionproperties.time_labelFonweight == 600
2438
- ? 'Poppins-Medium'
2439
- : sectionproperties.time_labelFonweight == 700
2440
- ? 'Poppins-Semibold'
2441
- : 'Poppins-Bold',
2442
-
2443
- marginBottom: 10,
2444
- textAlign: 'left',
2445
- },
2446
- ]}
2447
- >
2448
- {lang.choosetime}
2449
- </Text>
2450
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid == '68ac3324506ec' && (
2451
- <>
2452
- <TouchableOpacity
2453
- onPress={() => {
2454
- var reqdatesrequired = Create_Rep_dates(4);
2455
- setcalendarselecteddaya(reqdatesrequired);
2456
- setrep_dates_counter(4);
2457
- }}
2458
- style={{ marginBottom: 50, marginTop: 50 }}
2459
- >
2460
- <Text>4 Sessions Button</Text>
2461
- </TouchableOpacity>
2462
- <TouchableOpacity
2463
- onPress={() => {
2464
- var reqdatesrequired = Create_Rep_dates(1);
2465
- setcalendarselecteddaya(reqdatesrequired);
2466
- setrep_dates_counter(1);
2467
- }}
2468
- style={{ marginBottom: 50, marginTop: 50 }}
2469
- >
2470
- <Text>1 Sessions Button</Text>
2471
- </TouchableOpacity>
2472
- </>
2473
- )}
2474
- <FlatList
2475
- style={{ marginHorizontal: 5 }}
2476
- data={slots}
2477
- contentContainerStyle={{ paddingBottom: SIZES.padding * 0.8 }}
2478
- numColumns={3}
2479
- scrollEnabled={false}
2480
- renderItem={({ item, index }) => {
2481
- var ischoosed = false;
2482
- if (item.slot == addtocardpayloadobj.time) {
2483
- ischoosed = true;
2484
- }
2485
- const str = item?.slot;
2486
- const result = str.substring(0, 5);
2487
- var slot12hr = item?.slot;
2488
- const slotsubstr = slot12hr?.substring(0, 2);
2489
- const slotsubstr2 = slot12hr?.substring(2, 5);
2490
- if (slotsubstr == '13') {
2491
- slot12hr = '01' + slotsubstr2 + ' PM';
2492
- } else if (slotsubstr == '14') {
2493
- slot12hr = '02' + slotsubstr2 + ' PM';
2494
- } else if (slotsubstr == '15') {
2495
- slot12hr = '03' + slotsubstr2 + ' PM';
2496
- } else if (slotsubstr == '16') {
2497
- slot12hr = '04' + slotsubstr2 + ' PM';
2498
- } else if (slotsubstr == '17') {
2499
- slot12hr = '05' + slotsubstr2 + ' PM';
2500
- } else if (slotsubstr == '18') {
2501
- slot12hr = '06' + slotsubstr2 + ' PM';
2502
- } else if (slotsubstr == '19') {
2503
- slot12hr = '07' + slotsubstr2 + ' PM';
2504
- } else if (slotsubstr == '20') {
2505
- slot12hr = '08' + slotsubstr2 + ' PM';
2506
- } else if (slotsubstr == '21') {
2507
- slot12hr = '09' + slotsubstr2 + ' PM';
2508
- } else if (slotsubstr == '22') {
2509
- slot12hr = '10' + slotsubstr2 + ' PM';
2510
- } else if (slotsubstr == '23') {
2511
- slot12hr = '11' + slotsubstr2 + ' PM';
2512
- } else if (slotsubstr == '24') {
2513
- slot12hr = '12' + slotsubstr2 + ' AM';
2514
- } else if (slotsubstr == '00') {
2515
- slot12hr = '12' + slotsubstr2 + ' AM';
2516
- } else if (slotsubstr == '12') {
2517
- slot12hr = '12' + slotsubstr2 + ' PM';
2518
- } else {
2519
- slot12hr = slotsubstr + slotsubstr2 + ' AM';
2520
- }
2521
- if (item.available) {
2522
- return (
2523
- <TouchableOpacity
2524
- onPress={() => {
2525
- setaddtocardpayloadobj({ ...addtocardpayloadobj, time: item.slot });
2526
- }}
2527
- style={[
2528
- generalstyles.flexColumn,
2529
- generalstyles.allcentered,
2530
- {
2531
- backgroundColor: ischoosed ? sectionproperties.time_activebgcolor : sectionproperties.time_bgcolor,
2532
- borderWidth: StyleParseToIntFuncContext(sectionproperties.time_borderwidth, '', true),
2533
- borderColor: ischoosed ? sectionproperties.time_timeactiveColor : sectionproperties.time_borderColor,
2534
- borderRadius: StyleParseToIntFuncContext(sectionproperties.time_borderRadius),
2535
- marginEnd: 10,
2536
- marginBottom: 10,
2537
- width: SIZES.width / 3 - 20,
2538
- padding: 10,
2539
- },
2540
- ]}
2541
- >
2542
- <View style={{ marginBottom: 'auto' }}>
2543
- <Text
2544
- style={[
2545
- {
2546
- color: ischoosed ? sectionproperties.time_timeactiveColor : sectionproperties.time_timeColor,
2547
- fontSize: StyleParseToIntFuncContext(sectionproperties.time_timeFontsize),
2548
- fontFamily:
2549
- sectionproperties.time_timeFontweight == 300
2550
- ? 'Poppins-Thin'
2551
- : sectionproperties.time_timeFontweight == 400
2552
- ? 'Poppins-Light'
2553
- : sectionproperties.time_timeFontweight == 500
2554
- ? 'Poppins-Regular'
2555
- : sectionproperties.time_timeFontweight == 600
2556
- ? 'Poppins-Medium'
2557
- : sectionproperties.time_timeFontweight == 700
2558
- ? 'Poppins-Semibold'
2559
- : 'Poppins-Bold',
2560
- },
2561
- ]}
2562
- >
2563
- {sectionproperties.timeformat == '24 HOUR CLOCK' ? result : slot12hr}
2564
- </Text>
2565
- </View>
2566
- </TouchableOpacity>
2567
- );
2568
- } else {
2569
- return (
2570
- <View
2571
- onPress={() => {
2572
- setaddtocardpayloadobj({ ...addtocardpayloadobj, time: item.slot });
2573
- }}
2574
- style={[
2575
- generalstyles.flexColumn,
2576
- generalstyles.allcentered,
2577
- {
2578
- backgroundColor: '#ccc',
2579
- borderWidth: StyleParseToIntFuncContext(sectionproperties.time_borderwidth, '', true),
2580
- borderColor: ischoosed ? sectionproperties.time_timeactiveColor : sectionproperties.time_borderColor,
2581
- borderRadius: StyleParseToIntFuncContext(sectionproperties.time_borderRadius),
2582
- marginEnd: 10,
2583
- marginBottom: 10,
2584
- width: SIZES.width / 3 - 20,
2585
- padding: 10,
2586
- },
2587
- ]}
2588
- >
2589
- <View style={{ marginBottom: 'auto' }}>
2590
- <Text
2591
- style={[
2592
- {
2593
- color: ischoosed ? sectionproperties.time_timeactiveColor : sectionproperties.time_timeColor,
2594
- fontSize: StyleParseToIntFuncContext(sectionproperties.time_timeFontsize),
2595
- fontFamily:
2596
- sectionproperties.time_timeFontweight == 300
2597
- ? 'Poppins-Thin'
2598
- : sectionproperties.time_timeFontweight == 400
2599
- ? 'Poppins-Light'
2600
- : sectionproperties.time_timeFontweight == 500
2601
- ? 'Poppins-Regular'
2602
- : sectionproperties.time_timeFontweight == 600
2603
- ? 'Poppins-Medium'
2604
- : sectionproperties.time_timeFontweight == 700
2605
- ? 'Poppins-Semibold'
2606
- : 'Poppins-Bold',
2607
- },
2608
- ]}
2609
- >
2610
- {result}
2611
- </Text>
2612
- </View>
2613
- </View>
2614
- );
2615
- }
2616
- }}
2617
- />
2618
- </View>
2619
- )}
2620
- </View>
2621
- )}
2622
- {sectionproperties.productInformationType == 'Product/Service Information' && fetchProductInfoQuery.data.data.productinfo.isproducttobesold == 1 && <>{cartBtn()}</>}
2623
-
2624
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' &&
2625
- langdetect == 'en' &&
2626
- fetchProductInfoQuery?.data?.data?.productinfo?.description_en != null &&
2627
- fetchProductInfoQuery?.data?.data?.productinfo?.description_en?.length != 0 &&
2628
- renderProductDescription()}
2629
- {fetchAuthorizationQueryContext?.data?.data?.instinfo?.instid != '68ac3324506ec' &&
2630
- langdetect == 'ar' &&
2631
- fetchProductInfoQuery?.data?.data?.productinfo?.description_ar != null &&
2632
- fetchProductInfoQuery?.data?.data?.productinfo?.description_ar?.length != 0 &&
2633
- renderProductDescription()}
2634
-
2635
- {getreviewsfeedbackview()}
2636
-
2637
- {sectionproperties.storeinfostyle == 'Style 1' && renderStoreInfo()}
2638
- {sectionproperties.showPolicy == 'Show' && sectionproperties.productInformationType == 'Product/Service Information' && (
2639
- <>
2640
- {returnpolicyobj('Refund Policy')?.policysummary_en != null && langdetect == 'en' && UpperPolicy()}
2641
- {returnpolicyobj('Refund Policy')?.policysummary_ar != null && langdetect == 'ar' && UpperPolicy()}
2642
- {returnpolicyobj('Shipping Policy')?.policysummary_en != null && langdetect == 'en' && LowerPolicy()}
2643
- {returnpolicyobj('Shipping Policy')?.policysummary_ar != null && langdetect == 'ar' && LowerPolicy()}
2644
- </>
2645
- )}
2646
- <View style={styles.centeredView}>
2647
- <Modal
2648
- animationType="slide"
2649
- transparent={true}
2650
- visible={modalVisible}
2651
- onRequestClose={() => {
2652
- setModalVisible(!modalVisible);
2653
- }}
2654
- >
2655
- <ImageViewer
2656
- imageUrls={props.actions.ImagesGallery}
2657
- footerContainerStyle={{ width: '100%', height: '10%' }}
2658
- renderHeader={() => {
2659
- return (
2660
- <TouchableOpacity
2661
- style={{
2662
- display: 'flex',
2663
- alignItems: 'center',
2664
- justifyContent: 'center',
2665
- width: '100%',
2666
- position: 'absolute',
2667
- top: 55,
2668
- width: '100%',
2669
- justifyContent: 'flex-end',
2670
- zIndex: 10000,
2671
- // left: 20,
2672
- }}
2673
- onPress={() => {
2674
- // alert('sd');
2675
- setModalVisible(false);
2676
- }}
2677
- >
2678
- <TouchableOpacity
2679
- style={[
2680
- generalstyles.allcentered,
2681
- {
2682
- marginStart: 'auto',
2683
- margin: 10,
2684
- },
2685
- ]}
2686
- >
2687
- <AntDesign name="close" size={20} color={'white'} />
2688
- </TouchableOpacity>
2689
- </TouchableOpacity>
2690
- );
2691
- }}
2692
- />
2693
- </Modal>
2694
- </View>
2695
- </View>
2696
- );
2697
- };
2698
-
2699
- export default Service_itemtype;
2700
-
2701
- const styles = StyleSheet.create({
2702
- centeredView: {
2703
- justifyContent: 'center',
2704
- alignItems: 'center',
2705
- backgroundColor: 'rgba(0,0,0,0.5)',
2706
- },
2707
- modalView: {
2708
- backgroundColor: 'white',
2709
- // borderRadius: 20,
2710
- // padding: 35,
2711
- width: SIZES.width,
2712
- height: SIZES.height - 80,
2713
- },
2714
- });