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,3459 +0,0 @@
1
- import React, { useEffect, useState, useContext } from 'react';
2
- import { Accordion, AccordionItem, AccordionItemHeading, AccordionItemButton, AccordionItemPanel, AccordionItemState } from 'react-accessible-accordion';
3
- import filterstyles from '../../../styles/staticpages/filter.module.css';
4
- import { css } from 'glamor';
5
- import Dropdown from 'react-bootstrap/Dropdown';
6
- import { IoMdClose } from '@react-icons/all-files/io/IoMdClose';
7
- import { FiChevronDown } from '@react-icons/all-files/fi/FiChevronDown';
8
- import { FiChevronUp } from '@react-icons/all-files/fi/FiChevronUp';
9
- import { Offcanvas } from 'react-bootstrap';
10
- import InputRange from 'react-input-range';
11
- import { Imagekitimagecomp } from '../../../Imagekitconfig.jsx';
12
- import { ScrollMenu, VisibilityContext } from 'react-horizontal-scrolling-menu';
13
- import { defaultstyles, defaultstylestranslated, selectcustomStyles, selectcustomStylesTranslated } from '../../../StylesJS/Customstyles.js';
14
- import { CircularProgress, Messaging } from 'react-cssfx-loading';
15
- import formstyles from '../../../styles/general/form.module.css';
16
- import { BsChevronLeft } from '@react-icons/all-files/bs/BsChevronLeft';
17
- import { BsChevronRight } from '@react-icons/all-files/bs/BsChevronRight';
18
- const Select = React.lazy(() => import('react-select'));
19
-
20
- const Filter = (props) => {
21
- const FetchAllVendorsQuery = props.actions.FetchAllVendorsQuery;
22
- const lang = props.actions.lang;
23
- const langdetect = props.actions.langdetect;
24
- const productfiltercontext = props.actions.productfiltercontext;
25
- const setproductfiltercontext = props.actions.setproductfiltercontext;
26
- const ProductFilterObjContext = props.actions.ProductFilterObjContext;
27
- const setProductFilterObjContext = props.actions.setProductFilterObjContext;
28
- const authdetailsContext = props.actions.authdetailsContext;
29
- const fetchproductoptionsQueryContext = props.actions.fetchproductoptionsQueryContext;
30
- const fetchCategoriesQueryContext = props.actions.fetchCategoriesQueryContext;
31
- const routingcountext = props.actions.routingcountext;
32
- const fetchcollectionsQueryContext = props.actions.fetchcollectionsQueryContext;
33
- const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
34
- const ikimagecredcontext = props.actions.ikimagecredcontext;
35
- const [pricevalue, setpricevalue] = useState({ min: 0, max: 10000 });
36
- const [pricevalue2, setpricevalue2] = useState({ min: '', max: '' });
37
- const [productfeatuesarr, setproductfeatuesarr] = useState([]);
38
- const [vendorarr, setvendorsarr] = useState([]);
39
-
40
- const fetchTabexCountriesQueryContext = props.actions.fetchTabexCountriesQueryContext;
41
- const FetchQueriesEngineContext = props.actions.FetchQueriesEngineContext;
42
- const setFetchQueriesEngineContext = props.actions.setFetchQueriesEngineContext;
43
-
44
- const fetchTabexCitiesQueryContext = props.actions.fetchTabexCitiesQueryContext;
45
- const fetchTabexStatesQueryContext = props.actions.fetchTabexStatesQueryContext;
46
- const FetchTabexStatesPayloadobjContext = props.actions.FetchTabexStatesPayloadobjContext;
47
- const setFetchTabexStatesPayloadobjContext = props.actions.setFetchTabexStatesPayloadobjContext;
48
- const fetchProductFeaturesQueryContext = props.actions.fetchProductFeaturesQueryContext;
49
-
50
- const [sectionproperties, setsectionproperties] = useState('');
51
- // const [instfilters, setinstfilters] = useState([...authdetailsContext.instinfo.instfilters]);
52
- const [instfilters, setinstfilters] = useState([]);
53
- const [collectionstobevisible, setcollectionstobevisible] = useState([]);
54
- const [portfoliocollectionstobevisible, setportfoliocollectionstobevisible] = useState([]);
55
- const [instcollections, setinstcollections] = useState([]);
56
- const [instcategories, setinstcategories] = useState([]);
57
- // const [sortby, setSortby] = useState('Sort by');
58
- const [raterangevalue, setraterangevalue] = useState({ min: 0, max: 5 });
59
- // const timeoutRef = React.useRef(null);
60
- const [sortbycontext, setsortbycontext] = useState('');
61
- const [pricefrom, setpricefrom] = useState('');
62
- const [priceto, setpriceto] = useState('');
63
- const setfetchingtype = props.actions.setfetchingtype;
64
- const [otherfilters, setotherfilters] = useState([
65
- {
66
- payloadvalue: 'sortprice',
67
- name: lang.price,
68
- filterarray: [
69
- { name: lang.pricelowtohigh, value: 'lowtohigh', isfilterselected: false },
70
- { name: lang.pricehightolow, value: 'hightolow', isfilterselected: false },
71
- ],
72
- },
73
- {
74
- payloadvalue: 'sortdates',
75
-
76
- name: lang.dates,
77
- filterarray: [
78
- { name: lang.recent, value: 'recent', isfilterselected: false },
79
- { name: lang.oldest, value: 'old', isfilterselected: false },
80
- ],
81
- },
82
- ]);
83
- const fetchAuthorizationQueryContext = props.actions.fetchAuthorizationQueryContext;
84
-
85
- const [checked, setChecked] = useState(false);
86
- const [price_rangevalue, setprice_rangevalue] = useState({ min: 0, max: 5 });
87
- const timeoutRef = React.useRef(null);
88
- const timeoutRef_price = React.useRef(null);
89
- const timeoutRef__range_price = React.useRef(null);
90
- useEffect(() => {
91
- filterupdater();
92
- }, []);
93
- useEffect(() => {
94
- if (FetchAllVendorsQuery?.isSuccess && FetchAllVendorsQuery?.data?.data?.vendors != undefined && FetchAllVendorsQuery?.data?.data?.vendors?.length != 0) {
95
- var temp = [...vendorarr];
96
- temp = [...FetchAllVendorsQuery?.data?.data?.vendors];
97
- temp?.forEach(function (instfilteritem, instfilterindex) {
98
- instfilteritem.isfilterselected = false;
99
- });
100
- setvendorsarr([...temp]);
101
- }
102
- }, [FetchAllVendorsQuery?.isSuccess]);
103
- useEffect(() => {
104
- if (fetchproductoptionsQueryContext.isSuccess) {
105
- setinstfilters([...fetchproductoptionsQueryContext?.data?.data?.productoptions]);
106
- }
107
- }, [fetchproductoptionsQueryContext.isSuccess]);
108
- useEffect(() => {
109
- if (fetchCategoriesQueryContext.isSuccess) {
110
- setinstcategories([...fetchCategoriesQueryContext?.data?.data?.categories]);
111
- }
112
- }, [fetchCategoriesQueryContext.isSuccess]);
113
- useEffect(() => {
114
- if (fetchcollectionsQueryContext.isSuccess) {
115
- var tempcoll = fetchcollectionsQueryContext?.data?.data?.collections;
116
- var tempcollinfilter = [];
117
- {
118
- tempcoll?.map((collectionitem, collectionindex) => {
119
- if (collectionitem.isshowntocustomers == 1 && collectionitem.isinftiler == 1) {
120
- tempcollinfilter.push(collectionitem);
121
- }
122
- });
123
- }
124
- setinstcollections([...tempcollinfilter]);
125
- // setinstcollections([...fetchcollectionsQueryContext?.data?.data?.collections]);
126
- }
127
- }, [fetchcollectionsQueryContext.isSuccess]);
128
- // useEffect(() => {
129
- // // setinstfilters([...authdetailsContext.instinfo.instfilters]);
130
- // // setinstcollections([...authdetailsContext.instinfo.instcollections]);
131
- // // setinstcategories([...authdetailsContext?.instinfo?.instcategories]);
132
- // }, [authdetailsContext]);
133
- useEffect(() => {
134
- if (props.sectionpropertiesprops != undefined && props.sectionpropertiesprops.length != 0) {
135
- setsectionproperties(props.sectionpropertiesprops);
136
- }
137
- }, [props.sectionpropertiesprops]);
138
- useEffect(() => {
139
- filterupdater();
140
- }, [ProductFilterObjContext]);
141
- useEffect(() => {
142
- if (timeoutRef.current !== null) {
143
- clearTimeout(timeoutRef.current);
144
- }
145
-
146
- timeoutRef.current = setTimeout(() => {
147
- if (raterangevalue.min != 0 || raterangevalue.max != 5) {
148
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
149
- tempfetchproductsfilerobjcontext.minrate = raterangevalue.min;
150
- tempfetchproductsfilerobjcontext.maxrate = raterangevalue.max;
151
- tempfetchproductsfilerobjcontext.page = 0;
152
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
153
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
154
- }
155
- }, 500);
156
- }, [raterangevalue]);
157
- useEffect(() => {
158
- if (fetchCategoriesQueryContext.isSuccess && fetchcollectionsQueryContext.isSuccess && instcategories.length != 0) {
159
- var parentcollections_for_collectionsFilter = null;
160
- var IsValid_parentcollections_for_collectionsFilter = false;
161
- if (
162
- ProductFilterObjContext.parentcollections_for_collectionsFilter != undefined &&
163
- ProductFilterObjContext.parentcollections_for_collectionsFilter != null &&
164
- Array.isArray(ProductFilterObjContext.parentcollections_for_collectionsFilter)
165
- ) {
166
- parentcollections_for_collectionsFilter = ProductFilterObjContext.parentcollections_for_collectionsFilter;
167
- }
168
- if (parentcollections_for_collectionsFilter != null && Array.isArray(parentcollections_for_collectionsFilter) && parentcollections_for_collectionsFilter.length != 0) {
169
- // parentcollections_for_collectionsFilter?.forEach(function(item,index){
170
- // if(item.)
171
- // })
172
- IsValid_parentcollections_for_collectionsFilter = true;
173
- }
174
- if (sectionproperties?.filterretreivetype != 'Depend on chosen parent group') {
175
- if (ProductFilterObjContext?.collections != undefined && ProductFilterObjContext?.collections != null && Array.isArray(ProductFilterObjContext?.collections)) {
176
- var collectiontobevisible = [];
177
- var parentidsfound = [];
178
- if (ProductFilterObjContext.ProductFetchingType == 'Parent Collection' || IsValid_parentcollections_for_collectionsFilter == true) {
179
- if (parentcollections_for_collectionsFilter != null) {
180
- parentidsfound = parentcollections_for_collectionsFilter;
181
- } else {
182
- parentidsfound = ProductFilterObjContext?.collections;
183
- }
184
- } else if (ProductFilterObjContext.ProductFetchingType == 'Category') {
185
- instcategories?.forEach(function (catitem, catindex) {
186
- ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
187
- if (catitem.categoryid == colitem2) {
188
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
189
- parentidsfound.push(parentcolitem.parentcollectionid);
190
- });
191
- }
192
- });
193
- });
194
- if (authdetailsContext?.instinfo?.instid == '65f69ce0a34b6' || authdetailsContext?.instinfo?.instid == '661bd8f2c412d') {
195
- var tempinstcategories = [...instcategories];
196
- var newisntcatarr = [];
197
- instcategories?.forEach(function (it2, ind2) {
198
- ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
199
- if (it2.categoryid == colitem2) {
200
- newisntcatarr.push(it2);
201
- }
202
- });
203
- });
204
-
205
- setinstcategories([...newisntcatarr]);
206
- }
207
- } else {
208
- instcategories?.forEach(function (catitem, catindex) {
209
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
210
- parentcolitem?.collections?.forEach(function (colitem, colindex) {
211
- ProductFilterObjContext?.collections?.forEach(function (colitem2, colindex2) {
212
- if (colitem.collectionid == colitem2) {
213
- parentidsfound.push(parentcolitem.parentcollectionid);
214
- }
215
- });
216
- });
217
- });
218
- });
219
- }
220
-
221
- parentidsfound = parentidsfound.filter((val, id, array) => array.indexOf(val) == id);
222
-
223
- if (parentidsfound?.length != 0) {
224
- instcategories?.forEach(function (catitem, catindex) {
225
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
226
- parentidsfound?.forEach(function (parentidfounditem, parentidfoundindex) {
227
- if (parentidfounditem == parentcolitem?.parentcollectionid) {
228
- parentcolitem?.collections?.forEach(function (colitem, colindex) {
229
- var iscolexists = false;
230
- collectiontobevisible?.forEach(function (colitemex, colindexex) {
231
- if (colitemex.collectionid == colitem.collectionid) {
232
- iscolexists = true;
233
- }
234
- });
235
- if (iscolexists == false) {
236
- collectiontobevisible.push(colitem);
237
- }
238
- });
239
- }
240
- });
241
- });
242
- });
243
-
244
- if (collectiontobevisible?.length != 0) {
245
- setcollectionstobevisible(collectiontobevisible);
246
- } else {
247
- setcollectionstobevisible(instcollections);
248
- }
249
- } else {
250
- setcollectionstobevisible(instcollections);
251
- }
252
- } else {
253
- setcollectionstobevisible(instcollections);
254
- }
255
- } else {
256
- setcollectionstobevisible(instcollections);
257
- }
258
-
259
- //
260
- //
261
- //
262
- var collectiontobevisible2 = [];
263
-
264
- instcategories?.forEach(function (catitem, catindex) {
265
- catitem?.parentcolletions?.forEach(function (parentcolitem, parentcolindex) {
266
- if (parentcolitem.parentcollectionid == '679eef4735b11') {
267
- parentcolitem?.collections?.forEach(function (colitem, colindex) {
268
- var iscolexists = false;
269
- portfoliocollectionstobevisible?.forEach(function (colitemex, colindexex) {
270
- if (colitemex.collectionid == colitem.collectionid) {
271
- iscolexists = true;
272
- }
273
- });
274
- if (iscolexists == false) {
275
- portfoliocollectionstobevisible.push(colitem);
276
- }
277
- });
278
- }
279
- });
280
- });
281
-
282
- if (collectiontobevisible2?.length != 0) {
283
- setportfoliocollectionstobevisible(collectiontobevisible2);
284
- } else {
285
- // setportfoliocollectionstobevisible(instcollections);
286
- }
287
- }
288
- }, [ProductFilterObjContext, fetchCategoriesQueryContext.isSuccess, fetchcollectionsQueryContext.isSuccess, instcollections]);
289
- // useEffect(() => {
290
- // // if (productfeatuesarr.length != 0) {
291
- // var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
292
- // tempfetchproductsfilerobjcontext.prod_featruesar = productfeatuesarr;
293
- // setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
294
- // filterrouting(tempfetchproductsfilerobjcontext);
295
- // // }
296
- // }, [productfeatuesarr]);
297
- useEffect(() => {
298
- if (productfeatuesarr.length != 0) {
299
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
300
- tempfetchproductsfilerobjcontext.prod_featruesar = productfeatuesarr;
301
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
302
- filterrouting(tempfetchproductsfilerobjcontext);
303
- } else if (productfeatuesarr.length == 0) {
304
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
305
- tempfetchproductsfilerobjcontext.prod_featruesar = productfeatuesarr;
306
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
307
- // filterrouting(tempfetchproductsfilerobjcontext);
308
- }
309
- }, [productfeatuesarr]);
310
- useEffect(() => {
311
- if (fetchTabexStatesQueryContext.isSuccess) {
312
- if (ProductFilterObjContext.stateid != undefined && ProductFilterObjContext.stateid != null && ProductFilterObjContext.stateid != '' && ProductFilterObjContext.stateid != 'all') {
313
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
314
- tempFetchTabexStatesPayloadobjContext.functype = 'cities';
315
- tempFetchTabexStatesPayloadobjContext.state_id = ProductFilterObjContext.stateid;
316
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
317
- }
318
- }
319
- }, [fetchTabexStatesQueryContext.isSuccess]);
320
- const filterupdater = () => {
321
- setTimeout(() => {
322
- var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
323
- tempFetchQueriesEngineContext.fetchtabexcountries = true;
324
- setFetchQueriesEngineContext(tempFetchQueriesEngineContext);
325
- }, 100);
326
- if (ProductFilterObjContext.countryid != undefined && ProductFilterObjContext.countryid != null && ProductFilterObjContext.countryid != '' && ProductFilterObjContext.countryid != 'all') {
327
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
328
- tempFetchTabexStatesPayloadobjContext.functype = 'states';
329
- tempFetchTabexStatesPayloadobjContext.country_id = ProductFilterObjContext.countryid;
330
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
331
- }
332
-
333
- if (instfilters.length != 0) {
334
- var tempinstfilters = [...instfilters];
335
- tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
336
- instfilteritem.productvaluesfilter.forEach(function (valefilteritem, valefilteritemindex) {
337
- valefilteritem.isfilterselected = false;
338
- });
339
- });
340
- ProductFilterObjContext?.FilterOptions?.forEach(function (filteritem, filterindex) {
341
- tempinstfilters?.forEach(function (instfilteritem, instfilterindex) {
342
- instfilteritem?.productvaluesfilter?.forEach(function (valefilteritem, valefilteritemindex) {
343
- if (filteritem.valueid == valefilteritem.valueid) {
344
- valefilteritem.isfilterselected = true;
345
- }
346
- });
347
- });
348
- });
349
- setinstfilters([...tempinstfilters]);
350
- }
351
- if (instcategories.length != 0) {
352
- var tempInstcategories = [...instcategories];
353
- tempInstcategories.forEach(function (catitem, catindex) {
354
- catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
355
- parentcolitem.collections.forEach(function (colitem, colindex) {
356
- colitem.isfilterselected = false;
357
- });
358
- });
359
- });
360
-
361
- ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
362
- tempInstcategories.forEach(function (catitem, catindex) {
363
- catitem.parentcolletions.forEach(function (parentcolitem, parentcolindex) {
364
- parentcolitem.collections.forEach(function (colitem, colindex) {
365
- if (colitem.collectionid == filteritem) {
366
- colitem.isfilterselected = true;
367
- }
368
- });
369
- });
370
- });
371
- });
372
-
373
- setinstcategories([...tempInstcategories]);
374
- }
375
- if (instcollections.length != 0) {
376
- var tempInstcollections = [...instcollections];
377
- tempInstcollections.forEach(function (instfilteritem, valefilteritemindex) {
378
- instfilteritem.isfilterselected = false;
379
- });
380
- ProductFilterObjContext?.collections?.forEach(function (filteritem, filterindex) {
381
- tempInstcollections?.forEach(function (instfilteritem, instfilterindex) {
382
- if (instfilteritem.collectionid == filteritem) {
383
- instfilteritem.isfilterselected = true;
384
- }
385
- });
386
- });
387
- setinstcollections([...tempInstcollections]);
388
- }
389
- };
390
- const setfilterfunc = (valueid, valueindex, mainparentindex, type) => {
391
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
392
- if (type == 'clearfilters') {
393
- tempfetchproductsfilerobjcontext.FilterOptions = [];
394
- } else {
395
- var FilterExists = false;
396
- tempfetchproductsfilerobjcontext?.FilterOptions?.forEach(function (filteritem, filterindex) {
397
- if (filteritem.valueid == valueid) {
398
- FilterExists = true;
399
- tempfetchproductsfilerobjcontext.FilterOptions.splice(filterindex, 1);
400
- }
401
- });
402
- if (!FilterExists) {
403
- tempfetchproductsfilerobjcontext.FilterOptions.push({ valueid: valueid });
404
- }
405
- }
406
- if (tempfetchproductsfilerobjcontext.FilterOptions.length == 0) {
407
- tempfetchproductsfilerobjcontext.isfilter = 0;
408
- } else {
409
- tempfetchproductsfilerobjcontext.isfilter = 1;
410
- }
411
- tempfetchproductsfilerobjcontext.page = 0;
412
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
413
- filterrouting(tempfetchproductsfilerobjcontext);
414
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
415
- };
416
- const setCollectionFilterFunc = (collectionid) => {
417
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
418
- var CollectionExists = false;
419
- if (tempfetchproductsfilerobjcontext.ProductFetchingType == 'Parent Collection' && tempfetchproductsfilerobjcontext.parentcollections_for_collectionsFilter == undefined) {
420
- tempfetchproductsfilerobjcontext.parentcollections_for_collectionsFilter = tempfetchproductsfilerobjcontext.collections;
421
- }
422
- tempfetchproductsfilerobjcontext?.collections?.forEach(function (filteritem, filterindex) {
423
- if (sectionproperties.filterdirection != 'Horizontal') {
424
- if (filteritem == collectionid) {
425
- CollectionExists = true;
426
- tempfetchproductsfilerobjcontext.collections.splice(filterindex, 1);
427
- }
428
- }
429
- });
430
-
431
- if (!CollectionExists) {
432
- if (tempfetchproductsfilerobjcontext.collections != undefined && Array.isArray(tempfetchproductsfilerobjcontext.collections)) {
433
- if (sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Horizontal') {
434
- tempfetchproductsfilerobjcontext.collections = [];
435
- tempfetchproductsfilerobjcontext.collections.push(collectionid);
436
- } else {
437
- tempfetchproductsfilerobjcontext.collections.push(collectionid);
438
- }
439
- } else {
440
- tempfetchproductsfilerobjcontext.collections = [collectionid];
441
- }
442
- }
443
- tempfetchproductsfilerobjcontext.ProductFetchingType = 'Random';
444
- if (
445
- tempfetchproductsfilerobjcontext.parentcollections_for_collectionsFilter != undefined &&
446
- tempfetchproductsfilerobjcontext.parentcollections_for_collectionsFilter != null &&
447
- tempfetchproductsfilerobjcontext?.parentcollections_for_collectionsFilter?.length != 0
448
- ) {
449
- if (tempfetchproductsfilerobjcontext.collections != undefined && tempfetchproductsfilerobjcontext.collections != null && tempfetchproductsfilerobjcontext?.collections?.length == 1) {
450
- tempfetchproductsfilerobjcontext.ProductFetchingType = 'Parent Collection';
451
- }
452
- }
453
- tempfetchproductsfilerobjcontext.page = 0;
454
-
455
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
456
- filterrouting(tempfetchproductsfilerobjcontext);
457
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
458
- };
459
- const VendorsFilter = () => {
460
- return (
461
- <div class="row m-0 w-100">
462
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
463
- <AccordionItem uuid={0}>
464
- <AccordionItemHeading>
465
- <AccordionItemButton>
466
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 mb-4 '}>
467
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
468
- <p
469
- className={
470
- langdetect == 'en' ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 ' : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
471
- }
472
- >
473
- {langdetect == 'en' ? 'Brands' : 'الماركات'}
474
- </p>
475
- </div>
476
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
477
- <AccordionItemState>
478
- {(state) => {
479
- if (state.expanded == true) {
480
- return (
481
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
482
- <FiChevronUp />
483
- </i>
484
- );
485
- } else {
486
- return (
487
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
488
- <FiChevronDown />
489
- </i>
490
- );
491
- }
492
- }}
493
- </AccordionItemState>
494
- </div>
495
- </div>
496
- </AccordionItemButton>
497
- </AccordionItemHeading>
498
- <AccordionItemPanel className="p-0">
499
- <div class="row m-0 w-100 px-3 px-md-4-2">
500
- {vendorarr.map((item, index) => {
501
- return (
502
- <div
503
- className={
504
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
505
- ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
506
- ` + ' d-flex align-items-center pb-3 col-12 p-0 '
507
- }
508
- onClick={() => {
509
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
510
- // alert(JSON.stringify(tempfetchproductsfilerobjcontext));
511
- tempfetchproductsfilerobjcontext.vendorsarr = [];
512
- tempfetchproductsfilerobjcontext?.vendorsarr?.push(item.vendorid);
513
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
514
- var temp = [...vendorarr];
515
- temp?.forEach(function (instfilteritem, instfilterindex) {
516
- instfilteritem.isfilterselected = false;
517
- });
518
- item.isfilterselected = true;
519
-
520
- setvendorsarr([...temp]);
521
- }}
522
- >
523
- <div class="mr-2">
524
- <div
525
- className={
526
- ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
527
- ' d-flex align-items-center '
528
- }
529
- >
530
- <i className="h-100 d-flex align-items-center"></i>
531
- </div>
532
- </div>
533
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
534
- <p
535
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
536
- style={{
537
- color: item.isfilterselected ? sectionproperties.activecat_color : '',
538
- }}
539
- >
540
- {langdetect == 'en' ? item.vendorname : item.vendorname}
541
- </p>
542
- </div>
543
- </div>
544
- );
545
- })}
546
- </div>
547
- </AccordionItemPanel>
548
- </AccordionItem>
549
- {/* <hr className="mt-3 mb-3" /> */}
550
- </Accordion>
551
- </div>
552
- // <div class="row m-0 w-100">
553
- // <div className="col-lg-12 p-0">
554
- // <div className="row m-0 w-100">
555
- // <div class="col-lg-12 p-0 text-start mb-2">
556
- // <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
557
- // {langdetect == 'en' ? 'Brands' : 'الماركات'}
558
- // </p>
559
- // </div>
560
-
561
- // {vendorarr.map((item, index) => {
562
- // return (
563
- // <div
564
- // className={
565
- // `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
566
- // ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
567
- // ` + ' d-flex align-items-center pb-3 col-12 '
568
- // }
569
- // onClick={() => {
570
- // var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
571
- // // alert(JSON.stringify(tempfetchproductsfilerobjcontext));
572
- // tempfetchproductsfilerobjcontext.vendorsarr = [];
573
- // tempfetchproductsfilerobjcontext?.vendorsarr?.push(item.vendorid);
574
- // setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
575
- // var temp = [...vendorarr];
576
- // temp?.forEach(function (instfilteritem, instfilterindex) {
577
- // instfilteritem.isfilterselected = false;
578
- // });
579
- // item.isfilterselected = true;
580
-
581
- // setvendorsarr([...temp]);
582
- // }}
583
- // >
584
- // <div class="mr-2">
585
- // <div
586
- // className={
587
- // ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
588
- // ' d-flex align-items-center '
589
- // }
590
- // >
591
- // <i className="h-100 d-flex align-items-center"></i>
592
- // </div>
593
- // </div>
594
- // <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
595
- // <p
596
- // className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
597
- // style={{
598
- // color: item.isfilterselected ? sectionproperties.activecat_color : '',
599
- // }}
600
- // >
601
- // {langdetect == 'en' ? item.vendorname : item.vendorname}
602
- // </p>
603
- // </div>
604
- // </div>
605
- // );
606
- // })}
607
- // </div>
608
- // </div>
609
- // </div>
610
- );
611
- };
612
- const AccordionInner = (parentcollectionindex, parentcollectionitem) => {
613
- return (
614
- <AccordionItem uuid={parentcollectionindex}>
615
- <AccordionItemHeading>
616
- <AccordionItemButton>
617
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
618
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
619
- <p
620
- className={
621
- langdetect == 'en'
622
- ? filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 '
623
- : filter_cssstyles.pCollectionName + ' collapsetitle text-capitalize m-0 p-0 text-right'
624
- }
625
- >
626
- {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
627
- </p>
628
- </div>
629
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
630
- <AccordionItemState>
631
- {(state) => {
632
- if (state.expanded == true) {
633
- return (
634
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
635
- <FiChevronUp />
636
- </i>
637
- );
638
- } else {
639
- return (
640
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
641
- <FiChevronDown />
642
- </i>
643
- );
644
- }
645
- }}
646
- </AccordionItemState>
647
- </div>
648
- </div>
649
- </AccordionItemButton>
650
- </AccordionItemHeading>
651
- <AccordionItemPanel className="p-0">
652
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex ">
653
- <div class="col-lg-12 mb-3 allcentered">
654
- <p
655
- class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
656
- style={{ textDecoration: 'underline' }}
657
- onClick={() => {
658
- routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'parentcollections/' + parentcollectionitem.parentcollectionid);
659
- }}
660
- >
661
- {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
662
- {langdetect == 'en' ? parentcollectionitem.title_en : parentcollectionitem.title_ar}
663
- </p>
664
- </div>
665
- <div className={'col-lg-12 pl-md-3 pr-md-3'}>
666
- <div
667
- className={
668
- langdetect == 'en' ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
669
- }
670
- >
671
- {parentcollectionitem?.collections?.map((collectionitem, collectionindex) => {
672
- if (collectionitem.isinftiler == 1) {
673
- return (
674
- <div
675
- className={
676
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
677
- ${collectionitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
678
- ` + ' d-flex align-items-center pb-3 '
679
- }
680
- onClick={() => {
681
- setCollectionFilterFunc(collectionitem.collectionid);
682
- }}
683
- >
684
- <div
685
- className={
686
- ` ${collectionitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
687
- ' d-flex align-items-center '
688
- }
689
- >
690
- <i className="h-100 d-flex align-items-center"></i>
691
- </div>
692
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
693
- <p
694
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
695
- style={{
696
- color: collectionitem.isfilterselected ? sectionproperties.activecat_color : '',
697
- }}
698
- >
699
- {langdetect == 'en' ? collectionitem.title_en : collectionitem.title_ar}
700
- </p>
701
- </div>
702
- </div>
703
- );
704
- }
705
- })}
706
- </div>
707
- </div>
708
- </div>
709
- </AccordionItemPanel>
710
- </AccordionItem>
711
- );
712
- };
713
- const AccordionOuter = (categoryItem, categoryIndex) => {
714
- return (
715
- <AccordionItem uuid={categoryIndex}>
716
- <AccordionItemHeading>
717
- <AccordionItemButton>
718
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-1 pl-md-3 pr-md-3 '}>
719
- <div className="col-lg-10 col-md-10 col-sm-10 p-0 d-flex align-items-center justify-content-start">
720
- <p className={filter_cssstyles.categoryName + ' collapsetitle text-capitalize m-0 p-0 '}>{langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}</p>
721
- </div>
722
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
723
- <AccordionItemState>
724
- {(state) => {
725
- if (state.expanded == true) {
726
- return (
727
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
728
- <FiChevronUp />
729
- </i>
730
- );
731
- } else {
732
- return (
733
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
734
- <FiChevronDown />
735
- </i>
736
- );
737
- }
738
- }}
739
- </AccordionItemState>
740
- </div>
741
- <div className="col-lg-12 p-0">
742
- <hr className="mt-3 mb-2" />
743
- </div>
744
- </div>
745
- </AccordionItemButton>
746
- </AccordionItemHeading>
747
- <AccordionItemPanel className="p-0">
748
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
749
- <div class="col-lg-12 mb-3 allcentered">
750
- <p
751
- class={filter_cssstyles.explorebtn + ' m-0 p-0 cursor-pointer text-capitalize '}
752
- style={{ textDecoration: 'underline' }}
753
- onClick={() => {
754
- routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, 'categories/' + categoryItem.categoryid);
755
- }}
756
- >
757
- {langdetect == 'en' ? sectionproperties.explorebtncontenten : sectionproperties.explorebtncontentar}{' '}
758
- {langdetect == 'en' ? categoryItem.title_en : categoryItem.title_ar}
759
- </p>
760
- </div>
761
- {instcategories[categoryIndex]?.parentcolletions.map((parentcollectionitem, parentcollectionindex) => {
762
- if (parentcollectionitem.isinftiler == 1) {
763
- return (
764
- <div class="col-lg-12">
765
- {sectionproperties.expandall == 'Yes' && (
766
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3, 4, 5, 6, 7, 8, , 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}>
767
- {AccordionInner(parentcollectionindex, parentcollectionitem)}
768
- </Accordion>
769
- )}
770
- {sectionproperties.expandall == 'No' && (
771
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
772
- {AccordionInner(parentcollectionindex, parentcollectionitem)}
773
- </Accordion>
774
- )}
775
- </div>
776
- );
777
- }
778
- })}
779
- </div>
780
- </AccordionItemPanel>
781
- </AccordionItem>
782
- );
783
- };
784
- const CategoriesFilter = () => {
785
- return (
786
- <div class="col-lg-12 p-0">
787
- {instcategories?.map((categoryItem, categoryIndex) => {
788
- if (categoryItem.isinftiler == 1) {
789
- return (
790
- <div class="col-lg-12 p-0">
791
- {sectionproperties.expandall == 'Yes' && (
792
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3, 4, 5, 6, 7, 8, , 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}>
793
- {AccordionOuter(categoryItem, categoryIndex)}
794
- </Accordion>
795
- )}
796
- {sectionproperties.expandall == 'No' && (
797
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
798
- {AccordionOuter(categoryItem, categoryIndex)}
799
- </Accordion>
800
- )}
801
- </div>
802
- );
803
- }
804
- })}
805
- </div>
806
- );
807
- };
808
- const CollectionsFilter = () => {
809
- return (
810
- <div class="col-lg-12 p-0">
811
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
812
- <AccordionItem uuid={0}>
813
- <AccordionItemHeading>
814
- <AccordionItemButton>
815
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
816
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
817
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
818
- {langdetect == 'en' ? sectionproperties.filtercollectiontitle_en : sectionproperties.filtercollectiontitle_ar}
819
- </p>
820
- </div>
821
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
822
- <AccordionItemState>
823
- {(state) => {
824
- if (state.expanded == true) {
825
- return (
826
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
827
- <FiChevronUp />
828
- </i>
829
- );
830
- } else {
831
- return (
832
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
833
- <FiChevronDown />
834
- </i>
835
- );
836
- }
837
- }}
838
- </AccordionItemState>
839
- </div>
840
- </div>
841
- </AccordionItemButton>
842
- </AccordionItemHeading>
843
- <AccordionItemPanel className="p-0">
844
- <div className="row mt-3 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
845
- <div className={'col-lg-12'}>
846
- <div
847
- className={
848
- langdetect == 'en'
849
- ? `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
850
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
851
- }
852
- >
853
- {collectionstobevisible.map((item, index) => {
854
- return (
855
- <div
856
- className={
857
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
858
- ${item.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
859
- ` + ' d-flex align-items-center pb-3 '
860
- }
861
- onClick={() => {
862
- setCollectionFilterFunc(item.collectionid);
863
- }}
864
- >
865
- <div class="mr-2">
866
- <div
867
- className={
868
- ` ${item.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
869
- ' d-flex align-items-center '
870
- }
871
- >
872
- <i className="h-100 d-flex align-items-center"></i>
873
- </div>
874
- </div>
875
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
876
- <p
877
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
878
- style={{
879
- color: item.isfilterselected ? sectionproperties.activecat_color : '',
880
- }}
881
- >
882
- {langdetect == 'en' ? item.title_en : item.title_ar}
883
- </p>
884
- </div>
885
- </div>
886
- );
887
- })}
888
- </div>
889
- {sectionproperties.showshowallbtn == 'Show' && (
890
- <div class="col-lg-12 allcentered">
891
- <div class={filter_cssstyles.showallbtn} style={{}}>
892
- <p
893
- class="m-0 p-0"
894
- onClick={() => {
895
- setcollectionstobevisible(instcollections);
896
- }}
897
- // style={{ cursor: 'pointer' }}
898
- >
899
- {langdetect == 'en' ? sectionproperties.showalltexten : sectionproperties.showalltextar}
900
- </p>
901
- </div>
902
- </div>
903
- )}
904
- </div>
905
- </div>
906
- </AccordionItemPanel>
907
- </AccordionItem>
908
- {/* <hr className="mt-3 mb-3" /> */}
909
- </Accordion>
910
- </div>
911
- );
912
- };
913
- const DynamicFilter = () => {
914
- return (
915
- <div class="row m-0 w-100">
916
- <div class="col-lg-12 p-0">
917
- {fetchProductFeaturesQueryContext?.isSuccess && (
918
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex w-100">
919
- {fetchProductFeaturesQueryContext?.data?.data?.productfeatues?.map(function (item, index) {
920
- // if (item.type == 'Selectbox') {
921
- // var selectboxarr = [];
922
- // item?.featuresselectbovalue?.forEach(function (slecitem) {
923
- // var itemlabel = '';
924
- // if (langdetect == 'en') {
925
- // itemlabel = slecitem.value_en;
926
- // } else {
927
- // itemlabel = slecitem.value_ar;
928
- // }
929
- // selectboxarr.push({ label: itemlabel, value: slecitem.value_en });
930
- // });
931
- // return (
932
- // <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
933
- // <label
934
- // className={' mb-3 w-100 '}
935
- // style={{
936
- // textAlign: langdetect == 'en' ? 'left' : 'right',
937
- // color: sectionproperties.filtertitle_color,
938
- // color: sectionproperties.filtertitle_color,
939
- // fontSize: sectionproperties.filtertitle_fontsize + 'px',
940
- // fontWeight: sectionproperties.filtertitle_fontweight,
941
- // color: sectionproperties.filtertitle_color,
942
- // textTransform: 'capitalize',
943
- // }}
944
- // >
945
- // {langdetect == 'en' ? item.name_en : item.name_ar}
946
- // </label>
947
- // <div class={'col-lg-12 p-0'}>
948
- // <Select
949
- // options={selectboxarr}
950
- // styles={langdetect == 'en' ? selectcustomStyles : selectcustomStylesTranslated}
951
- // placeholder={''}
952
- // onChange={(e) => {
953
- // var isattrexists = false;
954
- // var tempproductfeatuesarr = [...productfeatuesarr];
955
- // tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
956
- // if (attritem.id == item.id) {
957
- // tempproductfeatuesarr[attrindex].value = e.value;
958
- // isattrexists = true;
959
- // }
960
- // });
961
- // if (isattrexists == false) {
962
- // tempproductfeatuesarr.push({
963
- // id: item.id,
964
- // value: e.value,
965
- // });
966
- // }
967
- // setproductfeatuesarr([...tempproductfeatuesarr]);
968
- // }}
969
- // />
970
- // </div>
971
- // </div>
972
- // );
973
- // }
974
- if (item.type == 'Selectbox') {
975
- var selectboxarr = [];
976
- if (sectionproperties.expandall == 'Yes') {
977
- return (
978
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
979
- <AccordionItem uuid={index}>
980
- <AccordionItemHeading>
981
- <AccordionItemButton>
982
- <div className={filter_cssstyles.titlecontainer + ' row m-0 w-100 p-0 mb-2 pl-md-3 pr-md-3 '}>
983
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
984
- <p
985
- className={
986
- langdetect == 'en'
987
- ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
988
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
989
- }
990
- >
991
- {langdetect == 'en' ? item.name_en : item.name_ar}
992
- </p>
993
- </div>
994
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
995
- <AccordionItemState>
996
- {(state) => {
997
- if (state.expanded == true) {
998
- return (
999
- <i
1000
- className={
1001
- filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '
1002
- }
1003
- >
1004
- <FiChevronUp />
1005
- </i>
1006
- );
1007
- } else {
1008
- return (
1009
- <i
1010
- className={
1011
- filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '
1012
- }
1013
- >
1014
- <FiChevronDown />
1015
- </i>
1016
- );
1017
- }
1018
- }}
1019
- </AccordionItemState>
1020
- </div>
1021
- </div>
1022
- </AccordionItemButton>
1023
- </AccordionItemHeading>
1024
- <AccordionItemPanel className="p-0">
1025
- <div className="row mt-3 mb-2 ml-0 mr-0 d-lg-flex px-3 px-md-4-2 overflowyedit">
1026
- <div
1027
- className={
1028
- langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1029
- }
1030
- >
1031
- {item?.featuresselectbovalue?.map((slecitem, slecindex) => {
1032
- var ischecked = false;
1033
- if (
1034
- ProductFilterObjContext != undefined &&
1035
- ProductFilterObjContext != null &&
1036
- ProductFilterObjContext.prod_featruesar != undefined &&
1037
- ProductFilterObjContext.prod_featruesar != null &&
1038
- ProductFilterObjContext.prod_featruesar.length != 0
1039
- ) {
1040
- var tempproductfeatuesarr = [...ProductFilterObjContext?.prod_featruesar];
1041
- if (tempproductfeatuesarr.length != 0) {
1042
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
1043
- if (attritem.value == slecitem.value_en) {
1044
- ischecked = true;
1045
- }
1046
- });
1047
- }
1048
- }
1049
- return (
1050
- <div
1051
- // className={
1052
- // `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1053
- // ${slecitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1054
-
1055
- // ` + ' d-flex align-items-center pb-3 '
1056
- // }
1057
- className={
1058
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1059
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1060
-
1061
- ` + ' d-flex align-items-center pb-3 '
1062
- }
1063
- onClick={(e) => {
1064
- var tempproductfeatuesarr = [];
1065
-
1066
- if (
1067
- ProductFilterObjContext != undefined &&
1068
- ProductFilterObjContext != null &&
1069
- ProductFilterObjContext.prod_featruesar != undefined &&
1070
- ProductFilterObjContext.prod_featruesar != null &&
1071
- ProductFilterObjContext.prod_featruesar.length != 0
1072
- ) {
1073
- tempproductfeatuesarr = [...ProductFilterObjContext.prod_featruesar];
1074
-
1075
- const existingIndex = tempproductfeatuesarr.findIndex((attritem) => attritem.id === slecitem.featureid);
1076
-
1077
- if (existingIndex !== -1) {
1078
- if (tempproductfeatuesarr[existingIndex].value === slecitem.value_en) {
1079
- // Same feature and value -> remove (toggle off)
1080
- tempproductfeatuesarr.splice(existingIndex, 1);
1081
- } else {
1082
- // Same feature, different value -> update
1083
- tempproductfeatuesarr[existingIndex].value = slecitem.value_en;
1084
- }
1085
- } else {
1086
- // Feature doesn't exist -> add new
1087
- tempproductfeatuesarr.push({
1088
- id: slecitem.featureid,
1089
- value: slecitem.value_en,
1090
- });
1091
- }
1092
- } else {
1093
- // Feature list is empty -> add new
1094
- tempproductfeatuesarr.push({
1095
- id: slecitem.featureid,
1096
- value: slecitem.value_en,
1097
- });
1098
- }
1099
-
1100
- setproductfeatuesarr([...tempproductfeatuesarr]);
1101
- }}
1102
- >
1103
- <div>
1104
- <div
1105
- // className={
1106
- // ` ${slecitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1107
- // filter_cssstyles.btn_item
1108
- // }` + ' d-flex align-items-center '
1109
- // }
1110
- className={
1111
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
1112
- ' d-flex align-items-center '
1113
- }
1114
- >
1115
- <i className="h-100 d-flex align-items-center"></i>
1116
- </div>
1117
- </div>
1118
-
1119
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1120
- <p
1121
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1122
- style={{
1123
- color: slecitem.isfilterselected ? sectionproperties.activecat_color : '',
1124
- }}
1125
- >
1126
- {langdetect == 'en' ? slecitem.value_en : slecitem.value_ar}
1127
- </p>
1128
- </div>
1129
- </div>
1130
- );
1131
- })}
1132
- </div>
1133
- </div>
1134
- </AccordionItemPanel>
1135
- </AccordionItem>
1136
- </Accordion>
1137
- );
1138
- } else {
1139
- return (
1140
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
1141
- <AccordionItem uuid={index}>
1142
- <AccordionItemHeading>
1143
- <AccordionItemButton>
1144
- <div className={filter_cssstyles.titlecontainer + ' row m-0 w-100 p-0 mb-2 pl-md-3 pr-md-3 '}>
1145
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1146
- <p
1147
- className={
1148
- langdetect == 'en'
1149
- ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
1150
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1151
- }
1152
- >
1153
- {langdetect == 'en' ? item.name_en : item.name_ar}
1154
- </p>
1155
- </div>
1156
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1157
- <AccordionItemState>
1158
- {(state) => {
1159
- if (state.expanded == true) {
1160
- return (
1161
- <i
1162
- className={
1163
- filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '
1164
- }
1165
- >
1166
- <FiChevronUp />
1167
- </i>
1168
- );
1169
- } else {
1170
- return (
1171
- <i
1172
- className={
1173
- filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '
1174
- }
1175
- >
1176
- <FiChevronDown />
1177
- </i>
1178
- );
1179
- }
1180
- }}
1181
- </AccordionItemState>
1182
- </div>
1183
- </div>
1184
- </AccordionItemButton>
1185
- </AccordionItemHeading>
1186
- <AccordionItemPanel className="p-0">
1187
- <div className="row mt-3 mb-2 ml-0 mr-0 d-lg-flex px-3 px-md-4-2 overflowyedit">
1188
- <div
1189
- className={
1190
- langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
1191
- }
1192
- >
1193
- {item?.featuresselectbovalue?.map((slecitem, slecindex) => {
1194
- var ischecked = false;
1195
- if (
1196
- ProductFilterObjContext != undefined &&
1197
- ProductFilterObjContext != null &&
1198
- ProductFilterObjContext.prod_featruesar != undefined &&
1199
- ProductFilterObjContext.prod_featruesar != null &&
1200
- ProductFilterObjContext.prod_featruesar.length != 0
1201
- ) {
1202
- var tempproductfeatuesarr = [...ProductFilterObjContext?.prod_featruesar];
1203
- if (tempproductfeatuesarr.length != 0) {
1204
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
1205
- if (attritem.value == slecitem.value_en) {
1206
- ischecked = true;
1207
- }
1208
- });
1209
- }
1210
- }
1211
- return (
1212
- <div
1213
- // className={
1214
- // `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1215
- // ${slecitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1216
-
1217
- // ` + ' d-flex align-items-center pb-3 '
1218
- // }
1219
- className={
1220
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1221
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1222
-
1223
- ` + ' d-flex align-items-center pb-3 '
1224
- }
1225
- onClick={(e) => {
1226
- var tempproductfeatuesarr = [];
1227
-
1228
- if (
1229
- ProductFilterObjContext != undefined &&
1230
- ProductFilterObjContext != null &&
1231
- ProductFilterObjContext.prod_featruesar != undefined &&
1232
- ProductFilterObjContext.prod_featruesar != null &&
1233
- ProductFilterObjContext.prod_featruesar.length != 0
1234
- ) {
1235
- tempproductfeatuesarr = [...ProductFilterObjContext.prod_featruesar];
1236
-
1237
- const existingIndex = tempproductfeatuesarr.findIndex((attritem) => attritem.id === slecitem.featureid);
1238
-
1239
- if (existingIndex !== -1) {
1240
- if (tempproductfeatuesarr[existingIndex].value === slecitem.value_en) {
1241
- // Same feature and value -> remove (toggle off)
1242
- tempproductfeatuesarr.splice(existingIndex, 1);
1243
- } else {
1244
- // Same feature, different value -> update
1245
- tempproductfeatuesarr[existingIndex].value = slecitem.value_en;
1246
- }
1247
- } else {
1248
- // Feature doesn't exist -> add new
1249
- tempproductfeatuesarr.push({
1250
- id: slecitem.featureid,
1251
- value: slecitem.value_en,
1252
- });
1253
- }
1254
- } else {
1255
- // Feature list is empty -> add new
1256
- tempproductfeatuesarr.push({
1257
- id: slecitem.featureid,
1258
- value: slecitem.value_en,
1259
- });
1260
- }
1261
-
1262
- setproductfeatuesarr([...tempproductfeatuesarr]);
1263
- }}
1264
- >
1265
- <div>
1266
- <div
1267
- // className={
1268
- // ` ${slecitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
1269
- // filter_cssstyles.btn_item
1270
- // }` + ' d-flex align-items-center '
1271
- // }
1272
- className={
1273
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
1274
- ' d-flex align-items-center '
1275
- }
1276
- >
1277
- <i className="h-100 d-flex align-items-center"></i>
1278
- </div>
1279
- </div>
1280
-
1281
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1282
- <p
1283
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1284
- style={{
1285
- color: slecitem.isfilterselected ? sectionproperties.activecat_color : '',
1286
- }}
1287
- >
1288
- {langdetect == 'en' ? slecitem.value_en : slecitem.value_ar}
1289
- </p>
1290
- </div>
1291
- </div>
1292
- );
1293
- })}
1294
- </div>
1295
- </div>
1296
- </AccordionItemPanel>
1297
- </AccordionItem>
1298
- </Accordion>
1299
- );
1300
- }
1301
- }
1302
- // up here
1303
- if (item.type == 'Number') {
1304
- return (
1305
- <div class="col-lg-12 col-md-12 d-flex flex-column align-items-center justify-content-start mb-3 p-0">
1306
- <label
1307
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100 '}
1308
- style={{
1309
- textAlign: langdetect == 'en' ? 'left' : 'right',
1310
- color: sectionproperties.filtertitle_color,
1311
- color: sectionproperties.filtertitle_color,
1312
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
1313
- fontWeight: sectionproperties.filtertitle_fontweight,
1314
- color: sectionproperties.filtertitle_color,
1315
- textTransform: 'capitalize',
1316
- }}
1317
- >
1318
- {langdetect == 'en' ? item.name_en : item.name_ar}
1319
- </label>
1320
- <div class={'col-lg-12 p-0'}>
1321
- <input
1322
- type="number"
1323
- className={`${formstyles.form_control} ${filter_cssstyles.form_control}`}
1324
- placeholder={''}
1325
- onChange={(e) => {
1326
- var isattrexists = false;
1327
- var tempproductfeatuesarr = [...productfeatuesarr];
1328
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
1329
- if (attritem.id == item.id) {
1330
- tempproductfeatuesarr[attrindex].value = e.target.value;
1331
- isattrexists = true;
1332
- }
1333
- });
1334
- if (isattrexists == false) {
1335
- tempproductfeatuesarr.push({
1336
- id: item.id,
1337
- value: e.target.value,
1338
- });
1339
- }
1340
- setproductfeatuesarr([...tempproductfeatuesarr]);
1341
- }}
1342
- />
1343
- </div>
1344
- </div>
1345
- );
1346
- }
1347
- if (item.type == 'NumberRange') {
1348
- var temppricevalue = { min: 0, max: 10000 };
1349
- var tempproductfeatuesarr = [...productfeatuesarr];
1350
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
1351
- if (attritem.id == item.id) {
1352
- if (attritem.value != undefined && attritem.value != null && attritem?.value?.length != 0) {
1353
- temppricevalue.min = attritem.value;
1354
- }
1355
- if (attritem.valuemax != undefined && attritem.valuemax != null && attritem?.valuemax?.length != 0) {
1356
- temppricevalue.max = attritem.valuemax;
1357
- }
1358
- }
1359
- });
1360
- return (
1361
- <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 '}>
1362
- <label
1363
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
1364
- style={{
1365
- textAlign: langdetect == 'en' ? 'left' : 'right',
1366
- color: sectionproperties.filtertitle_color,
1367
- color: sectionproperties.filtertitle_color,
1368
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
1369
- fontWeight: sectionproperties.filtertitle_fontweight,
1370
- color: sectionproperties.filtertitle_color,
1371
- textTransform: 'capitalize',
1372
- }}
1373
- >
1374
- {langdetect == 'en' ? item.name_en : item.name_ar}
1375
- </label>
1376
- <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
1377
- <InputRange
1378
- draggableTrack={true}
1379
- formatLabel={(value) => `${value}`}
1380
- maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
1381
- minValue={parseInt(sectionproperties.filterpriceminvalue)}
1382
- value={temppricevalue}
1383
- onChange={(e) => {
1384
- // setpricevalue({ ...value });
1385
- var isattrexists = false;
1386
- var tempproductfeatuesarr = [...productfeatuesarr];
1387
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
1388
- if (attritem.id == item.id) {
1389
- tempproductfeatuesarr[attrindex].value = e.min;
1390
- tempproductfeatuesarr[attrindex].valuemax = e.max;
1391
- isattrexists = true;
1392
- }
1393
- });
1394
- if (isattrexists == false) {
1395
- tempproductfeatuesarr.push({
1396
- id: item.id,
1397
- value: e.min,
1398
- valuemax: e.max,
1399
- });
1400
- }
1401
- setproductfeatuesarr([...tempproductfeatuesarr]);
1402
- }}
1403
- />
1404
- </div>
1405
- </div>
1406
- );
1407
- }
1408
- })}
1409
- {/* {sectionproperties.showpricerange == 'Show' && (
1410
- <div className={`${langdetect == 'en' ? 'text-left' : 'text-right'}` + ' col-lg-12 col-md-12 col-sm-12 mb-3 p-0 '}>
1411
- <label
1412
- className={`${filter_cssstyles.input_label_name}` + ' mb-3 w-100'}
1413
- style={{
1414
- textAlign: langdetect == 'en' ? 'left' : 'right',
1415
- color: sectionproperties.filtertitle_color,
1416
- color: sectionproperties.filtertitle_color,
1417
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
1418
- fontWeight: sectionproperties.filtertitle_fontweight,
1419
- color: sectionproperties.filtertitle_color,
1420
- textTransform: 'capitalize',
1421
- }}
1422
- >
1423
- {langdetect == 'en' ? 'Price' : 'السعر'}
1424
- {item.type}
1425
- </label>
1426
- <div class={'col-lg-12 pl-4 pr-4 mt-2 mb-2'} style={{ direction: 'ltr' }}>
1427
- <InputRange
1428
- draggableTrack={true}
1429
- formatLabel={(value) => `${value}`}
1430
- maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
1431
- minValue={parseInt(sectionproperties.filterpriceminvalue)}
1432
- value={temppricevalue}
1433
- onChange={(e) => {
1434
- // setpricevalue({ ...value });
1435
- var isattrexists = false;
1436
- var tempproductfeatuesarr = [...productfeatuesarr];
1437
- tempproductfeatuesarr?.forEach(function (attritem, attrindex) {
1438
- if (attritem.id == item.id) {
1439
- tempproductfeatuesarr[attrindex].value = e.min;
1440
- tempproductfeatuesarr[attrindex].valuemax = e.max;
1441
- isattrexists = true;
1442
- }
1443
- });
1444
- if (isattrexists == false) {
1445
- tempproductfeatuesarr.push({
1446
- id: item.id,
1447
- value: e.min,
1448
- valuemax: e.max,
1449
- });
1450
- }
1451
- setproductfeatuesarr([...tempproductfeatuesarr]);
1452
- }}
1453
- />
1454
- </div>
1455
- </div>
1456
- )} */}
1457
- </div>
1458
- )}
1459
- </div>
1460
- </div>
1461
- );
1462
- };
1463
- const InstFilters = () => {
1464
- return (
1465
- // <Accordion allowMultipleExpanded={true} allowZeroExpanded={true}>
1466
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]}>
1467
- {instfilters.map((item, index) => {
1468
- return (
1469
- <>
1470
- <AccordionItem uuid={index}>
1471
- <AccordionItemHeading>
1472
- <AccordionItemButton>
1473
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 mb-4 '}>
1474
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
1475
- <p
1476
- className={
1477
- langdetect == 'en'
1478
- ? filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 '
1479
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
1480
- }
1481
- >
1482
- {langdetect == 'en' ? item.optionname : item.optionname_ar}
1483
- </p>
1484
- </div>
1485
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
1486
- <AccordionItemState>
1487
- {(state) => {
1488
- if (state.expanded == true) {
1489
- return (
1490
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
1491
- <FiChevronUp />
1492
- </i>
1493
- );
1494
- } else {
1495
- return (
1496
- <i className={filter_cssstyles.collapsetitle + ' collapsetitle h-100 d-flex align-items-center justify-content-end '}>
1497
- <FiChevronDown />
1498
- </i>
1499
- );
1500
- }
1501
- }}
1502
- </AccordionItemState>
1503
- </div>
1504
- </div>
1505
- </AccordionItemButton>
1506
- </AccordionItemHeading>
1507
- <AccordionItemPanel className="p-0">
1508
- {/* <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
1509
- <div className={'col-lg-12'}>
1510
- <div className={langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '}>
1511
- {item.productvaluesfilter.map((valueitem, valueindex) => {
1512
- return (
1513
- <div
1514
- className={
1515
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1516
- ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1517
-
1518
- ` + ' d-flex align-items-center pb-3 '
1519
- }
1520
- onClick={() => {
1521
- setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
1522
- }}
1523
- >
1524
- <div>
1525
- <div
1526
- className={
1527
- ` ${valueitem.isfilterselected ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${filter_cssstyles.btn_item}` +
1528
- ' mb-2 d-flex align-items-center '
1529
- }
1530
- >
1531
- <i className="h-100 d-flex align-items-center"></i>
1532
- </div>
1533
- </div>
1534
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
1535
- <p
1536
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
1537
- style={{
1538
- color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
1539
- }}
1540
- >
1541
- {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
1542
- </p>
1543
- </div>
1544
- </div>
1545
- );
1546
- })}
1547
- </div>
1548
- </div>
1549
- </div> */}
1550
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex pl-md-3 pr-md-3">
1551
- <ul class="thwvsf-wrapper-ul">
1552
- <div className={langdetect == 'en' ? `${filterstyles.timeline}` + ' p-sm-0 ' : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '}>
1553
- <ul class=" d-flex list-none flex-row flex-wrap overflow-auto px-6 pb-5 pt-2 lg:px-0">
1554
- {item.productvaluesfilter.map((valueitem, valueindex) => {
1555
- return (
1556
- <li
1557
- className={
1558
- // `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
1559
- // ${valueitem.isfilterselected ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
1560
- // ` +
1561
- item.optionname != 'Color'
1562
- ? `${filter_cssstyles.filteroptionvertical} ${
1563
- valueitem.isfilterselected ? `${filter_cssstyles.filteroptionverticalactive} ` : ''
1564
- }` + ' mx-3 mb-3 cursor-pointer allcentered '
1565
- : ' mx-3 mb-3 cursor-pointer allcentered '
1566
- }
1567
- onClick={() => {
1568
- setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
1569
- }}
1570
- style={
1571
- {
1572
- // border: sectionproperties.filter_optionborderwidth + 'px solid ' + sectionproperties.filter_optionbordercolor,
1573
- // width: item.optionname == 'Color' ? 'auto' : '',
1574
- // height: item.optionname == 'Color' ? 'auto' : '',
1575
- // borderWidth: item.optionname == 'Color' ? 0 : '',
1576
- }
1577
- }
1578
- >
1579
- {item.optionname == 'Color' && (
1580
- <div className={'mx-3'}>
1581
- <div class="row m-0 w-100">
1582
- <div class="col-lg-12 p-0 allcentered mb-3">
1583
- {valueitem.isfilterselected && (
1584
- <div
1585
- class="allcentered"
1586
- style={{
1587
- width: 40,
1588
- height: 40,
1589
- border: '2px solid ' + valueitem.valuename,
1590
- borderRadius: 100,
1591
- }}
1592
- >
1593
- <div
1594
- style={{
1595
- width: 28,
1596
- height: 28,
1597
- background: valueitem.valuename,
1598
- borderRadius: 100,
1599
- boxShadow: '0 0 10px #ccc',
1600
- }}
1601
- ></div>
1602
- </div>
1603
- )}
1604
- {!valueitem.isfilterselected && (
1605
- <div
1606
- style={{
1607
- width: 28,
1608
- height: 28,
1609
- background: valueitem.valuename,
1610
- borderRadius: 100,
1611
- boxShadow: '0 0 10px #ccc',
1612
- }}
1613
- ></div>
1614
- )}
1615
- </div>
1616
- {/* <div class="col-lg-12 p-0 allcentered">
1617
- <p className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '} style={{}}>
1618
- {valueitem.value_identifier}
1619
- </p>
1620
- </div> */}
1621
- </div>
1622
- </div>
1623
- )}
1624
- {item.optionname != 'Color' && (
1625
- <p
1626
- className={' m-0 p-0 '}
1627
- style={{
1628
- color: valueitem.isfilterselected ? sectionproperties.activecat_color : '',
1629
- }}
1630
- >
1631
- {langdetect == 'en' ? valueitem.valuename : valueitem.valuename_ar}
1632
- </p>
1633
- )}
1634
- </li>
1635
- );
1636
- })}
1637
- </ul>
1638
- </div>
1639
- </ul>
1640
- </div>
1641
- </AccordionItemPanel>
1642
- </AccordionItem>
1643
- {/* <hr className="mt-3 mb-3" /> */}
1644
- </>
1645
- );
1646
- })}
1647
- </Accordion>
1648
- );
1649
- };
1650
- const filter_cssstyles = {
1651
- form_control: css({
1652
- position: 'relative',
1653
- display: 'flex',
1654
- alignItems: 'center',
1655
- display: 'block',
1656
- width: '100%',
1657
- padding: '0 30px',
1658
- transition: '.3s',
1659
- fontWeight: 500,
1660
- border: '1px solid #ccc',
1661
- // border: sectionproperties.inputfieldbordertype == 'All' ? sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor : 0,
1662
- // borderBottom: sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor,
1663
- // borderRadius: sectionproperties.inputfieldborderradius + 'px',
1664
- borderRadius: '5px',
1665
- // height: sectionproperties.inputfieldheight + 'px',
1666
- height: '40px',
1667
- background: 'transparent',
1668
- // color: sectionproperties.inputfieldcolor,
1669
- color: '#000',
1670
- // fontSize: sectionproperties.inputfieldfontsize + 'px',
1671
- fontSize: '14px',
1672
- ':focus': {
1673
- // borderColor: sectionproperties.inputfeildbordercoloronfocus,
1674
- borderColor: '#eac435',
1675
- boxShadow: 'none',
1676
- },
1677
- }),
1678
- collapsetitle: css({
1679
- fontSize: sectionproperties.filtertitle_fontsize + 'px',
1680
- fontWeight: sectionproperties.filtertitle_fontweight,
1681
- textTransform: sectionproperties.filtertitle_texttransform,
1682
- color: sectionproperties.filtertitle_color,
1683
- ':hover': {
1684
- color: sectionproperties.filtertitle_coloronhover,
1685
- },
1686
- }),
1687
- titlecontainer: css({
1688
- color: sectionproperties.filtertitle_color,
1689
- ':hover .collapsetitle': {
1690
- color: sectionproperties.filtertitle_coloronhover,
1691
- },
1692
- }),
1693
- timeline_text: css({
1694
- fontSize: sectionproperties.timeline_text_fontsize + 'px',
1695
- fontWeight: sectionproperties.timeline_text_fontweight,
1696
- textTransform: sectionproperties.timeline_text_texttransform,
1697
- color: sectionproperties.timeline_text_color,
1698
- transition: '.3s',
1699
- ':hover': {
1700
- color: sectionproperties.timeline_text_coloronhover,
1701
- },
1702
- }),
1703
- btnstyles: css({
1704
- color: sectionproperties.generalbtn_textColor,
1705
- fontSize: sectionproperties.generalbtn_fontsize + 'px',
1706
- textTransform: sectionproperties.generalbtn_texttransform,
1707
- width: sectionproperties.generalbtn_width + 'px',
1708
- height: sectionproperties.generalbtn_height + 'px',
1709
- background: sectionproperties.generalbtn_bgColor,
1710
- borderTopLeftRadius: sectionproperties.generalbtn_bordertopleftradius + 'px',
1711
- borderTopRightRadius: sectionproperties.generalbtn_bordertoprightradius + 'px',
1712
- borderBottomRightRadius: sectionproperties.generalbtn_borderbottomrightradius + 'px',
1713
- borderBottomLeftRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
1714
- fontWeight: sectionproperties.generalbtn_fontweight,
1715
- transition: '.3s',
1716
- ':hover': {
1717
- background: sectionproperties.generalbtn_bgColoronhover,
1718
- color: sectionproperties.generalbtn_textColoronhover,
1719
- },
1720
- }),
1721
- close_menu_icon_cont: css({
1722
- background: sectionproperties.closeSliderBgColor,
1723
- width: sectionproperties.closeSliderWidth + 'px',
1724
- height: sectionproperties.closeSliderHeight + 'px',
1725
- borderRadius: sectionproperties.closeSlider_borderBottomLeftRadius + 'px',
1726
- ':hover': {
1727
- background: sectionproperties.closeSliderBgColorHover,
1728
- },
1729
- }),
1730
- horizontalfilter_card: css({
1731
- marginBottom: sectionproperties.horizontalfilter_mb + 'px',
1732
- marginTop: sectionproperties.horizontalfilter_mt + 'px',
1733
- background: sectionproperties.horizontalfilter_cardbg,
1734
- border: sectionproperties.horizontalfilter_cardborderwidth + 'px solid ' + sectionproperties.horizontalfilter_cardbordercolor,
1735
- boxShadow: sectionproperties.horizontalfilter_cardboxShadow == 'Show' ? sectionproperties.horizontalfilter_cardboxShadowcolor : 'horizontalfilter_cardboxShadow',
1736
- }),
1737
- btn_item: css({
1738
- width: '15px',
1739
- height: '15px',
1740
- background: sectionproperties.filteritembtn_bgcolor,
1741
- ':hover': {
1742
- background: sectionproperties.filteritembtn_bghover,
1743
- },
1744
- }),
1745
- btn_item_active: css({
1746
- background: sectionproperties.activecat_color,
1747
- }),
1748
- timelineinnercont_active: css({
1749
- fontWeight: sectionproperties.activecat_fontweight,
1750
- color: sectionproperties.activecat_color,
1751
- }),
1752
- categoryName: css({
1753
- color: sectionproperties.filtertitle_color,
1754
- fontWeight: sectionproperties.filterCatFontWeight,
1755
- fontSize: sectionproperties.filterCatFontSize + 'px',
1756
- }),
1757
- pCollectionName: css({
1758
- color: sectionproperties.filtertitle_color,
1759
- fontWeight: sectionproperties.filterPCollFontWeight,
1760
- fontSize: sectionproperties.filterPCollFontSize + 'px',
1761
- }),
1762
- explorebtn: css({
1763
- fontSize: sectionproperties.explorebtnfontsize + 'px',
1764
- fontWeight: 600,
1765
- color: sectionproperties.explorebtncolor,
1766
- transition: '.3s',
1767
- ':hover': {
1768
- color: sectionproperties.explorebtncoloronhover,
1769
- },
1770
- }),
1771
- showallbtn: css({
1772
- color: sectionproperties.showallcolor,
1773
- ':hover': {
1774
- transition: '.3s',
1775
- cursor: 'pointer',
1776
- color: sectionproperties.showallcolorhover,
1777
- },
1778
- }),
1779
- sectiontitle: css({
1780
- position: 'relative',
1781
- justifyContent: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
1782
- width: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '100%' : '',
1783
- fontSize: sectionproperties.sectionTitleFontSize + 'px',
1784
- '@media (max-width: 800px)': {
1785
- fontSize: sectionproperties.sectionTitleFontSizeresp + 'px',
1786
- },
1787
- }),
1788
- filtercard: css({
1789
- minWidth: sectionproperties.filterdirection == 'Collections Vertical' ? '100%' : sectionproperties.filtercardwidth + 'px',
1790
- maxWidth: sectionproperties.filterdirection == 'Collections Vertical' ? '100%' : sectionproperties.filtercardwidth + 'px',
1791
- }),
1792
- filtercardfilter: css({
1793
- minWidth: '100px',
1794
- maxWidth: '100px',
1795
- }),
1796
- filteroptionvertical: css({
1797
- border: sectionproperties.filter_optionborderwidth + 'px solid ' + sectionproperties.filter_optionbordercolor,
1798
- color: sectionproperties.timeline_text_color,
1799
- ':hover': {
1800
- color: sectionproperties.timeline_text_coloronhover,
1801
- },
1802
- // filter_activebackgroundtransparent
1803
- }),
1804
- filteroptionverticalactive: css({
1805
- background: sectionproperties.btn_item_activebgcolor,
1806
- color: sectionproperties.activecat_color,
1807
- }),
1808
- };
1809
- const filterrouting = (tempfetchproductsfilerobjcontext) => {
1810
- const path = window.location.pathname.split('/');
1811
- var currentpagepath = path[1];
1812
- var pagenamepathinstaticpagelinkcont = '';
1813
- for (const key in StaticPagesLinksContext) {
1814
- if (StaticPagesLinksContext[key] == currentpagepath) {
1815
- pagenamepathinstaticpagelinkcont = key;
1816
- }
1817
- }
1818
- if (pagenamepathinstaticpagelinkcont != undefined && pagenamepathinstaticpagelinkcont != '') {
1819
- routingcountext(StaticPagesLinksContext[pagenamepathinstaticpagelinkcont], true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
1820
- }
1821
- };
1822
- const Countriesfilter = () => {
1823
- return (
1824
- <div class="row m-0 w-100 pl-md-3 pr-md-3">
1825
- <div class="col-lg-12 p-0 mt-3">
1826
- <div class="row m-0 w-100">
1827
- <div class="col-lg-12 p-0 mb-3">
1828
- {fetchTabexCountriesQueryContext?.isFetching && (
1829
- <div className="w-100 allcentered mt-1">
1830
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1831
- </div>
1832
- )}
1833
-
1834
- {!fetchTabexCountriesQueryContext?.isFetching && fetchTabexCountriesQueryContext?.isSuccess && (
1835
- <Select
1836
- options={fetchTabexCountriesQueryContext?.data?.data?.countries}
1837
- getOptionLabel={(option) => {
1838
- var crname = '';
1839
- if (langdetect == 'en') {
1840
- crname = option.name;
1841
- } else if (langdetect == 'ar') {
1842
- if (option.name_ar != null) {
1843
- crname = option.name_ar;
1844
- } else {
1845
- crname = option.name;
1846
- }
1847
- }
1848
- return crname;
1849
- }}
1850
- getOptionValue={(option) => option.id}
1851
- value={fetchTabexCountriesQueryContext.data.data.countries.filter((option) => option.id == ProductFilterObjContext.countryid)}
1852
- onChange={(option) => {
1853
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1854
- tempFetchTabexStatesPayloadobjContext.functype = 'states';
1855
- tempFetchTabexStatesPayloadobjContext.country_id = option.id;
1856
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1857
-
1858
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1859
- tempfetchproductsfilerobjcontext.countryid = option.id;
1860
- tempfetchproductsfilerobjcontext.page = 0;
1861
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1862
- filterrouting(tempfetchproductsfilerobjcontext);
1863
- }}
1864
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1865
- placeholder={lang.choosecountry}
1866
- isSearchable={true}
1867
- />
1868
- )}
1869
- </div>
1870
- <div class="col-lg-12 mb-3 p-0">
1871
- {fetchTabexStatesQueryContext?.isFetching && (
1872
- <div className="w-100 allcentered mt-1">
1873
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1874
- </div>
1875
- )}
1876
-
1877
- {!fetchTabexStatesQueryContext?.isFetching && fetchTabexStatesQueryContext?.isSuccess && (
1878
- <Select
1879
- options={fetchTabexStatesQueryContext?.data?.data?.states}
1880
- getOptionLabel={(option) => {
1881
- var crname = '';
1882
- if (langdetect == 'en') {
1883
- crname = option.name;
1884
- } else if (langdetect == 'ar') {
1885
- if (option.name_ar != null) {
1886
- crname = option.name_ar;
1887
- } else {
1888
- crname = option.name;
1889
- }
1890
- }
1891
- return crname;
1892
- }}
1893
- getOptionValue={(option) => option.id}
1894
- value={fetchTabexStatesQueryContext?.data?.data?.states.filter((option) => option.id == ProductFilterObjContext.stateid)}
1895
- onChange={(option) => {
1896
- var tempFetchTabexStatesPayloadobjContext = { ...FetchTabexStatesPayloadobjContext };
1897
- tempFetchTabexStatesPayloadobjContext.functype = 'cities';
1898
- tempFetchTabexStatesPayloadobjContext.state_id = option.id;
1899
- setFetchTabexStatesPayloadobjContext({ ...tempFetchTabexStatesPayloadobjContext });
1900
-
1901
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1902
- tempfetchproductsfilerobjcontext.stateid = option.id;
1903
- tempfetchproductsfilerobjcontext.page = 0;
1904
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1905
- filterrouting(tempfetchproductsfilerobjcontext);
1906
- }}
1907
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1908
- placeholder={lang.choosestategov}
1909
- isSearchable={true}
1910
- />
1911
- )}
1912
- </div>
1913
- <div class="col-lg-12 mb-3 p-0">
1914
- {fetchTabexCitiesQueryContext?.isFetching && (
1915
- <div className="w-100 allcentered mt-1">
1916
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
1917
- </div>
1918
- )}
1919
-
1920
- {!fetchTabexCitiesQueryContext?.isFetching && fetchTabexCitiesQueryContext?.isSuccess && (
1921
- <Select
1922
- options={fetchTabexCitiesQueryContext?.data?.data?.cities}
1923
- getOptionLabel={(option) => {
1924
- var crname = '';
1925
- if (langdetect == 'en') {
1926
- crname = option.name;
1927
- } else if (langdetect == 'ar') {
1928
- if (option.name_ar != null) {
1929
- crname = option.name_ar;
1930
- } else {
1931
- crname = option.name;
1932
- }
1933
- }
1934
- return crname;
1935
- }}
1936
- getOptionValue={(option) => option.id}
1937
- value={fetchTabexCitiesQueryContext?.data?.data?.cities.filter((option) => option.id == ProductFilterObjContext.cityid)}
1938
- onChange={(option) => {
1939
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
1940
- tempfetchproductsfilerobjcontext.cityid = option.id;
1941
- tempfetchproductsfilerobjcontext.page = 0;
1942
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
1943
- filterrouting(tempfetchproductsfilerobjcontext);
1944
- }}
1945
- styles={langdetect == 'en' ? defaultstyles : defaultstylestranslated}
1946
- placeholder={lang.choosecity}
1947
- isSearchable={true}
1948
- />
1949
- )}
1950
- </div>
1951
- </div>
1952
- </div>
1953
- </div>
1954
- );
1955
- };
1956
- const PriceInputRangeFilter = () => {
1957
- return (
1958
- <div class="row m-0 w-100 mb-3 mt-2">
1959
- <div class="col-lg-12 p-0 text-start mb-2">
1960
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
1961
- {langdetect == 'en' ? 'Price' : 'السعر'}
1962
- </p>
1963
- </div>
1964
- <div class={'col-lg-12 pl-3 pr-3 mt-2 mb-2'} style={{ direction: 'ltr' }}>
1965
- <InputRange
1966
- draggableTrack={true}
1967
- formatLabel={(value) => `${value}`}
1968
- // maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
1969
- // minValue={parseInt(sectionproperties.filterpriceminvalue)}
1970
- // maxValue={parseInt(50000)}
1971
- // minValue={parseInt(1)}
1972
- maxValue={parseInt(sectionproperties.filterpricemaxvalue)}
1973
- minValue={parseInt(sectionproperties.filterpriceminvalue)}
1974
- value={price_rangevalue}
1975
- onChange={(value) => {
1976
- // alert(JSON.stringify(value));
1977
- // if (value.min == 0) {
1978
- // value.min = 1;
1979
- // }
1980
- setprice_rangevalue({ ...value });
1981
- }}
1982
- />
1983
- </div>
1984
- <div
1985
- class="col-lg-12 mt-3"
1986
- style={{
1987
- color: '#000',
1988
- fontSize: 15,
1989
- }}
1990
- >
1991
- {langdetect == 'en' ? fetchAuthorizationQueryContext?.data?.data?.currencyname_en : fetchAuthorizationQueryContext?.data?.data?.currencyname_ar} {price_rangevalue.min} -{' '}
1992
- {langdetect == 'en' ? fetchAuthorizationQueryContext?.data?.data?.currencyname_en : fetchAuthorizationQueryContext?.data?.data?.currencyname_ar} {price_rangevalue.max}
1993
- </div>
1994
- </div>
1995
- );
1996
- };
1997
- useEffect(() => {
1998
- if (timeoutRef_price.current !== null) {
1999
- clearTimeout(timeoutRef_price.current);
2000
- }
2001
-
2002
- timeoutRef_price.current = setTimeout(() => {
2003
- if (pricevalue2.min != '' && pricevalue2.max != '') {
2004
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2005
- tempfetchproductsfilerobjcontext.price_min = pricevalue2.min;
2006
- tempfetchproductsfilerobjcontext.price_max = pricevalue2.max;
2007
- tempfetchproductsfilerobjcontext.page = 0;
2008
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2009
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
2010
- }
2011
- }, 500);
2012
- }, [pricevalue2]);
2013
- useEffect(() => {
2014
- if (timeoutRef__range_price.current !== null) {
2015
- clearTimeout(timeoutRef__range_price.current);
2016
- }
2017
-
2018
- timeoutRef__range_price.current = setTimeout(() => {
2019
- if (price_rangevalue.min != '' && price_rangevalue.max != '') {
2020
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2021
- tempfetchproductsfilerobjcontext.price_min = price_rangevalue.min;
2022
- tempfetchproductsfilerobjcontext.price_max = price_rangevalue.max;
2023
- tempfetchproductsfilerobjcontext.page = 0;
2024
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2025
- // routingcountext(StaticPagesLinksContext.GeneralProductsComponent, true, encodeURIComponent(JSON.stringify(tempfetchproductsfilerobjcontext)));
2026
- }
2027
- }, 500);
2028
- }, [price_rangevalue]);
2029
- const PriceFromToFilter = () => {
2030
- return (
2031
- <div class="row m-0 w-100 mb-3 mt-2">
2032
- <div class="col-lg-12 p-0 text-start mb-2">
2033
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
2034
- {langdetect == 'en' ? 'Price' : 'السعر'}
2035
- </p>
2036
- </div>
2037
- <div className={langdetect == 'en' ? 'col-6 pl-0 pr-1' : 'col-6 pr-0 pl-1'}>
2038
- <label className={`${filter_cssstyles.collapsetitle}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'From' : 'من'}</label>
2039
- <input
2040
- type="text"
2041
- value={pricevalue2.min}
2042
- onChange={(event) => {
2043
- var temppricevalue = { ...pricevalue2 };
2044
- temppricevalue.min = event.target.value;
2045
- setpricevalue2({ ...temppricevalue });
2046
- // var temppayloadobj = { ...pricefrom };
2047
- // temppayloadobj = event.target.value;
2048
- // setpricefrom({ ...temppayloadobj });
2049
- }}
2050
- style={{
2051
- background: '#fff',
2052
- border: '1px solid #ccc',
2053
- borderRadius: 5,
2054
- color: '#000',
2055
- height: 35,
2056
- width: '100%',
2057
- paddingLeft: 10,
2058
- paddingRight: 10,
2059
- }}
2060
- />
2061
- </div>
2062
- <div className={langdetect == 'en' ? 'col-6 pr-0 pl-1' : 'col-6 pl-0 pr-1'}>
2063
- <label className={`${filter_cssstyles.collapsetitle}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'To' : 'إلى'}</label>
2064
- <input
2065
- type="text"
2066
- value={pricevalue2.max}
2067
- onChange={(event) => {
2068
- // var temppayloadobj = { ...priceto };
2069
- // temppayloadobj = event.target.value;
2070
- // setpriceto({ ...temppayloadobj });
2071
- var temppricevalue = { ...pricevalue2 };
2072
- temppricevalue.max = event.target.value;
2073
- setpricevalue2({ ...temppricevalue });
2074
- }}
2075
- style={{
2076
- width: '100%',
2077
- background: '#fff',
2078
- border: '1px solid #ccc',
2079
- borderRadius: 5,
2080
- color: '#000',
2081
- height: 35,
2082
- paddingRight: 10,
2083
- paddingLeft: 10,
2084
- }}
2085
- />
2086
- </div>
2087
- </div>
2088
- );
2089
- };
2090
- const ClearFilterButton = () => {
2091
- return (
2092
- <div class="col-lg-12 mb-4">
2093
- <button
2094
- class="w-100 bg-primary bg-secondaryhover"
2095
- style={{
2096
- height: 40,
2097
- borderRadius: 100,
2098
- }}
2099
- onClick={() => {
2100
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2101
- tempfetchproductsfilerobjcontext.FilterOptions = [];
2102
- delete tempfetchproductsfilerobjcontext.price_max;
2103
- delete tempfetchproductsfilerobjcontext.price_min;
2104
- delete tempfetchproductsfilerobjcontext.minrate;
2105
- delete tempfetchproductsfilerobjcontext.maxrate;
2106
- delete tempfetchproductsfilerobjcontext.sortprice;
2107
- delete tempfetchproductsfilerobjcontext.sortdates;
2108
- delete tempfetchproductsfilerobjcontext.prod_featruesar;
2109
-
2110
- tempfetchproductsfilerobjcontext.page = 0;
2111
- // tempfetchproductsfilerobjcontext.collections = [];
2112
-
2113
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2114
- }}
2115
- >
2116
- <p class="m-0 p-0 text-white">{langdetect == 'en' ? 'Clear Filter' : 'حذف'}</p>
2117
- {/* <div className="w-100 allcentered mt-1">
2118
- <CircularProgress color="#000" width="20px" height="20px" duration="1s" />
2119
- </div> */}
2120
- </button>
2121
- </div>
2122
- );
2123
- };
2124
- // const queryParameters = new URLSearchParams(window.location.search);
2125
- // useEffect(() => {
2126
- // // setsortbycontext('Sort By');
2127
- // if (queryParameters.get('sortprice') == undefined) {
2128
- // setsortbycontext('Sort By');
2129
- // } else {
2130
- // var temp = { ...sortbycontext };
2131
- // temp = queryParameters.get('sortprice');
2132
- // alert(temp);
2133
- // }
2134
- // }, []);
2135
- return (
2136
- <div
2137
- // className={sectionproperties.filterdirection == 'Horizontal' ? 'col-lg-12 p-0 w-100 filter mt-md-0 ' : 'col-lg-12 p-0 w-100 filter mt-md-0 d-md-none'}
2138
- className={'row mx-0 p-0 w-100 mt-md-2'}
2139
- style={{ marginTop: sectionproperties.filtersection_mt + 'px', minHeight: sectionproperties.filterminheight == 0 ? 'auto' : sectionproperties.filterminheight + 'vh' }}
2140
- >
2141
- {props.typeprops != 'vertical' && (
2142
- <div
2143
- className={
2144
- sectionproperties.filterdirection == 'Horizontal' || sectionproperties.filterdirection == 'Collections Vertical'
2145
- ? 'col-lg-12 p-0 w-100 filter mt-md-0 '
2146
- : 'col-lg-12 p-0 w-100 filter mt-md-0 d-md-none'
2147
- }
2148
- >
2149
- {/* {sectionproperties.filterdirection == 'Horizontal' && window.location.pathname != '/Portfolio' && (
2150
- <div class="row m-0 w-100">
2151
- <div class="col-lg-12 p-0 mb-4">
2152
-
2153
- <ScrollMenu transitionBehavior={'auto'} wrapperClassName={''} itemClassName={''} scrollContainerClassName={'scrollmenuclasssubscrollbar2'}>
2154
- {collectionstobevisible.map((item, index) => {
2155
- return (
2156
- <div className={' col-xl-12 p-0 col-lg-12 col-md-12 col-sm-12 w-100 mb-2 '}>
2157
- <div
2158
- className={`${filter_cssstyles.timeline_text} ${filter_cssstyles.filtercard}` + ' p-0 cursor-pointer '}
2159
- onClick={() => {
2160
- setCollectionFilterFunc(item.collectionid);
2161
- }}
2162
- style={{
2163
- color: item.isfilterselected == true ? sectionproperties.activecat_color : '',
2164
- }}
2165
- >
2166
- <div class="col-lg-12 allcentered mb-2">
2167
- <div
2168
- style={{
2169
- width: sectionproperties.filterimagewidthheight + '%',
2170
- height: sectionproperties.filterimagewidthheight + '%',
2171
- }}
2172
- >
2173
- <Imagekitimagecomp
2174
- urlEndpoint={ikimagecredcontext?.ikimageendpoint}
2175
- publicKey={ikimagecredcontext?.ikimagepublickey}
2176
- path={'/tr:w-' + sectionproperties.filterimage_tr + ',h-' + sectionproperties.filterimage_h + '/' + item.collectionlogo}
2177
- style={{
2178
- width: '100%',
2179
- height: '100%',
2180
- objectFit: 'cover',
2181
- borderRadius: sectionproperties.filterimageborderradius + 'px',
2182
- }}
2183
- loading="lazy"
2184
- />
2185
- </div>
2186
- </div>
2187
- <div class="row m-0 w-100">
2188
- <div class="col-10 text-start">
2189
- <p class={' m-0 p-0 '}>{langdetect == 'en' ? item.title_en : item.title_ar}</p>
2190
- </div>
2191
- <div class="col-2 text-end">
2192
- <i class="h-100 allcentered">{langdetect == 'en' ? <BsChevronRight /> : <BsChevronRight />}</i>
2193
- </div>
2194
- </div>
2195
- </div>
2196
- </div>
2197
- );
2198
- })}
2199
- </ScrollMenu>
2200
- </div>
2201
- </div>
2202
- )} */}
2203
- {sectionproperties.filterdirection == 'Collections Vertical' && (
2204
- <div class="row m-0 w-100 allcentered mt-md-3">
2205
- {collectionstobevisible.map((item, index) => {
2206
- return (
2207
- <div className={' col-xl-2 col-lg-3 col-md-3 col-sm-4 w-100 mb-2 '}>
2208
- <div
2209
- className={`${filter_cssstyles.timeline_text} ${filter_cssstyles.filtercard}` + ' p-0 cursor-pointer '}
2210
- onClick={() => {
2211
- setCollectionFilterFunc(item.collectionid);
2212
- }}
2213
- style={{
2214
- color: item.isfilterselected == true ? sectionproperties.activecat_color : '',
2215
- }}
2216
- >
2217
- <div class="col-lg-12 allcentered mb-2 p-0">
2218
- <div
2219
- style={{
2220
- width: sectionproperties.filterimagewidthheight + '%',
2221
- height: sectionproperties.filterimagewidthheight + '%',
2222
- }}
2223
- >
2224
- <Imagekitimagecomp
2225
- urlEndpoint={ikimagecredcontext?.ikimageendpoint}
2226
- publicKey={ikimagecredcontext?.ikimagepublickey}
2227
- path={'/tr:w-' + sectionproperties.filterimage_tr + ',h-' + sectionproperties.filterimage_h + '/' + item.collectionlogo}
2228
- style={{
2229
- width: '100%',
2230
- height: '100%',
2231
- objectFit: 'cover',
2232
- borderRadius: sectionproperties.filterimageborderradius + 'px',
2233
- }}
2234
- loading="lazy"
2235
- />
2236
- </div>
2237
- </div>
2238
- <div class="row m-0 w-100">
2239
- <div class="col-10 col-sm-9 text-start">
2240
- <p class={' m-0 p-0 '}>{langdetect == 'en' ? item.title_en : item.title_ar}</p>
2241
- </div>
2242
- <div class="col-2 col-sm-3 text-end">
2243
- <i class="h-100 allcentered">{langdetect == 'en' ? <BsChevronRight /> : <BsChevronRight />}</i>
2244
- </div>
2245
- </div>
2246
- </div>
2247
- </div>
2248
- );
2249
- })}
2250
- </div>
2251
- )}
2252
- {sectionproperties.filterType == 'Title & Sort By Only' && (
2253
- <div
2254
- class="row mx-0 w-100"
2255
- style={{
2256
- marginTop: sectionproperties.sectionTitleMarginTop + 'px',
2257
- marginBottom: sectionproperties.sectiontitledirection == 'Vertical' ? sectionproperties.sectionTitleMarginBottom + 'px' : 0,
2258
- paddingLeft: langdetect == 'en' ? sectionproperties.sectionTitleMarginLeft + 'px' : sectionproperties.sectionTitleMarginRight + 'px',
2259
- paddingRight: langdetect == 'en' ? sectionproperties.sectionTitleMarginRight + 'px' : sectionproperties.sectionTitleMarginLeft + 'px',
2260
- }}
2261
- >
2262
- <div class="col-lg-6 col-md-6 p-0 d-flex align-items-center justify-content-start">
2263
- <div class={filter_cssstyles.sectiontitle + ' d-flex align-items-center flex-row '} style={{}}>
2264
- <p
2265
- class={
2266
- sectionproperties.sectiontitlefontfamily == 'Pacifico'
2267
- ? ' PacificoFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
2268
- : sectionproperties.sectiontitlefontfamily == 'Playfair'
2269
- ? ' PlayfairFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
2270
- : sectionproperties.sectiontitlefontfamily == 'Great Vibes'
2271
- ? ' GreatvibesFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
2272
- : sectionproperties.sectiontitlefontfamily == 'Quicksand'
2273
- ? ' QuicksandFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
2274
- : sectionproperties.sectiontitlefontfamily == 'Satisfy'
2275
- ? ' SatisfyFont mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
2276
- : sectionproperties.sectiontitlefontfamily == 'ASUL'
2277
- ? ' ASUL mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
2278
- : ' mb-auto mb-0 pb-0 wordbreak d-flex align-items-center justify-content-start '
2279
- }
2280
- style={{
2281
- color: sectionproperties.sectionTitleColor,
2282
- fontWeight: sectionproperties.sectionTitleFontWeight,
2283
- paddingLeft: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '12px' : 0,
2284
- paddingRight: sectionproperties.sectiontitlestyle == 'Line Before Text' ? '12px' : 0,
2285
- textAlign: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
2286
- }}
2287
- >
2288
- {langdetect == 'en' ? sectionproperties.sectionTitleContent : sectionproperties.sectionTitleContent_ar}
2289
- </p>
2290
- </div>
2291
- </div>
2292
- <div
2293
- class="col-lg-6 col-md-6 d-flex align-items-center justify-content-end"
2294
- style={{
2295
- paddingRight: langdetect == 'en' ? 0 : '',
2296
- paddingLeft: langdetect == 'ar' ? 0 : '',
2297
- }}
2298
- >
2299
- <div class="dropdowncontainer">
2300
- <input class={filter_cssstyles.dropdown + ' dropdown '} type="checkbox" checked={checked} id="dropdown" name="dropdown" hidden />
2301
- <label
2302
- onClick={() => {
2303
- setChecked(!checked);
2304
- }}
2305
- className={filter_cssstyles.collapsetitle + ' d-flex justify-content-end align-items-center for-dropdown m-0 '}
2306
- for="dropdown"
2307
- style={{ cursor: 'pointer' }}
2308
- >
2309
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}{' '}
2310
- <i class={langdetect == 'en' ? 'h-100 allcentered ml-3' : 'h-100 allcentered mr-3'}>
2311
- <FiChevronDown size={20} />
2312
- </i>
2313
- </label>
2314
-
2315
- <div
2316
- class="dropdownmenu"
2317
- style={{
2318
- background: sectionproperties.filter_backgroundcolor,
2319
- }}
2320
- >
2321
- {otherfilters.map((item, index) => {
2322
- return (
2323
- <div class="w-100">
2324
- {item.filterarray.map((valueitem, valueindex) => {
2325
- var ischecked = false;
2326
- if (item.payloadvalue == 'sortprice') {
2327
- if (valueitem.value == ProductFilterObjContext.sortprice) {
2328
- ischecked = true;
2329
- }
2330
- } else if (item.payloadvalue == 'sortdates') {
2331
- if (valueitem.value == ProductFilterObjContext.sortdates) {
2332
- ischecked = true;
2333
- }
2334
- }
2335
- return (
2336
- <p
2337
- class={filter_cssstyles.timeline_text + ' dropdownlink '}
2338
- style={{ color: ischecked ? sectionproperties.activecat_color : '' }}
2339
- onClick={() => {
2340
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2341
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
2342
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
2343
- } else {
2344
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
2345
- }
2346
- tempfetchproductsfilerobjcontext.page = 0;
2347
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2348
-
2349
- filterrouting(tempfetchproductsfilerobjcontext);
2350
- setsortbycontext(valueitem.name);
2351
- }}
2352
- >
2353
- {valueitem.name}
2354
- </p>
2355
- );
2356
- })}
2357
- </div>
2358
- );
2359
- })}
2360
- </div>
2361
- </div>
2362
- </div>
2363
- </div>
2364
- )}
2365
-
2366
- {sectionproperties.filterType != 'Title & Sort By Only' && sectionproperties.filterdirection == 'Vertical' && (
2367
- <div
2368
- className={`${filterstyles.filterslider_container}` + ' pb-md-5 '}
2369
- id="filterslider"
2370
- style={{
2371
- background: sectionproperties.filter_backgroundcolor,
2372
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2373
- }}
2374
- >
2375
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
2376
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
2377
- <p
2378
- className="m-0 p-0 font-16 font-weight-600"
2379
- style={{
2380
- color: sectionproperties.filter_titlecolor,
2381
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2382
- fontWeight: sectionproperties.filter_titlefontweight,
2383
- textTransform: sectionproperties.filter_titletextransform,
2384
- }}
2385
- >
2386
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
2387
- </p>
2388
- </div>
2389
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
2390
- <div
2391
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
2392
- onClick={() => {
2393
- var element = document.getElementById('filterslider');
2394
- element.classList.remove(filterstyles.filterslider_container_opened);
2395
- }}
2396
- >
2397
- <i className="h-100 d-flex align-items-center justify-content-center">
2398
- <IoMdClose
2399
- size={sectionproperties.closeSlider_fontSize}
2400
- style={{
2401
- color: sectionproperties.closeSlider_color,
2402
- }}
2403
- />
2404
- </i>
2405
- </div>
2406
- </div>
2407
- {sectionproperties.otherfilters == 'Show' && (
2408
- <div class="row m-0 w-100">
2409
- <div class="col-lg-12 d-flex justify-content-start">
2410
- <p
2411
- className="m-0 p-0 font-16 font-weight-600"
2412
- style={{
2413
- color: sectionproperties.filter_titlecolor,
2414
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2415
- fontWeight: sectionproperties.filter_titlefontweight,
2416
- textTransform: sectionproperties.filter_titletextransform,
2417
- }}
2418
- >
2419
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}
2420
- </p>
2421
- </div>
2422
- <div className="col-lg-12">
2423
- <hr className="mt-2 mb-3" />
2424
- </div>
2425
- {otherfilters.map((item, index) => {
2426
- return (
2427
- <div className="col-lg-12 pl-4 pr-4">
2428
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
2429
- <AccordionItem uuid={index}>
2430
- <AccordionItemHeading>
2431
- <AccordionItemButton>
2432
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2433
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
2434
- <p
2435
- className={
2436
- langdetect == 'en'
2437
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
2438
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
2439
- }
2440
- >
2441
- {item.name}
2442
- </p>
2443
- </div>
2444
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
2445
- <AccordionItemState>
2446
- {(state) => {
2447
- if (state.expanded == true) {
2448
- return (
2449
- <i
2450
- className={
2451
- filter_cssstyles.collapsetitle +
2452
- ' collapsetitle h-100 d-flex align-items-center justify-content-end '
2453
- }
2454
- >
2455
- <FiChevronUp />
2456
- </i>
2457
- );
2458
- } else {
2459
- return (
2460
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
2461
- <FiChevronDown />
2462
- </i>
2463
- );
2464
- }
2465
- }}
2466
- </AccordionItemState>
2467
- </div>
2468
- </div>
2469
- </AccordionItemButton>
2470
- </AccordionItemHeading>
2471
- <AccordionItemPanel className="p-0">
2472
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
2473
- <div className={'col-lg-12'}>
2474
- <div
2475
- className={
2476
- langdetect == 'en'
2477
- ? `${filterstyles.timeline}` + ' p-sm-0 '
2478
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
2479
- }
2480
- >
2481
- {item.filterarray.map((valueitem, valueindex) => {
2482
- var ischecked = false;
2483
- if (item.payloadvalue == 'sortprice') {
2484
- if (valueitem.value == ProductFilterObjContext.sortprice) {
2485
- ischecked = true;
2486
- }
2487
- } else if (item.payloadvalue == 'sortdates') {
2488
- if (valueitem.value == ProductFilterObjContext.sortdates) {
2489
- ischecked = true;
2490
- }
2491
- }
2492
- return (
2493
- <div
2494
- className={
2495
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
2496
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
2497
-
2498
- ` + ' d-flex align-items-center pb-3 '
2499
- }
2500
- onClick={() => {
2501
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2502
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
2503
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
2504
- } else {
2505
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
2506
- }
2507
- tempfetchproductsfilerobjcontext.page = 0;
2508
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2509
-
2510
- filterrouting(tempfetchproductsfilerobjcontext);
2511
- }}
2512
- >
2513
- <div>
2514
- <div
2515
- className={
2516
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
2517
- filter_cssstyles.btn_item
2518
- }` + ' d-flex align-items-center '
2519
- }
2520
- >
2521
- <i className="h-100 d-flex align-items-center"></i>
2522
- </div>
2523
- </div>
2524
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
2525
- <p
2526
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
2527
- style={{
2528
- color: ischecked ? sectionproperties.activecat_color : '',
2529
- }}
2530
- >
2531
- {valueitem.name}
2532
- </p>
2533
- </div>
2534
- </div>
2535
- );
2536
- })}
2537
- </div>
2538
- </div>
2539
- </div>
2540
- </AccordionItemPanel>
2541
- </AccordionItem>
2542
- </Accordion>
2543
- </div>
2544
- );
2545
- })}
2546
- {sectionproperties.showfilterbyrating == 'Show' && (
2547
- <div className="col-lg-12 pl-4 pr-4">
2548
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2549
- <div className="col-lg-12 col-md-12 col-sm-12 p-0 mb-3">
2550
- <p
2551
- className={
2552
- langdetect == 'en'
2553
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
2554
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
2555
- }
2556
- >
2557
- {langdetect == 'en' ? 'Ratings' : 'التقييمات'}
2558
- </p>
2559
- </div>
2560
- <div className="col-lg-12 col-md-12 col-sm-12 mb-4">
2561
- <InputRange
2562
- draggableTrack={true}
2563
- formatLabel={(value) => `${value}`}
2564
- maxValue={5}
2565
- minValue={0}
2566
- value={raterangevalue}
2567
- onChange={(value) => {
2568
- setraterangevalue({ ...value });
2569
- }}
2570
- />
2571
- </div>
2572
- </div>
2573
- </div>
2574
- )}
2575
- </div>
2576
- )}
2577
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center d-md-none">
2578
- <p
2579
- className="m-0 p-0 font-16 font-weight-600"
2580
- style={{
2581
- color: sectionproperties.filter_titlecolor,
2582
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2583
- fontWeight: sectionproperties.filter_titlefontweight,
2584
- textTransform: sectionproperties.filter_titletextransform,
2585
- }}
2586
- >
2587
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
2588
- </p>
2589
- </div>
2590
- <div className="col-lg-3 col-md-3 col-sm-3 d-flex d-md-none align-items-center justify-content-end p-0">
2591
- <div
2592
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
2593
- onClick={() => {
2594
- var element = document.getElementById('filterslider');
2595
- element.classList.remove(filterstyles.filterslider_container_opened);
2596
- }}
2597
- >
2598
- <i className="h-100 d-flex align-items-center justify-content-center">
2599
- <IoMdClose
2600
- size={sectionproperties.closeSlider_fontSize}
2601
- style={{
2602
- color: sectionproperties.closeSlider_color,
2603
- }}
2604
- />
2605
- </i>
2606
- </div>
2607
- </div>
2608
- <div className="col-lg-12">
2609
- <hr className="mt-2 mb-3" />
2610
- </div>
2611
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 pl-4 pr-4 '}>
2612
- {sectionproperties.showpricefilterfromto == 'Show' && PriceFromToFilter()}
2613
-
2614
- {sectionproperties.showpricerangefilter == 'Show' && PriceInputRangeFilter()}
2615
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
2616
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
2617
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CollectionsFilter()}</div>}
2618
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100">{DynamicFilter()}</div>}
2619
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
2620
- {sectionproperties.showvendorfilter == 'Show' && VendorsFilter()}
2621
- {sectionproperties.showclearfilter == 'Show' && ClearFilterButton()}
2622
- </div>
2623
- </div>
2624
- </div>
2625
- )}
2626
- <div className="col-lg-12">
2627
- <Offcanvas
2628
- show={props?.openFilterSlider}
2629
- onHide={() => {
2630
- props.setopenFilterSlider(false);
2631
- }}
2632
- placement="end"
2633
- scroll={true}
2634
- style={{
2635
- minWidth: '200px',
2636
- background: sectionproperties.filter_backgroundcolor,
2637
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2638
- }}
2639
- backdrop={true}
2640
- >
2641
- <Offcanvas.Header>
2642
- <Offcanvas.Title>
2643
- <div className="row m-0 w-100 mt-2">
2644
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
2645
- <p
2646
- className="m-0 p-0 font-16 font-weight-600"
2647
- style={{
2648
- color: sectionproperties.filter_titlecolor,
2649
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2650
- fontWeight: sectionproperties.filter_titlefontweight,
2651
- textTransform: sectionproperties.filter_titletextransform,
2652
- }}
2653
- >
2654
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
2655
- </p>
2656
- </div>
2657
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
2658
- <div
2659
- className={
2660
- `${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '
2661
- }
2662
- onClick={() => {
2663
- props.setopenFilterSlider(false);
2664
- }}
2665
- >
2666
- <i className="h-100 d-flex align-items-center justify-content-center">
2667
- <IoMdClose
2668
- size={sectionproperties.closeSlider_fontSize}
2669
- style={{
2670
- color: sectionproperties.closeSlider_color,
2671
- }}
2672
- />
2673
- </i>
2674
- </div>
2675
- </div>
2676
- <div class="col-lg-12 p-0">
2677
- <hr class="mt-2 mb-2" />
2678
- </div>
2679
- </div>
2680
- </Offcanvas.Title>
2681
- </Offcanvas.Header>
2682
- <Offcanvas.Body>
2683
- <div
2684
- className={' pb-md-5 '}
2685
- style={{
2686
- background: sectionproperties.filter_backgroundcolor,
2687
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2688
- }}
2689
- >
2690
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
2691
- {sectionproperties.otherfilters == 'Show' &&
2692
- otherfilters.map((item, index) => {
2693
- return (
2694
- <>
2695
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
2696
- <AccordionItem uuid={index}>
2697
- <AccordionItemHeading>
2698
- <AccordionItemButton>
2699
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2700
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
2701
- <p
2702
- className={
2703
- langdetect == 'en'
2704
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 '
2705
- : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'
2706
- }
2707
- >
2708
- {item.name}
2709
- </p>
2710
- </div>
2711
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
2712
- <AccordionItemState>
2713
- {(state) => {
2714
- if (state.expanded == true) {
2715
- return (
2716
- <i
2717
- className={
2718
- filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '
2719
- }
2720
- >
2721
- <FiChevronUp />
2722
- </i>
2723
- );
2724
- } else {
2725
- return (
2726
- <i
2727
- className={
2728
- filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '
2729
- }
2730
- >
2731
- <FiChevronDown />
2732
- </i>
2733
- );
2734
- }
2735
- }}
2736
- </AccordionItemState>
2737
- </div>
2738
- </div>
2739
- </AccordionItemButton>
2740
- </AccordionItemHeading>
2741
- <AccordionItemPanel className="p-0">
2742
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
2743
- <div className={'col-lg-12'}>
2744
- <div
2745
- className={
2746
- langdetect == 'en'
2747
- ? `${filterstyles.timeline}` + ' p-sm-0 '
2748
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
2749
- }
2750
- >
2751
- {item.filterarray.map((valueitem, valueindex) => {
2752
- var ischecked = false;
2753
- if (item.payloadvalue == 'sortprice') {
2754
- if (valueitem.value == ProductFilterObjContext.sortprice) {
2755
- ischecked = true;
2756
- }
2757
- } else if (item.payloadvalue == 'sortdates') {
2758
- if (valueitem.value == ProductFilterObjContext.sortdates) {
2759
- ischecked = true;
2760
- }
2761
- }
2762
- return (
2763
- <div
2764
- className={
2765
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${
2766
- filter_cssstyles.timelineinnercont
2767
- }
2768
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
2769
-
2770
- ` + ' d-flex align-items-center pb-3 '
2771
- }
2772
- onClick={() => {
2773
- // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
2774
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2775
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
2776
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
2777
- } else {
2778
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
2779
- }
2780
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2781
- }}
2782
- >
2783
- <div>
2784
- <div
2785
- className={
2786
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
2787
- filter_cssstyles.btn_item
2788
- }` + ' d-flex align-items-center '
2789
- }
2790
- >
2791
- <i className="h-100 d-flex align-items-center"></i>
2792
- </div>
2793
- </div>
2794
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
2795
- <p
2796
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
2797
- style={{
2798
- color: ischecked ? sectionproperties.activecat_color : '',
2799
- }}
2800
- >
2801
- {valueitem.name}
2802
- </p>
2803
- </div>
2804
- </div>
2805
- );
2806
- })}
2807
- </div>
2808
- </div>
2809
- </div>
2810
- </AccordionItemPanel>
2811
- </AccordionItem>
2812
- </Accordion>
2813
- {/* <hr className="mt-3 mb-3" /> */}
2814
- </>
2815
- );
2816
- })}
2817
- {sectionproperties.otherfilters == 'Show' && (
2818
- <div className="col-lg-12 p-0">
2819
- <hr className="mt-2 mb-3" />
2820
- </div>
2821
- )}
2822
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 '}>
2823
- {sectionproperties.showpricefilterfromto == 'Show' && <div class="row m-0 w-100 px-3"> {PriceFromToFilter()}</div>}
2824
-
2825
- {sectionproperties.showpricerangefilter == 'Show' && <div class="row m-0 w-100 px-3">{PriceInputRangeFilter()}</div>}
2826
-
2827
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
2828
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
2829
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && (
2830
- <div class="row m-0 w-100">{CollectionsFilter()}</div>
2831
- )}
2832
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100">{DynamicFilter()}</div>}
2833
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
2834
- {sectionproperties.showvendorfilter == 'Show' && VendorsFilter()}
2835
- </div>
2836
- </div>
2837
- {sectionproperties.showclearfilter == 'Show' && ClearFilterButton()}
2838
- </div>
2839
- </Offcanvas.Body>
2840
- </Offcanvas>
2841
- </div>
2842
- </div>
2843
- )}
2844
-
2845
- {props.typeprops == 'vertical' && (
2846
- <div className={'col-lg-12 p-0 w-100 filter mt-md-0 d-md-none'}>
2847
- <div
2848
- className={`${filterstyles.filterslider_container}` + ' pb-md-5 '}
2849
- id="filterslider"
2850
- style={{
2851
- background: sectionproperties.filter_backgroundcolor,
2852
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
2853
- }}
2854
- >
2855
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
2856
- <div className="col-lg-9 col-md-9 col-sm-9 d-none align-items-center d-md-flex">
2857
- <p
2858
- className="m-0 p-0 font-16 font-weight-600"
2859
- style={{
2860
- color: sectionproperties.filter_titlecolor,
2861
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2862
- fontWeight: sectionproperties.filter_titlefontweight,
2863
- textTransform: sectionproperties.filter_titletextransform,
2864
- }}
2865
- >
2866
- {langdetect == 'en' ? 'Filter' : 'فلترة'}
2867
- </p>
2868
- </div>
2869
- <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
2870
- <div
2871
- className={`${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '}
2872
- onClick={() => {
2873
- var element = document.getElementById('filterslider');
2874
- element.classList.remove(filterstyles.filterslider_container_opened);
2875
- }}
2876
- >
2877
- <i className="h-100 d-flex align-items-center justify-content-center">
2878
- <IoMdClose
2879
- size={sectionproperties.closeSlider_fontSize}
2880
- style={{
2881
- color: sectionproperties.closeSlider_color,
2882
- }}
2883
- />
2884
- </i>
2885
- </div>
2886
- </div>
2887
-
2888
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 pl-4 pr-4 '}>
2889
- {sectionproperties.otherfilters == 'Show' && (
2890
- <div class="row m-0 w-100">
2891
- <div class="col-lg-12 d-flex justify-content-start p-0">
2892
- <p
2893
- className="m-0 p-0 font-16 font-weight-600"
2894
- style={{
2895
- color: sectionproperties.filter_titlecolor,
2896
- fontSize: sectionproperties.filter_titlefontsize + 'px',
2897
- fontWeight: sectionproperties.filter_titlefontweight,
2898
- textTransform: sectionproperties.filter_titletextransform,
2899
- }}
2900
- >
2901
- {langdetect == 'en' ? 'Sort By' : 'ترتيب حسب'}
2902
- </p>
2903
- </div>
2904
- <div className="col-lg-12">
2905
- <hr className="mt-2 mb-3" />
2906
- </div>
2907
- {otherfilters.map((item, index) => {
2908
- return (
2909
- <div className="col-lg-12 p-0">
2910
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
2911
- <AccordionItem uuid={index}>
2912
- <AccordionItemHeading>
2913
- <AccordionItemButton>
2914
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
2915
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
2916
- <p
2917
- className={
2918
- langdetect == 'en'
2919
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
2920
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
2921
- }
2922
- >
2923
- {item.name}
2924
- </p>
2925
- </div>
2926
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
2927
- <AccordionItemState>
2928
- {(state) => {
2929
- if (state.expanded == true) {
2930
- return (
2931
- <i
2932
- className={
2933
- filter_cssstyles.collapsetitle +
2934
- ' collapsetitle h-100 d-flex align-items-center justify-content-end '
2935
- }
2936
- >
2937
- <FiChevronUp />
2938
- </i>
2939
- );
2940
- } else {
2941
- return (
2942
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
2943
- <FiChevronDown />
2944
- </i>
2945
- );
2946
- }
2947
- }}
2948
- </AccordionItemState>
2949
- </div>
2950
- </div>
2951
- </AccordionItemButton>
2952
- </AccordionItemHeading>
2953
- <AccordionItemPanel className="p-0">
2954
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
2955
- <div className={'col-lg-12'}>
2956
- <div
2957
- className={
2958
- langdetect == 'en'
2959
- ? `${filterstyles.timeline}` + ' p-sm-0 '
2960
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
2961
- }
2962
- >
2963
- {item.filterarray.map((valueitem, valueindex) => {
2964
- var ischecked = false;
2965
- if (item.payloadvalue == 'sortprice') {
2966
- if (valueitem.value == ProductFilterObjContext.sortprice) {
2967
- ischecked = true;
2968
- }
2969
- } else if (item.payloadvalue == 'sortdates') {
2970
- if (valueitem.value == ProductFilterObjContext.sortdates) {
2971
- ischecked = true;
2972
- }
2973
- }
2974
- return (
2975
- <div
2976
- className={
2977
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${filter_cssstyles.timelineinnercont}
2978
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
2979
-
2980
- ` + ' d-flex align-items-center pb-3 '
2981
- }
2982
- onClick={() => {
2983
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
2984
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
2985
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
2986
- } else {
2987
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
2988
- }
2989
- tempfetchproductsfilerobjcontext.page = 0;
2990
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
2991
-
2992
- filterrouting(tempfetchproductsfilerobjcontext);
2993
- }}
2994
- >
2995
- <div>
2996
- <div
2997
- className={
2998
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
2999
- filter_cssstyles.btn_item
3000
- }` + ' d-flex align-items-center '
3001
- }
3002
- >
3003
- <i className="h-100 d-flex align-items-center"></i>
3004
- </div>
3005
- </div>
3006
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
3007
- <p
3008
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
3009
- style={{
3010
- color: ischecked ? sectionproperties.activecat_color : '',
3011
- }}
3012
- >
3013
- {valueitem.name}
3014
- </p>
3015
- </div>
3016
- </div>
3017
- );
3018
- })}
3019
- </div>
3020
- </div>
3021
- </div>
3022
- </AccordionItemPanel>
3023
- </AccordionItem>
3024
- </Accordion>
3025
- </div>
3026
- );
3027
- })}
3028
- {sectionproperties.showfilterbyrating == 'Show' && (
3029
- <div className="col-lg-12 pl-4 pr-4">
3030
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
3031
- <div className="col-lg-12 col-md-12 col-sm-12 p-0 mb-3">
3032
- <p
3033
- className={
3034
- langdetect == 'en'
3035
- ? filter_cssstyles.collapsetitle + ' m-0 p-0 collapsetitle '
3036
- : filter_cssstyles.collapsetitle + ' collapsetitle m-0 p-0 text-right'
3037
- }
3038
- >
3039
- {langdetect == 'en' ? 'Ratings' : 'التقييمات'}
3040
- </p>
3041
- </div>
3042
- <div className="col-lg-12 col-md-12 col-sm-12 mb-4">
3043
- <InputRange
3044
- draggableTrack={true}
3045
- formatLabel={(value) => `${value}`}
3046
- maxValue={5}
3047
- minValue={0}
3048
- value={raterangevalue}
3049
- onChange={(value) => {
3050
- setraterangevalue({ ...value });
3051
- }}
3052
- />
3053
- </div>
3054
- </div>
3055
- </div>
3056
- )}
3057
- </div>
3058
- )}
3059
- {/* FROM TO FILTER */}
3060
- {sectionproperties.showpricefilterfromto == 'Show' && PriceFromToFilter()}
3061
- {/* PRICE RANGE FILTER */}
3062
- {sectionproperties.showpricerangefilter == 'Show' && PriceInputRangeFilter()}
3063
- {/* */}
3064
-
3065
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
3066
- {sectionproperties.showvariantsfilter == 'Show' && InstFilters()}
3067
- {/* {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100 mb-3">{CategoriesFilter()}</div>}
3068
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100 mb-3">{CollectionsFilter()}</div>} */}
3069
- {/* showvendorfilter */}
3070
-
3071
- {sectionproperties.showdynamicfilter == 'Show' && <div class="row m-0 w-100 mb-3">{DynamicFilter()}</div>}
3072
- {sectionproperties.showclearfilter == 'Show' && ClearFilterButton()}
3073
- </div>
3074
- </div>
3075
- </div>
3076
-
3077
- <div className="col-lg-12">
3078
- <Offcanvas
3079
- show={props?.openFilterSlider}
3080
- onHide={() => {
3081
- props.setopenFilterSlider(false);
3082
- }}
3083
- placement="end"
3084
- scroll={true}
3085
- style={{
3086
- minWidth: '200px',
3087
- background: sectionproperties.filter_backgroundcolor,
3088
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
3089
- }}
3090
- backdrop={true}
3091
- >
3092
- <Offcanvas.Header>
3093
- <Offcanvas.Title>
3094
- {langdetect == 'en' && (
3095
- <div
3096
- class="allcentered"
3097
- style={{
3098
- position: 'absolute',
3099
- left: -34,
3100
- top: 5,
3101
- width: 30,
3102
- height: 30,
3103
- background: '#000',
3104
- }}
3105
- onClick={() => {
3106
- props.setopenFilterSlider(false);
3107
- }}
3108
- >
3109
- <IoMdClose color={'#fff'} size={16} />
3110
- </div>
3111
- )}
3112
- {langdetect == 'ar' && (
3113
- <div
3114
- class="allcentered"
3115
- style={{
3116
- position: 'absolute',
3117
- right: -34,
3118
- top: 5,
3119
- width: 30,
3120
- height: 30,
3121
- background: '#000',
3122
- }}
3123
- onClick={() => {
3124
- props.setopenFilterSlider(false);
3125
- }}
3126
- >
3127
- <IoMdClose color={'#fff'} size={16} />
3128
- </div>
3129
- )}
3130
- <div className="row m-0 w-100 mt-2">
3131
- <div className="col-12 d-none justify-content-center align-items-center d-md-flex my-2">
3132
- <p
3133
- className="m-0 p-0 font-16 font-weight-600"
3134
- style={{
3135
- color: sectionproperties.filter_titlecolor,
3136
- fontSize: sectionproperties.filter_titlefontsize + 'px',
3137
- fontWeight: sectionproperties.filter_titlefontweight,
3138
- textTransform: sectionproperties.filter_titletextransform,
3139
- }}
3140
- >
3141
- {langdetect == 'en' ? 'Filter & Sort' : 'فلترة'}
3142
- </p>
3143
- </div>
3144
- {/* <div className="col-lg-3 col-md-3 col-sm-3 d-none d-md-flex align-items-center justify-content-end p-0">
3145
- <div
3146
- className={
3147
- `${filterstyles.close_menu_icon_cont} ${filter_cssstyles.close_menu_icon_cont}` + ' d-none d-md-flex align-items-center justify-content-center '
3148
- }
3149
- onClick={() => {
3150
- props.setopenFilterSlider(false);
3151
- }}
3152
- >
3153
- <i className="h-100 d-flex align-items-center justify-content-center">
3154
- <IoMdClose
3155
- size={sectionproperties.closeSlider_fontSize}
3156
- style={{
3157
- color: sectionproperties.closeSlider_color,
3158
- }}
3159
- />
3160
- </i>
3161
- </div>
3162
- </div> */}
3163
- <div class="col-lg-12 p-0">
3164
- <hr class="mt-2 mb-2" />
3165
- </div>
3166
- </div>
3167
- </Offcanvas.Title>
3168
- </Offcanvas.Header>
3169
- <Offcanvas.Body>
3170
- <div
3171
- className={' pb-md-5 '}
3172
- style={{
3173
- background: sectionproperties.filter_backgroundcolor,
3174
- borderRadius: sectionproperties.filter_borderBottomLeftRadius + 'px',
3175
- }}
3176
- >
3177
- <div className={filter_cssstyles.filteraccordion + ' row m-0 w-100 pt-2 pb-3 filter-accordion '}>
3178
- {/* {sectionproperties.otherfilters == 'Show' &&
3179
- otherfilters.map((item, index) => {
3180
- return (
3181
- <> */}
3182
- {sectionproperties.otherfilters == 'Show' && (
3183
- <Accordion allowMultipleExpanded={true} allowZeroExpanded={true} preExpanded={[0, 1, 2, 3]} style={{ width: '100%' }}>
3184
- <AccordionItem uuid={0}>
3185
- <AccordionItemHeading>
3186
- <AccordionItemButton>
3187
- <div className={filter_cssstyles.titlecontainer + ' row m-0 p-0 mb-2 pl-md-3 pr-md-3 '}>
3188
- <div className="col-lg-10 col-md-10 col-sm-10 p-0">
3189
- <p
3190
- className={
3191
- langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'
3192
- }
3193
- >
3194
- {lang.sortby}
3195
- </p>
3196
- </div>
3197
- <div className="col-lg-2 col-md-2 col-sm-2 p-0">
3198
- <AccordionItemState>
3199
- {(state) => {
3200
- if (state.expanded == true) {
3201
- return (
3202
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
3203
- <FiChevronUp />
3204
- </i>
3205
- );
3206
- } else {
3207
- return (
3208
- <i className={filter_cssstyles.collapsetitle + ' h-100 d-flex align-items-center justify-content-end '}>
3209
- <FiChevronDown />
3210
- </i>
3211
- );
3212
- }
3213
- }}
3214
- </AccordionItemState>
3215
- </div>
3216
- </div>
3217
- </AccordionItemButton>
3218
- </AccordionItemHeading>
3219
- <AccordionItemPanel className="p-0">
3220
- <div className="row mt-0 mb-2 ml-0 mr-0 d-lg-flex">
3221
- <div className={'col-lg-12'}>
3222
- <div
3223
- className={
3224
- langdetect == 'en'
3225
- ? `${filterstyles.timeline}` + ' p-sm-0 '
3226
- : `${filterstyles.timeline} ${filterstyles.timelinetrans}` + ' p-sm-0 '
3227
- }
3228
- >
3229
- {otherfilters.map((item, index) => {
3230
- return (
3231
- <div class="w-100 px-3">
3232
- {item.filterarray.map((valueitem, valueindex) => {
3233
- var ischecked = false;
3234
- if (item.payloadvalue == 'sortprice') {
3235
- if (valueitem.value == ProductFilterObjContext.sortprice) {
3236
- ischecked = true;
3237
- }
3238
- } else if (item.payloadvalue == 'sortdates') {
3239
- if (valueitem.value == ProductFilterObjContext.sortdates) {
3240
- ischecked = true;
3241
- }
3242
- }
3243
- return (
3244
- <div
3245
- className={
3246
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${
3247
- filter_cssstyles.timelineinnercont
3248
- }
3249
- ${
3250
- ischecked
3251
- ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}`
3252
- : ''
3253
- }
3254
- ` + ' d-flex align-items-center pb-3 '
3255
- }
3256
- onClick={() => {
3257
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
3258
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
3259
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
3260
- } else {
3261
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
3262
- }
3263
- tempfetchproductsfilerobjcontext.page = 0;
3264
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
3265
-
3266
- filterrouting(tempfetchproductsfilerobjcontext);
3267
- setsortbycontext(valueitem.name);
3268
- }}
3269
- >
3270
- <div
3271
- className={
3272
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
3273
- filter_cssstyles.btn_item
3274
- }` + ' d-flex align-items-center '
3275
- }
3276
- >
3277
- <i className="h-100 d-flex align-items-center"></i>
3278
- </div>
3279
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
3280
- <p
3281
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
3282
- style={{
3283
- color: ischecked ? sectionproperties.activecat_color : '',
3284
- }}
3285
- >
3286
- {valueitem.name}
3287
- </p>
3288
- </div>
3289
- </div>
3290
- );
3291
- })}
3292
- </div>
3293
- );
3294
- })}
3295
- {/* {item.filterarray.map((valueitem, valueindex) => {
3296
- var ischecked = false;
3297
- if (item.payloadvalue == 'sortprice') {
3298
- if (valueitem.value == ProductFilterObjContext.sortprice) {
3299
- ischecked = true;
3300
- }
3301
- } else if (item.payloadvalue == 'sortdates') {
3302
- if (valueitem.value == ProductFilterObjContext.sortdates) {
3303
- ischecked = true;
3304
- }
3305
- }
3306
- return (
3307
- <div
3308
- className={
3309
- `${filterstyles.border_left_line} ${filterstyles.timelineinnercont} ${
3310
- filter_cssstyles.timelineinnercont
3311
- }
3312
- ${ischecked ? `${filter_cssstyles.timelineinnercont_active} ${filterstyles.timelineinnercont_active}` : ''}
3313
-
3314
- ` + ' d-flex align-items-center pb-3 '
3315
- }
3316
- onClick={() => {
3317
- // setfilterfunc(valueitem.valueid, valueindex, index, 'assign');
3318
- var tempfetchproductsfilerobjcontext = { ...ProductFilterObjContext };
3319
- if (tempfetchproductsfilerobjcontext[item.payloadvalue] == valueitem.value) {
3320
- tempfetchproductsfilerobjcontext[item.payloadvalue] = '';
3321
- } else {
3322
- tempfetchproductsfilerobjcontext[item.payloadvalue] = valueitem.value;
3323
- }
3324
- setProductFilterObjContext({ ...tempfetchproductsfilerobjcontext });
3325
- }}
3326
- >
3327
- <div>
3328
- <div
3329
- className={
3330
- ` ${ischecked ? filter_cssstyles.btn_item_active : ''} ${filterstyles.btn_item} ${
3331
- filter_cssstyles.btn_item
3332
- }` + ' mb-2 d-flex align-items-center '
3333
- }
3334
- >
3335
- <i className="h-100 d-flex align-items-center"></i>
3336
- </div>
3337
- </div>
3338
- <div className={langdetect == 'en' ? 'ml-3' : 'mr-3 text-right'}>
3339
- <p
3340
- className={`${filterstyles.timeline_text} ${filter_cssstyles.timeline_text}` + ' m-0 p-0 '}
3341
- style={{
3342
- color: ischecked ? sectionproperties.activecat_color : '',
3343
- }}
3344
- >
3345
- {valueitem.name}
3346
- </p>
3347
- </div>
3348
- </div>
3349
- );
3350
- })} */}
3351
- </div>
3352
- </div>
3353
- </div>
3354
- </AccordionItemPanel>
3355
- </AccordionItem>
3356
- </Accordion>
3357
- )}
3358
- {authdetailsContext.instinfo.instid == '673f49cede6cb' && (
3359
- <div class="row m-0 w-100 mb-3 mt-2 px-3">
3360
- <div class="col-lg-12 p-0 text-start mb-2">
3361
- <p className={langdetect == 'en' ? filter_cssstyles.collapsetitle + ' m-0 p-0 ' : filter_cssstyles.collapsetitle + ' m-0 p-0 text-right'}>
3362
- {langdetect == 'en' ? 'Price' : 'السعر'}
3363
- </p>
3364
- </div>
3365
- <div className={langdetect == 'en' ? 'col-6 pl-0 pr-1' : 'col-6 pr-0 pl-1'}>
3366
- <label className={`${filter_cssstyles.collapsetitle}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'From' : 'من'}</label>
3367
- <input
3368
- type="text"
3369
- value={pricefrom}
3370
- onChange={(event) => {
3371
- var temppricevalue = { ...pricevalue2 };
3372
- temppricevalue.min = event.target.value;
3373
- setpricevalue2({ ...temppricevalue });
3374
- }}
3375
- style={{
3376
- background: '#fff',
3377
- border: '1px solid #ccc',
3378
- borderRadius: 5,
3379
- color: '#000',
3380
- height: 35,
3381
- width: '100%',
3382
- paddingLeft: 15,
3383
- paddingRight: 15,
3384
- }}
3385
- />
3386
- </div>
3387
- <div className={langdetect == 'en' ? 'col-6 pr-0 pl-1' : 'col-6 pl-0 pr-1'}>
3388
- <label className={`${filter_cssstyles.collapsetitle}` + ' d-flex justify-content-start '}>{langdetect == 'en' ? 'To' : 'إلى'}</label>
3389
- <input
3390
- type="text"
3391
- value={priceto}
3392
- onChange={(event) => {
3393
- var temppricevalue = { ...pricevalue2 };
3394
- temppricevalue.max = event.target.value;
3395
- setpricevalue2({ ...temppricevalue });
3396
- }}
3397
- style={{
3398
- width: '100%',
3399
- background: '#fff',
3400
- border: '1px solid #ccc',
3401
- borderRadius: 5,
3402
- color: '#000',
3403
- height: 35,
3404
- paddingLeft: 15,
3405
- paddingRight: 15,
3406
- }}
3407
- />
3408
- </div>
3409
- </div>
3410
- )}
3411
- {/* <hr className="mt-3 mb-3" /> */}
3412
- {/* </>
3413
- );
3414
- })} */}
3415
- {sectionproperties.otherfilters == 'Show' && (
3416
- <div className="col-lg-12 p-0">
3417
- <hr className="mt-2 mb-3" />
3418
- </div>
3419
- )}
3420
- <div className={filter_cssstyles.filteraccordion + ' col-lg-12 filter-accordion p-md-0 '}>
3421
- {sectionproperties.showcountriesfilter == 'Show' && Countriesfilter()}
3422
- {sectionproperties.filterType == 'All' && sectionproperties.showcategoriesfilter == 'Show' && <div class="row m-0 w-100">{CategoriesFilter()}</div>}
3423
- {sectionproperties.filterType == 'Collections' && sectionproperties.showcategoriesfilter == 'Show' && (
3424
- <div class="row m-0 w-100">
3425
- {CollectionsFilter()}
3426
- <div className="col-lg-12 p-0">
3427
- <hr className="mt-2 mb-3" />
3428
- </div>
3429
- </div>
3430
- )}
3431
- {sectionproperties.showdynamicfilter == 'Show' && (
3432
- <div class="row m-0 w-100">
3433
- {DynamicFilter()}
3434
- <div className="col-lg-12 p-0">
3435
- <hr className="mt-2 mb-3" />
3436
- </div>
3437
- </div>
3438
- )}
3439
- {sectionproperties.showvariantsfilter == 'Show' && (
3440
- <div class="row m-0 w-100">
3441
- {InstFilters()}
3442
- <div className="col-lg-12 p-0">
3443
- <hr className="mt-2 mb-3" />
3444
- </div>
3445
- </div>
3446
- )}
3447
- {sectionproperties.showvendorfilter == 'Show' && VendorsFilter()}
3448
- </div>
3449
- </div>
3450
- </div>
3451
- </Offcanvas.Body>
3452
- </Offcanvas>
3453
- </div>
3454
- </div>
3455
- )}
3456
- </div>
3457
- );
3458
- };
3459
- export default Filter;