@nyris/nyris-webapp 0.3.50 → 0.3.52

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 (158) hide show
  1. package/README.md +18 -92
  2. package/build/asset-manifest.json +90 -69
  3. package/build/index.html +1 -1
  4. package/build/js/settings.example.js +7 -0
  5. package/build/static/css/main.aa443e67.css +2 -0
  6. package/build/static/css/main.aa443e67.css.map +1 -0
  7. package/build/static/js/main.e023bcc5.js +3 -0
  8. package/build/static/js/main.e023bcc5.js.LICENSE.txt +268 -0
  9. package/build/static/js/main.e023bcc5.js.map +1 -0
  10. package/build/static/media/{Union.2545c072.svg → Union.dce5234bc686d28b45df0a5aea6ef6d1.svg} +1 -1
  11. package/package.json +47 -74
  12. package/public/js/settings.example.js +7 -0
  13. package/src/Store/Store.ts +6 -0
  14. package/src/common/assets/icons/Union.svg +1 -1
  15. package/src/components/AppMobile.tsx +16 -11
  16. package/src/components/CadenasWebViewer.tsx +2 -3
  17. package/src/components/DragDropFile.tsx +35 -32
  18. package/src/components/FilterComponent.tsx +4 -6
  19. package/src/components/FooterMobile.tsx +16 -13
  20. package/src/components/Header.tsx +3 -3
  21. package/src/components/HeaderMobile.tsx +42 -43
  22. package/src/components/ImageCaptureHelpModal.tsx +13 -10
  23. package/src/components/ImagePreviewMobile.tsx +24 -23
  24. package/src/components/Inquiry/InquiryBanner.tsx +13 -14
  25. package/src/components/Inquiry/InquiryModal.tsx +1 -1
  26. package/src/components/Layout.tsx +11 -6
  27. package/src/components/Loading.tsx +2 -3
  28. package/src/components/PanelResult/PostFilter.tsx +9 -9
  29. package/src/components/PanelResult/PostFilterAlgolia.tsx +9 -9
  30. package/src/components/PanelResult/expandable-panel.tsx +3 -3
  31. package/src/components/ProductAttribute.tsx +26 -19
  32. package/src/components/ProductDetailView.tsx +80 -80
  33. package/src/components/ProductList/index.tsx +6 -7
  34. package/src/components/SelectedPostFilter.tsx +2 -3
  35. package/src/components/ShareModal.tsx +20 -21
  36. package/src/components/SidePanel.tsx +18 -18
  37. package/src/components/carousel/ImagePreviewCarousel.tsx +7 -3
  38. package/src/components/default-select.tsx +5 -7
  39. package/src/components/drawer/cameraCustom.tsx +45 -41
  40. package/src/components/input/inputSearch.tsx +48 -42
  41. package/src/components/pre-filter/index.tsx +56 -52
  42. package/src/components/results/ItemResult.tsx +123 -96
  43. package/src/components/rfq/RfqBanner.tsx +13 -14
  44. package/src/components/rfq/RfqModal.tsx +1 -1
  45. package/src/index.tsx +20 -21
  46. package/src/page/landingPage/AppMD.tsx +8 -9
  47. package/src/page/landingPage/AppMobile.tsx +2 -3
  48. package/src/page/landingPage/common.scss +2 -4
  49. package/src/page/result/index.tsx +92 -75
  50. package/src/translations.ts +2 -0
  51. package/src/types.ts +8 -0
  52. package/tsconfig.json +11 -5
  53. package/api-mocks/feedback/v1/OPTIONS.mock +0 -6
  54. package/api-mocks/feedback/v1/POST.mock +0 -4
  55. package/api-mocks/find/v1/OPTIONS.mock +0 -6
  56. package/api-mocks/find/v1/POST.mock +0 -7
  57. package/api-mocks/find/v1/regions/OPTIONS.mock +0 -6
  58. package/api-mocks/find/v1/regions/POST.mock +0 -6
  59. package/build/precache-manifest.94e48d131d31de9b354f61c68a3ed830.js +0 -366
  60. package/build/service-worker.js +0 -39
  61. package/build/static/css/2.27ad1145.chunk.css +0 -2
  62. package/build/static/css/2.27ad1145.chunk.css.map +0 -1
  63. package/build/static/css/main.24b5a712.chunk.css +0 -2
  64. package/build/static/css/main.24b5a712.chunk.css.map +0 -1
  65. package/build/static/js/2.3399db0d.chunk.js +0 -3
  66. package/build/static/js/2.3399db0d.chunk.js.LICENSE.txt +0 -275
  67. package/build/static/js/2.3399db0d.chunk.js.map +0 -1
  68. package/build/static/js/main.b75d8ff6.chunk.js +0 -3
  69. package/build/static/js/main.b75d8ff6.chunk.js.LICENSE.txt +0 -1
  70. package/build/static/js/main.b75d8ff6.chunk.js.map +0 -1
  71. package/build/static/js/runtime-main.1ff80965.js +0 -2
  72. package/build/static/js/runtime-main.1ff80965.js.map +0 -1
  73. package/src/components/Panigation/Pagination.tsx +0 -135
  74. package/src/components/results/ItemResult.test.tsx +0 -0
  75. package/src/helpers/CommonHelper.test.ts +0 -0
  76. package/src/serviceWorker.ts +0 -143
  77. /package/build/static/media/{3d.24adb2c2.svg → 3d.a7aa94395eaef439de4bb07d24f56e21.svg} +0 -0
  78. /package/build/static/media/{Fill.619a9d98.svg → Fill.004d04ac1ba9c868101ab485bcfd0b0e.svg} +0 -0
  79. /package/build/static/media/{IconUploadDownward.6b47ab39.svg → IconUploadDownward.ed1260bef14fbf9352364ad0f08a416e.svg} +0 -0
  80. /package/build/static/media/{SourceSans3-Bold.a923b66a.ttf → SourceSans3-Bold.17e068739e42bdb30d1c.ttf} +0 -0
  81. /package/build/static/media/{SourceSans3-Light.d1772158.ttf → SourceSans3-Light.37264fa35ee0d5f209ea.ttf} +0 -0
  82. /package/build/static/media/{SourceSans3-Medium.fda30e61.ttf → SourceSans3-Medium.c82b4c53fc5d38ef5784.ttf} +0 -0
  83. /package/build/static/media/{SourceSans3-Regular.04f1a4f0.ttf → SourceSans3-Regular.c69f9658f16351f79f33.ttf} +0 -0
  84. /package/build/static/media/{SourceSans3-SemiBold.cf5be839.ttf → SourceSans3-SemiBold.5ad6683a8a06e3ccea94.ttf} +0 -0
  85. /package/build/static/media/{add.ba46a4bf.svg → add.2b72cedb98c4c89c954266d2356c166c.svg} +0 -0
  86. /package/build/static/media/{arrow_down.c1b611db.svg → arrow_down.f417689ce292978a8292a7f00407fdd5.svg} +0 -0
  87. /package/build/static/media/{arrow_left.fd9d4390.svg → arrow_left.73d03a534eaf9b99ab196e0fb67da602.svg} +0 -0
  88. /package/build/static/media/{arrow_right.c6fdab0b.svg → arrow_right.59a4594a3a1657037537dbae1eee0251.svg} +0 -0
  89. /package/build/static/media/{arrow_up.fcd6b144.svg → arrow_up.85dbe70bc51ec32c8894a06499330f14.svg} +0 -0
  90. /package/build/static/media/{avatar.4c5346ed.svg → avatar.43b4f53e7174b4cfd59c51b7acf6236b.svg} +0 -0
  91. /package/build/static/media/{bgDragmobile.e4913a92.svg → bgDragmobile.487091d95d6abb2a2711.svg} +0 -0
  92. /package/build/static/media/{call.c3c23966.svg → call.91e7bfc7a94979c6981988194b45850c.svg} +0 -0
  93. /package/build/static/media/{camera.ae3f4f51.svg → camera.7fc9fe03d10f926524c9b436720371c6.svg} +0 -0
  94. /package/build/static/media/{close.07dcb75c.svg → close.feb72bdc7227b9333f9528e260dd1217.svg} +0 -0
  95. /package/build/static/media/{download.d6432d26.svg → download.8007f7c72e2080a9ffa96fa63d480dcf.svg} +0 -0
  96. /package/build/static/media/{email_share.92bbfb8b.svg → email_share.0b8aeb4edc7c53e944b9c403ec77df2e.svg} +0 -0
  97. /package/build/static/media/{error.48b946a9.svg → error.560997da69fcc36e10dafe36df4af593.svg} +0 -0
  98. /package/build/static/media/{filter.bc412f08.svg → filter.9fdd64df67735e0fbf0dd7d1df32921c.svg} +0 -0
  99. /package/build/static/media/{filter_settings.fa0682a5.svg → filter_settings.f93788883c7fbbcd3ae194e45294d0de.svg} +0 -0
  100. /package/build/static/media/{home.defd14bf.svg → home.9ffb65a9c0be8fc5a502ba05cf5f719c.svg} +0 -0
  101. /package/build/static/media/{ic_cam.5318e2d0.svg → ic_cam.659852ba686874f710cc.svg} +0 -0
  102. /package/build/static/media/{ic_close_feedback.f0834c16.svg → ic_close_feedback.f0ab3c1557a131281039.svg} +0 -0
  103. /package/build/static/media/{ic_shopNow.0348013a.svg → ic_shopNow.71d2c270d716e3774615.svg} +0 -0
  104. /package/build/static/media/{ic_shopNowLight.d8eadc1e.svg → ic_shopNowLight.628bb04870f5af9a524f.svg} +0 -0
  105. /package/build/static/media/{icon_camera_mobile.4d7a272f.svg → icon_camera_mobile.6772053c4dfef487255649d2a05cc9d4.svg} +0 -0
  106. /package/build/static/media/{icon_dislike.0533c64a.svg → icon_dislike.cab8f1f21bc5222aba2d3ca689e4f392.svg} +0 -0
  107. /package/build/static/media/{icon_email.71b21005.svg → icon_email.f22810a3dd1b4e6853c68c134ee043b3.svg} +0 -0
  108. /package/build/static/media/{icon_like.80c66e3a.svg → icon_like.049f5c42107aa03b8ebae58cc8c088ca.svg} +0 -0
  109. /package/build/static/media/{icon_search.373c3cc4.svg → icon_search.cc17077df07fb2b82c0d58f9bddc7974.svg} +0 -0
  110. /package/build/static/media/{icon_search_image2.4c4af888.svg → icon_search_image2.4f4458c1e16dc5092f2367003d3aa1e4.svg} +0 -0
  111. /package/build/static/media/{img-1-1.6144e5f9.png → img-1-1.130fb8d0203452fee547.png} +0 -0
  112. /package/build/static/media/{img-1-2.ad943f0f.png → img-1-2.c512de6393df34bd1e61.png} +0 -0
  113. /package/build/static/media/{img2-1.a87c79c7.png → img2-1.2adc75df85eab5c127f9.png} +0 -0
  114. /package/build/static/media/{img2-2.39c5b73f.png → img2-2.c68532d4f95dbc63c69a.png} +0 -0
  115. /package/build/static/media/{img3-1.443b0c3a.png → img3-1.6eb26a22e6ea83629d27.png} +0 -0
  116. /package/build/static/media/{img3-2.37db7999.png → img3-2.39ae54b4032d52c79a3a.png} +0 -0
  117. /package/build/static/media/{img4-1.9c34c158.png → img4-1.a7594bfa47b01d2a0890.png} +0 -0
  118. /package/build/static/media/{img4-2.9d280a04.png → img4-2.24c0cbafe1a7ad7c24b5.png} +0 -0
  119. /package/build/static/media/{img5-1.b61dbd4d.png → img5-1.e6865b52df58608fd968.png} +0 -0
  120. /package/build/static/media/{img5-2.1c77c093.png → img5-2.ae59543efec34daf3554.png} +0 -0
  121. /package/build/static/media/{img6-1.8b03dd21.png → img6-1.c8bb209cdce72c2d8033.png} +0 -0
  122. /package/build/static/media/{img6-2.1e3e7fed.png → img6-2.b442f90b3e503ac33510.png} +0 -0
  123. /package/build/static/media/{info-tooltip.b98e8a9c.svg → info-tooltip.38185b73956d2d230d38d8254bb7fd91.svg} +0 -0
  124. /package/build/static/media/{logout.07b9ef7f.svg → logout.b544fcd2969edf431a1e998333119834.svg} +0 -0
  125. /package/build/static/media/{minus.3fce6c0a.svg → minus.dee9c571642279cf2af9ed09108cadd8.svg} +0 -0
  126. /package/build/static/media/{no-image.04b676b3.svg → no-image.0792bd463c7917d0b67f4a55a9bc55d9.svg} +0 -0
  127. /package/build/static/media/{powered_by_nyris.e6766baf.svg → powered_by_nyris.218facc4a2986cc09b183eeeb205b0c2.svg} +0 -0
  128. /package/build/static/media/{powered_by_nyris_colored.08d00bae.svg → powered_by_nyris_colored.7177945f25f07f85f8f57e02e15c0878.svg} +0 -0
  129. /package/build/static/media/{reverse_camera.28c80509.svg → reverse_camera.cee0200b151941cc83c182167a85d667.svg} +0 -0
  130. /package/build/static/media/{roboto-latin-100.5cb7edfc.woff → roboto-latin-100.a45108d3b34af91f9113.woff} +0 -0
  131. /package/build/static/media/{roboto-latin-100.7370c367.woff2 → roboto-latin-100.c2aa4ab115bf9c6057cb.woff2} +0 -0
  132. /package/build/static/media/{roboto-latin-100italic.f9e8e590.woff → roboto-latin-100italic.451d4e559d6f57cdf6a1.woff} +0 -0
  133. /package/build/static/media/{roboto-latin-100italic.f8b1df51.woff2 → roboto-latin-100italic.7f839a8652da29745ce4.woff2} +0 -0
  134. /package/build/static/media/{roboto-latin-300.ef7c6637.woff2 → roboto-latin-300.37a7069dc30fc663c878.woff2} +0 -0
  135. /package/build/static/media/{roboto-latin-300.b00849e0.woff → roboto-latin-300.865f928cbabcc9f8f2b5.woff} +0 -0
  136. /package/build/static/media/{roboto-latin-300italic.4df32891.woff → roboto-latin-300italic.bd5b7a13f2c52b531a2a.woff} +0 -0
  137. /package/build/static/media/{roboto-latin-300italic.14286f3b.woff2 → roboto-latin-300italic.c64e7e354c88e613c77c.woff2} +0 -0
  138. /package/build/static/media/{roboto-latin-400.479970ff.woff2 → roboto-latin-400.176f8f5bd5f02b3abfcf.woff2} +0 -0
  139. /package/build/static/media/{roboto-latin-400.60fa3c06.woff → roboto-latin-400.49ae34d4cc6b98c00c69.woff} +0 -0
  140. /package/build/static/media/{roboto-latin-400italic.fe65b833.woff → roboto-latin-400italic.b1d9d9904bfca8802a63.woff} +0 -0
  141. /package/build/static/media/{roboto-latin-400italic.51521a2a.woff2 → roboto-latin-400italic.d022bc70dc1bf7b3425d.woff2} +0 -0
  142. /package/build/static/media/{roboto-latin-500.87284894.woff → roboto-latin-500.cea99d3e3e13a3a599a0.woff} +0 -0
  143. /package/build/static/media/{roboto-latin-500.020c97dc.woff2 → roboto-latin-500.f5b74d7ffcdf85b9dd60.woff2} +0 -0
  144. /package/build/static/media/{roboto-latin-500italic.db4a2a23.woff2 → roboto-latin-500italic.0d8bb5b3ee5f5dac9e44.woff2} +0 -0
  145. /package/build/static/media/{roboto-latin-500italic.288ad9c6.woff → roboto-latin-500italic.18d00f739ff1e1c52db1.woff} +0 -0
  146. /package/build/static/media/{roboto-latin-700.adcde98f.woff → roboto-latin-700.2267169ee7270a22a963.woff} +0 -0
  147. /package/build/static/media/{roboto-latin-700.2735a3a6.woff2 → roboto-latin-700.c18ee39fb002ad58b6dc.woff2} +0 -0
  148. /package/build/static/media/{roboto-latin-700italic.da0e7178.woff2 → roboto-latin-700italic.7d8125ff7f707231fd89.woff2} +0 -0
  149. /package/build/static/media/{roboto-latin-700italic.81f57861.woff → roboto-latin-700italic.9360531f9bb817f917f0.woff} +0 -0
  150. /package/build/static/media/{roboto-latin-900.9b3766ef.woff2 → roboto-latin-900.870c8c1486f76054301a.woff2} +0 -0
  151. /package/build/static/media/{roboto-latin-900.bb1e4dc6.woff → roboto-latin-900.bac8362e7a6ea60b6983.woff} +0 -0
  152. /package/build/static/media/{roboto-latin-900italic.28f91510.woff → roboto-latin-900italic.c20d916c1a1b094c1cec.woff} +0 -0
  153. /package/build/static/media/{roboto-latin-900italic.ebf6d164.woff2 → roboto-latin-900italic.cb5ad999740e9d8a8bd1.woff2} +0 -0
  154. /package/build/static/media/{sectionTransBack.6cee2e36.svg → sectionTransBack.20491b21c659cd29499a.svg} +0 -0
  155. /package/build/static/media/{sectionTransTop.3dcf290f.svg → sectionTransTop.3a1dd8204a4137b92722.svg} +0 -0
  156. /package/build/static/media/{settings.e3c8138b.svg → settings.4b954549320dc34e0d000afd236cff2e.svg} +0 -0
  157. /package/build/static/media/{take_photo.76423216.svg → take_photo.42347c97c863fc8ec1afa36a56eb9ccb.svg} +0 -0
  158. /package/build/static/media/{trash.1624780d.svg → trash.ea9fa760f600fc578097ef0c01d5845f.svg} +0 -0
@@ -1,4 +1,3 @@
1
- import { Box } from '@material-ui/core';
2
1
  import CameraCustom from 'components/drawer/cameraCustom';
3
2
  import React, { useEffect, useState } from 'react';
4
3
  import { reset } from 'Store/search/Search';
@@ -43,14 +42,14 @@ function AppMobile(): JSX.Element {
43
42
  </div>
44
43
  </div>
45
44
  </div>
46
- <Box className="box-screenshot-camera">
45
+ <div className="box-screenshot-camera">
47
46
  <CameraCustom
48
47
  isToggle={isOpenModalCamera}
49
48
  onToggleModal={() => {
50
49
  setOpenModalCamera(!isOpenModalCamera);
51
50
  }}
52
51
  />
53
- </Box>
52
+ </div>
54
53
  </div>
55
54
  );
56
55
  }
@@ -1040,10 +1040,7 @@ button {
1040
1040
 
1041
1041
 
1042
1042
  .box-item-result {
1043
- height: 100%;
1044
- // padding: 0 11px;
1045
- // gap: 8px !important;
1046
- // justify-content: center;
1043
+
1047
1044
  width: calc(180 * 2px + 30px);
1048
1045
  .wrap-main-item-result {
1049
1046
  width: 180px;
@@ -1767,6 +1764,7 @@ button {
1767
1764
  }
1768
1765
 
1769
1766
  .pagination-result {
1767
+ height: fit-content;
1770
1768
  .ais-Pagination-list {
1771
1769
  flex-wrap: nowrap !important;
1772
1770
  text-align: center;
@@ -6,7 +6,6 @@ import React, {
6
6
  useRef,
7
7
  useState,
8
8
  } from 'react';
9
- import { Box } from '@material-ui/core';
10
9
  import ArrowLeftIcon from '@material-ui/icons/ArrowLeft';
11
10
  import ArrowRightIcon from '@material-ui/icons/ArrowRight';
12
11
 
@@ -169,6 +168,7 @@ function ResultComponent(props: Props) {
169
168
  );
170
169
 
171
170
  // TODO: Search offers for image:
171
+ // eslint-disable-next-line react-hooks/exhaustive-deps
172
172
  const findItemsInSelection = useCallback(
173
173
  debounce(async (r: RectCoords) => {
174
174
  if (!requestImage) {
@@ -213,28 +213,32 @@ function ResultComponent(props: Props) {
213
213
 
214
214
  let searchRegion: RectCoords | undefined = undefined;
215
215
 
216
- if (settings.regions) {
217
- let res = await findRegions(image, settings);
218
- searchRegion = res.selectedRegion;
219
- dispatch(setRegions(res.regions));
220
- dispatch(setSelectedRegion(searchRegion));
216
+ try {
217
+ if (settings.regions) {
218
+ let res = await findRegions(image, settings);
219
+ searchRegion = res.selectedRegion;
220
+ dispatch(setRegions(res.regions));
221
+ dispatch(setSelectedRegion(searchRegion));
222
+ }
223
+ } catch (error) {
224
+ } finally {
225
+ const preFilterValues = [
226
+ {
227
+ key: settings.visualSearchFilterKey,
228
+ values: Object.keys(preFilter) as string[],
229
+ },
230
+ ];
231
+ find({
232
+ image,
233
+ settings,
234
+ region: searchRegion,
235
+ filters: !isEmpty(preFilter) ? preFilterValues : undefined,
236
+ }).then((res: any) => {
237
+ dispatch(setSearchResults(res));
238
+ dispatch(updateStatusLoading(false));
239
+ return;
240
+ });
221
241
  }
222
- const preFilterValues = [
223
- {
224
- key: settings.visualSearchFilterKey,
225
- values: Object.keys(preFilter) as string[],
226
- },
227
- ];
228
- find({
229
- image,
230
- settings,
231
- region: searchRegion,
232
- filters: !isEmpty(preFilter) ? preFilterValues : undefined,
233
- }).then((res: any) => {
234
- dispatch(setSearchResults(res));
235
- dispatch(updateStatusLoading(false));
236
- return;
237
- });
238
242
  };
239
243
  const nonEmptyFilter: any[] = !requestImage
240
244
  ? []
@@ -298,6 +302,7 @@ function ResultComponent(props: Props) {
298
302
  // eslint-disable-next-line react-hooks/exhaustive-deps
299
303
  }, [filterSkusString, settings.alogoliaFilterField]);
300
304
 
305
+ // eslint-disable-next-line react-hooks/exhaustive-deps
301
306
  const debouncedOnImageSelectionChange = useCallback(
302
307
  debounce((r: RectCoords) => {
303
308
  setImageSelection(r);
@@ -389,13 +394,13 @@ function ResultComponent(props: Props) {
389
394
  {filterString && isAlgoliaEnabled && (
390
395
  <Configure query={searchQuery} filters={filterString}></Configure>
391
396
  )}
392
- <Box className="box-wrap-result-component">
397
+ <div className="box-wrap-result-component">
393
398
  {!isMobile && (
394
399
  <div className="box-search">
395
400
  <CustomSearchBox />
396
401
  </div>
397
402
  )}
398
- <Box
403
+ <div
399
404
  className="box-result"
400
405
  style={{
401
406
  height: settings.showPoweredByNyris
@@ -421,7 +426,7 @@ function ResultComponent(props: Props) {
421
426
  />
422
427
  )}
423
428
 
424
- <Box
429
+ <div
425
430
  className={`col-right ${
426
431
  settings.preview && 'ml-auto mr-auto'
427
432
  } ${isMobile && 'col-right-result-mobile'}`}
@@ -433,9 +438,9 @@ function ResultComponent(props: Props) {
433
438
  }}
434
439
  >
435
440
  {!isMobile && settings.algolia.enabled && (
436
- <Box className="wrap-box-refinements">
441
+ <div className="wrap-box-refinements">
437
442
  <CurrentRefinements statusSwitchButton={true} />
438
- </Box>
443
+ </div>
439
444
  )}
440
445
 
441
446
  {isMobile && settings.preview && requestImage && (
@@ -453,7 +458,7 @@ function ResultComponent(props: Props) {
453
458
  />
454
459
  )}
455
460
 
456
- <Box
461
+ <div
457
462
  style={{
458
463
  display: 'flex',
459
464
  flexDirection: 'column',
@@ -461,9 +466,9 @@ function ResultComponent(props: Props) {
461
466
  backgroundColor: '#FAFAFA',
462
467
  }}
463
468
  >
464
- <Box
469
+ <div
465
470
  className={'box-item-result ml-auto mr-auto'}
466
- style={{ height: '100%', paddingLeft: isMobile ? 0 : 16 }}
471
+ style={{ paddingLeft: isMobile ? 0 : 16 }}
467
472
  >
468
473
  {showFeedbackSuccess && (
469
474
  <div className={'box-item-result feedback-floating'}>
@@ -497,18 +502,24 @@ function ResultComponent(props: Props) {
497
502
  searchQuery={searchQuery}
498
503
  />
499
504
  </div>
500
-
505
+ </div>
506
+ <div
507
+ className={'box-item-result ml-auto mr-auto'}
508
+ style={{
509
+ display: 'flex',
510
+ flexDirection: 'column',
511
+ flexGrow: 1,
512
+ paddingLeft: isMobile ? 0 : 16,
513
+ }}
514
+ >
501
515
  {props.allSearchResults?.hits.length > 0 &&
502
516
  (requestImage || searchQuery) && (
503
- <Box
517
+ <div
504
518
  className="pagination-result"
505
519
  style={{
506
520
  width: '100%',
507
- margin: !isMobile ? '20px auto' : '',
508
- marginBottom:
509
- isMobile && !requestImage ? '64px' : '20px',
521
+ marginTop: '24px',
510
522
  padding: '0 20%',
511
- alignSelf: 'end',
512
523
  }}
513
524
  >
514
525
  <Pagination
@@ -522,44 +533,49 @@ function ResultComponent(props: Props) {
522
533
  ),
523
534
  }}
524
535
  />
525
- </Box>
526
- )}
527
-
528
- {requestImage &&
529
- !loadingSearchAlgolia &&
530
- !props.isSearchStalled &&
531
- settings.rfq &&
532
- settings.rfq.enabled && (
533
- <RfqBanner
534
- rfqRef={rfqRef}
535
- rfqStatus={rfqStatus}
536
- setIsRfqModalOpen={setIsRfqModalOpen}
537
- requestImage={requestImage}
538
- selectedRegion={selectedRegion}
539
- />
540
- )}
541
- {!loadingSearchAlgolia &&
542
- !props.isSearchStalled &&
543
- settings.support &&
544
- settings.support.enabled &&
545
- (searchQuery || requestImage) && (
546
- <InquiryBanner
547
- requestImage={requestImage}
548
- selectedRegion={selectedRegion}
549
- query={searchQuery}
550
- />
536
+ </div>
551
537
  )}
552
- </Box>
553
- </Box>
538
+ <div
539
+ style={{
540
+ display: 'flex',
541
+ flexGrow: 1,
542
+ }}
543
+ >
544
+ {requestImage &&
545
+ !loadingSearchAlgolia &&
546
+ !props.isSearchStalled &&
547
+ settings.rfq &&
548
+ settings.rfq.enabled && (
549
+ <RfqBanner
550
+ rfqRef={rfqRef}
551
+ rfqStatus={rfqStatus}
552
+ setIsRfqModalOpen={setIsRfqModalOpen}
553
+ requestImage={requestImage}
554
+ selectedRegion={selectedRegion}
555
+ />
556
+ )}
557
+ {!loadingSearchAlgolia &&
558
+ !props.isSearchStalled &&
559
+ settings.support &&
560
+ settings.support.enabled &&
561
+ (searchQuery || requestImage) && (
562
+ <InquiryBanner
563
+ requestImage={requestImage}
564
+ selectedRegion={selectedRegion}
565
+ query={searchQuery}
566
+ />
567
+ )}
568
+ </div>
569
+ </div>
570
+ </div>
554
571
  {!isMobile &&
555
572
  props.allSearchResults?.hits?.length > 0 &&
556
573
  isAlgoliaEnabled && (
557
- <Box>
558
- <Box className="box-notify">
574
+ <div>
575
+ <div className="box-notify">
559
576
  <FooterResult search={search}>
560
- <Box
561
- display={'flex'}
562
- style={{ padding: '0 20px' }}
577
+ <div
578
+ style={{ padding: '0 20px', display: 'flex' }}
563
579
  className="box-change-hit-items"
564
580
  >
565
581
  <span style={{ paddingRight: '10px' }}>
@@ -569,10 +585,10 @@ function ResultComponent(props: Props) {
569
585
  items={showHits}
570
586
  defaultRefinement={20}
571
587
  />
572
- </Box>
588
+ </div>
573
589
  </FooterResult>
574
- </Box>
575
- </Box>
590
+ </div>
591
+ </div>
576
592
  )}
577
593
  {isMobile && settings.showPoweredByNyris && (
578
594
  <div
@@ -581,6 +597,7 @@ function ResultComponent(props: Props) {
581
597
  display: 'flex',
582
598
  justifyContent: 'center',
583
599
  paddingBottom: '46px',
600
+ paddingTop: '8px',
584
601
  }}
585
602
  >
586
603
  <PoweredByNyrisImage
@@ -592,9 +609,9 @@ function ResultComponent(props: Props) {
592
609
  />
593
610
  </div>
594
611
  )}
595
- </Box>
596
- </Box>
597
- </Box>
612
+ </div>
613
+ </div>
614
+ </div>
598
615
  </>
599
616
  </div>
600
617
  {isScrolled === 'scrolled' &&
@@ -20,6 +20,7 @@ export const translations = {
20
20
  'Expand all': 'Expand all',
21
21
  'Collapse all': 'Collapse all',
22
22
  Brand: 'Brand',
23
+ 'Product name': 'Product name',
23
24
  loading: 'loading',
24
25
  'No products were found matching your search criteria.':
25
26
  'No products were found matching your search criteria.',
@@ -53,6 +54,7 @@ export const translations = {
53
54
  'Expand all': 'Alles anzeigen',
54
55
  'Collapse all': 'Alles einklappen',
55
56
  Brand: 'Marke',
57
+ 'Product name': 'Produktname',
56
58
  loading: 'Lädt',
57
59
  'No products were found matching your search criteria.':
58
60
  'Keine Produkte entsprechen Ihren Suchkriterien.',
package/src/types.ts CHANGED
@@ -53,6 +53,7 @@ export interface AppSettings extends NyrisAPISettings {
53
53
  appTitle?: string;
54
54
  auth0: Auth0Settings;
55
55
  brandName?: string;
56
+ isBrandNameTitleVisible?: boolean;
56
57
  cadenas?: Cadenas;
57
58
  CTAButtonText?: string;
58
59
  secondaryCTAButtonText?: string;
@@ -78,6 +79,7 @@ export interface AppSettings extends NyrisAPISettings {
78
79
  theme: SearchSuiteSettings;
79
80
  visualSearchFilterKey?: string;
80
81
  warehouseVariant?: boolean;
82
+ shouldUseUserMetadata?: boolean;
81
83
  }
82
84
 
83
85
  export interface SearchSuiteSettings {
@@ -88,6 +90,12 @@ export interface SearchSuiteSettings {
88
90
  mobileFooterImageColor?: string;
89
91
  primaryColor?: string;
90
92
  secondaryColor?: string;
93
+ secondaryCTAButtonColor?: string;
94
+ CTAButtonColor?: string;
95
+ CTAButtonTextColor?: string;
96
+ mainTextColor?: string;
97
+ brandFieldBackground?: string;
98
+ brandFieldPadding?: string;
91
99
  }
92
100
 
93
101
  export type AppState = {
package/tsconfig.json CHANGED
@@ -1,21 +1,27 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "target": "es5",
4
- "baseUrl": "src",
5
- "lib": ["dom", "dom.iterable", "esnext"],
6
- "noErrorTruncation": true,
4
+ "lib": [
5
+ "dom",
6
+ "dom.iterable",
7
+ "esnext"
8
+ ],
7
9
  "allowJs": true,
10
+ "baseUrl": "src",
8
11
  "skipLibCheck": true,
9
12
  "esModuleInterop": true,
10
13
  "allowSyntheticDefaultImports": true,
11
14
  "strict": true,
12
15
  "forceConsistentCasingInFileNames": true,
16
+ "noFallthroughCasesInSwitch": true,
13
17
  "module": "esnext",
14
18
  "moduleResolution": "node",
15
19
  "resolveJsonModule": true,
16
20
  "isolatedModules": true,
17
21
  "noEmit": true,
18
- "jsx": "react"
22
+ "jsx": "react-jsx"
19
23
  },
20
- "include": ["src"]
24
+ "include": [
25
+ "src"
26
+ ]
21
27
  }
@@ -1,6 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json; charset=utf-8
3
- Access-Control-Allow-Origin: *
4
- Access-Control-Expose-Headers: X-Matching-Request,X-Session
5
- Access-Control-Allow-Headers: content-type, x-api-key, x-options
6
- Access-Control-Allow-Methods: GET, PUT, POST, DELETE
@@ -1,4 +0,0 @@
1
- HTTP/1.1 202 OK
2
- Content-Type: application/json; charset=utf-8
3
- Access-Control-Allow-Origin: *
4
-
@@ -1,6 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json; charset=utf-8
3
- Access-Control-Allow-Origin: *
4
- Access-Control-Expose-Headers: X-Matching-Request,X-Session
5
- Access-Control-Allow-Headers: content-type, x-api-key, x-options
6
- Access-Control-Allow-Methods: GET, PUT, POST, DELETE
@@ -1,7 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json; charset=utf-8
3
- Access-Control-Allow-Origin: *
4
- Access-Control-Expose-Headers: X-Matching-Request,X-Session
5
- X-Matching-Request: 13d9eb9f2da24c58ae9dd7e291af8825
6
-
7
- {"durationSeconds":1.1644181,"predicted_category":{"beleuchtung > Arbeitsleuchten":0.69,"beleuchtung > Wandleuchten > Wand- & Klemmspots":0.172383085,"möbel & Wohnaccessoires > Möbel > Küche > Stühle":0.130428791},"offerInfos":[{"av":{"t":3},"id":"r0:5d3b0e9e4b579600013db0ed:dde5c4ed7ebb4874acf127a73b506b0b:14ae","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"RANARP","desc":"Arbeitsleuchte","var":[],"img":{"id":"9359989beed0bfa97a82c0370fe91e21fc66acb28a6e4969a079ec7a93b17326","ifid":"","url":"https://img.nyris.io/935/9359989beed0bfa97a82c0370fe91e21fc66acb28a6e4969a079ec7a93b17326.jpg","h":false},"cc":["Beleuchtung","Arbeitsleuchten"],"sku":"30231315"},{"av":{"t":3},"id":"r0:5d3b0eea4b579600013de96b:dde5c4ed7ebb4874acf127a73b506b0b:7451","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"RANARP","desc":"Arbeitsleuchte","var":[],"img":{"id":"939ca3e8d898656e45f3c3c64cee0035178a50f5e2813c6f6ec4362db7fe1164","ifid":"","url":"https://img.nyris.io/939/939ca3e8d898656e45f3c3c64cee0035178a50f5e2813c6f6ec4362db7fe1164.jpg","h":false},"cc":["Beleuchtung","Arbeitsleuchten"],"sku":"50331385"},{"av":{"t":3},"id":"r0:5d3b0f1b4b579600013e1577:dde5c4ed7ebb4874acf127a73b506b0b:fa58","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"RANARP","desc":"Wand-/Klemmspot","var":[],"img":{"id":"6f605b183f00401897621102d9873e6e420f61a41caced0ce3e44141bfb777a8","ifid":"","url":"https://img.nyris.io/6f6/6f605b183f00401897621102d9873e6e420f61a41caced0ce3e44141bfb777a8.jpg","h":false},"cc":["Beleuchtung","Wandleuchten","Wand- & Klemmspots"],"sku":"70331394"},{"p":{"c":"EUR","vi":11999,"ve":11998,"t":0},"av":{"t":3},"l":"https://www.amazon.de/EGGREE-Esszimmerstühle-Gepolsterter-Küchenstuhl-Kostenloses/dp/B01KO2I7XU?psc=1&SubscriptionId=AKIAIVILRY6FOSR7KLZQ&tag=wwweverybagde-21&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B01KO2I7XU","id":"r0:5d497c6cffa56c0001290cea:dde5c4ed7ebb4874acf127a73b506b0b:383f","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"EGGREE 4er Set Esszimmerstühle mit Massivholz Buche Bein, Retro Design Gepolsterter Stuhl Küchenstuhl Holz, Weiß, Kostenloses Geschenk Filzgleiter für Stühle x 8pcs","desc":"Name: EGGREE Retro Art aufgefüllter Stuhl; Qualität: 4 Stücke / Satz; Farbe: WeißKostenloses Geschenk: 8er Set Filzgleiter für Stühle wie benutzt man: Zerlegen Sie den Kunststoff an der Unterseite des Stuhlbeines mit einem kleinen Schraubenzieher und Schrauben Sie den Filzgleiter ein Werkstoff: Sitz: PP-Kunststoff; Bein: Massivholz Buche; Auflagekissen: PU-Kunstleder; Pad-Füller: mitteldichter Weichschaum Sitzgewicht: 3kg / pcs (PU gepolstert); Beingewicht: 0,875 kg * 2 = 1,75 kg; Gesamt Nettogewicht: 19kg; Gesamt Bruttogewicht: 20.8kg. Sitzhöhe: 44 cm; Schaumstoff Gepolsterte Stärke: 2,5 cm; Gepolsterte Weite: 45 * 39 * 5 cm; Stuhlgröße: 52 * 48 * 82 cm; Größe des Pakets: 60 * 50 * 74 cm Produkteigenschaften: - Überlegene Qualität, modern und stilvoll; - Maximales Haltgewicht: 120 Kg ; - Rücken kann nicht gekippt werden; - Sitzkissen ist auf Sitz fixiert; - Schnelle und einfache Montage mit Anweisungen enthalten; - Plastikstopper auf Füßen für kratzfeste Stabilität; - Weiche, vollschaumstoffgepolsterte Sitzfläche, angenehm weich, aber strapazierfähig; - Seitlicher Stuhl mit gutem Design und Funktion, extrem stabil, leicht zu reinigen und langlebig; - Retro Mitte des Jahrhunderts Esszimmer Stühle, große zusätzlich zu jedem Esstisch Paket beinhaltet: * Stuhl Sitz und Beine * Schrauben und Unterlegscheiben * Einbauanleitung ANMERKUNG: Um sicherzustellen, dass die Stuhlhöhe passen würde, überprüfen Sie bitte das Maß sorgfältig, bevor Platz ein Auftrag, Sie konnte Ihren Schreibtisch messen oder mit Ihren alten Stühlen vergleichen. Danke!","var":[],"img":{"id":"820c8d42fde1ffee0e8192858855dbc4b632b3965cdb5d38aad4e34c03bc1a43","ifid":"","url":"https://img.nyris.io/820/820c8d42fde1ffee0e8192858855dbc4b632b3965cdb5d38aad4e34c03bc1a43.jpg","h":false},"cc":["Möbel & Wohnaccessoires","Möbel","Küche","Stühle"],"sku":"B01KO2I7XU"},{"av":{"t":3},"id":"r0:5d3b0ec84b579600013dcef8:dde5c4ed7ebb4874acf127a73b506b0b:714a","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"FUBBLA","desc":"Arbeitsleuchte, LED","var":[],"img":{"id":"dbc0b5d5ebc32864d00f76eb27b5fe6c050b40e7c5fe2e6618489e64e948c931","ifid":"","url":"https://img.nyris.io/dbc/dbc0b5d5ebc32864d00f76eb27b5fe6c050b40e7c5fe2e6618489e64e948c931.jpg","h":false},"cc":["Beleuchtung","Leuchten, Kinder 8-12 J."],"sku":"40325709"},{"av":{"t":3},"id":"r0:5d3b0ea54b579600013db6dc:dde5c4ed7ebb4874acf127a73b506b0b:bad0","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"FOTO","desc":"Hängeleuchte","var":[],"img":{"id":"76a825342767892cd0785cecb0fc2af018db974bd0ffd5a9743eceee89b5e14a","ifid":"","url":"https://img.nyris.io/76a/76a825342767892cd0785cecb0fc2af018db974bd0ffd5a9743eceee89b5e14a.jpg","h":false},"cc":["Beleuchtung","Hängeleuchten","Hängeleuchten"],"sku":"30390677"},{"p":{"c":"EUR","vi":9995,"ve":9994,"t":0},"av":{"t":3},"l":"https://www.impressionen.de/de/Living/Beleuchtung/Deckenleuchten/Deckenleuchte/produkt/783841?fromSearch=Suche&ctp=cG9zPTEzMDYmc2ltaT05OS4w","id":"r0:5d3ec3c7d0324800016859da:dde5c4ed7ebb4874acf127a73b506b0b:2da9","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"Deckenleuchte","desc":"","var":[],"img":{"id":"5c7ca98de63597d39166d72ceeba5333f77367d248bb19dcd6c8b5a727885d1a","ifid":"","url":"https://img.nyris.io/5c7/5c7ca98de63597d39166d72ceeba5333f77367d248bb19dcd6c8b5a727885d1a.jpg","h":false},"cc":["Living","Beleuchtung","Deckenleuchten"],"sku":"783841"},{"av":{"t":3},"id":"r0:5d3b0f144b579600013e0fc6:dde5c4ed7ebb4874acf127a73b506b0b:2dde","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"FANBYN","desc":"Stuhl","var":[],"img":{"id":"69ad66590b914106a5d500d04ecdc5dc0da29a7ab76e33e43a2d0e09f9237919","ifid":"","url":"https://img.nyris.io/69a/69ad66590b914106a5d500d04ecdc5dc0da29a7ab76e33e43a2d0e09f9237919.jpg","h":false},"cc":["Stühle","Gartenstühle & Gartentische","Gartenstühle"],"sku":"69291431"},{"p":{"c":"EUR","vi":7999,"ve":7998,"t":0},"av":{"t":3},"l":"https://www.amazon.de/Industrielle-Pendelleuchte-Hängeleuchte-Leuchtmittel-Untergeschoss/dp/B079996FKW?SubscriptionId=AKIAIVILRY6FOSR7KLZQ&tag=wwweverybagde-21&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B079996FKW","id":"r0:5d497d05ffa56c0001299530:dde5c4ed7ebb4874acf127a73b506b0b:35bc","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"BAYTTER® Design 2x Industrielle Vintage LED Pendelleuchte Hängeleuchte Φ 30cm für E27 Leuchtmittel, schwarz und weiß wählbar, für Wohnzimmer Esszimmer Restaurant Keller Untergeschoss usw. (schwarz)","desc":"Farbe:schwarz In zwei Farben erhältlich: Schwarz/Weiß. Sie können die Farbe nach Wunsch wählen. Die Lampe ist aus Eisen, gut verarbeitet, einfach und modern und gibt eine wunderschöne und gemütliche Atmosphäre. Anwendungen: Restaurants, Keller, Bars, Flure, Küchen usw.. Die Lampe kann auch als eine Dekoration angebracht werden. Leichte Montage. Das Erdkabel befindet sich im Lampenfuss. Die Länge des Stromkabels ist 124 cm. Die Höhe ist nach Wunsch vertellbar. Material: Eisen Verarbeitung: lackiert Farbe: schwarz/weiß Lampenschirm(Innen): gold Stil: vintage Durchmesser des Lampenschirm: 30cm Kabellänge: 124cm Spannung: 220-240V Passend für die E27 Leuchtmittel, Leistung ≤ 60W Leuchtbereich: 5-8㎡ Gewicht: 1,5kg Lieferumfang: 2 x Hängelampe (Lichtmittel nicht inklusive)","var":[],"img":{"id":"7821abcadadea0a1fc0167bb48b27fe7e8bb91c1d4456091d2fb1bd5ff07e44a","ifid":"","url":"https://img.nyris.io/782/7821abcadadea0a1fc0167bb48b27fe7e8bb91c1d4456091d2fb1bd5ff07e44a.jpg","h":false},"cc":["Innenbeleuchtung","Deckenbeleuchtung","Hänge- & Pendelleuchten"],"sku":"B079996FKW"},{"p":{"c":"EUR","vi":7995,"ve":7994,"t":0},"av":{"t":3},"l":"https://www.amazon.de/B-K-Licht-Industrielle-Pendelleuchte-Hängeleuchte-Untergeschoss/dp/B0756D92G6?psc=1&SubscriptionId=AKIAIVILRY6FOSR7KLZQ&tag=wwweverybagde-21&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B0756D92G6","id":"r0:5d497d05ffa56c000129952d:dde5c4ed7ebb4874acf127a73b506b0b:d18c","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"B.K.Licht Design 2x Industrielle Vintage LED Pendelleuchte Hängeleuchte Φ 30cm für E27 Leuchtmittel, schwarz und weiß wählbar, für Wohnzimmer Esszimmer Restaurant Keller Untergeschoss usw.","desc":"B.K.LICHT: Leuchten für helle Köpfe Pendelleuchte \"Auriga\" im praktischen 2er-Set - Die elegante Variante für ihre Einrichtung Die Pendellampe in schwarz-goldener Optik eignet sich wunderbar für ihre Wohnräume. So können Sie die Leuchte sehr gut über einem Esstisch platzieren oder als Akzent im Wohnzimmer anbringen. Auch als Dekoration eignet sich die Leuchte hervorragend. Die Länge ist variabel verstellbar, so dass Sie viele Gestaltungsmöglichkeiten haben. Wichtige Produktdetails: • Die Schutzart ist IP20. • 2er-Set. Die Leuchtmittel sind nicht inklusive. • Für das Leuchtmittel wird die Fassung E27 benötigt. • Maße: 300x1600mm (DxL) • Farbe: schwarz-gold • max. 60 Watt Weitere Vorteile: ✓ Umweltfreundlich ✓ Einfache Montage ✓ Kein Summton ✓ Gleichmäßige Lichtverteilung ✓ Hohe Farbwiedergabe ✓ Unschlagbares Preisleistungsverhältnis Sollten Sie einmal wider Erwarten mit einem unserer Produkte nicht zufrieden sein, kontaktieren Sie uns gerne - Wir finden sicher eine Lösung!","var":[],"img":{"id":"49c973d9c6ce360adfb8d758741b81ed458b9efda8ba44d85bbf5d20611e3cb4","ifid":"","url":"https://img.nyris.io/49c/49c973d9c6ce360adfb8d758741b81ed458b9efda8ba44d85bbf5d20611e3cb4.jpg","h":false},"cc":["Innenbeleuchtung","Deckenbeleuchtung","Hänge- & Pendelleuchten"],"sku":"B0756D92G6"},{"p":{"c":"EUR","vi":14165,"ve":14164,"t":0},"av":{"t":3},"l":"https://www.amazon.de/Pendelleuchte-Elfeland-Industrielle-Deckenleuchte-höhenverstellbar/dp/B075FRCF9K?psc=1&SubscriptionId=AKIAIVILRY6FOSR7KLZQ&tag=wwweverybagde-21&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B075FRCF9K","id":"r0:5d497d06ffa56c00012995b6:dde5c4ed7ebb4874acf127a73b506b0b:3437","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"Vintage Pendelleuchte, Elfeland E27 4 Lichter Retro Industrielle Deckenleuchte höhenverstellbar Hängeleuchte mit 3-adrigem Textilkabel DIY Lampe Ideal für Nostalgie und Retro Beleuchtung (ohne Birne) Messing matt","desc":"━┉┉┉┉∞┉┉┉┉━ ━┉┉┉┉∞┉┉┉┉━ ━┉┉┉┉∞┉┉┉┉━ ✮✮✯✫✬✭✮ # Elfeland 2018 Neuste vintage Pendelleuchte # ✮✮✯✫✬✭✮━┉┉┉┉∞┉┉┉┉━ ━┉┉┉┉∞┉┉┉┉━ ━┉┉┉┉∞┉┉┉┉━ Diese Retro Kronleuchter ist im Gegensatz zu den normalen eine Bereicherung der Wohnqualität. Da man die Kabel mit Kabeklänge bis zu 1,8 m durch die Halter ziehen kann, ist die jeweilige Länge der einzelnen Leuchten jederzeit einstellbar. Die vier Kabelhalter kann man nun frei an der Decke anbringen, hier kann man seine Wünsche und Kreativität freien Lauf lassen. Gute vintage Deckenleuchte, geeignet für Café, Bar, Hotel, Party, Wohnung, Küche, Arbeitzimmer, Kommerzielle und Ausstellungsorte, Schlafzimmer, Esszimmer, Garage usw. Technische Daten: Spannung: 110-240V Fassung: E27 Anzahl der Lichtquellen: 4 (ohne Birne) Farbe: Schwarz/ Gelb Bronze Höhenverstellbar: 180 cm Lieferumfang: 1 x Pendelleuchte mit allem Zubehör (ohne Bulb) 1 x Gebrauchsanleitung ◕‿◕━┉┉┉┉∞┉┉┉┉━ ❝ ☎☎☎☎☎☎☎Wenn Sie irgendwelche Fragen, bitte kontaktieren Sie uns direkt durch eine E- mail. Danke schön ❤❤❤❤❤❤❤ ❞━┉┉┉┉∞┉┉┉┉━◕‿◕","var":[],"img":{"id":"dd8831ebacd2ba68c6a4350285d467f2672543db937e42c093c51a59f15a2536","ifid":"","url":"https://img.nyris.io/dd8/dd8831ebacd2ba68c6a4350285d467f2672543db937e42c093c51a59f15a2536.jpg","h":false},"cc":["Innenbeleuchtung","Deckenbeleuchtung","Kronleuchter"],"sku":"B075FRCF9K"},{"av":{"t":3},"id":"r0:5d3b0ec74b579600013dceba:dde5c4ed7ebb4874acf127a73b506b0b:5a0a","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"NYFORS","desc":"Arbeitsleuchte","var":[],"img":{"id":"36e856670cb7e0ea7c618a27627eb2fc8e02a4f519ab50988a447717b7c6f812","ifid":"","url":"https://img.nyris.io/36e/36e856670cb7e0ea7c618a27627eb2fc8e02a4f519ab50988a447717b7c6f812.jpg","h":false},"cc":["Beleuchtung","Arbeitsleuchten"],"sku":"40319685"},{"av":{"t":3},"id":"r0:5d3b0e5e4b579600013d7f5e:dde5c4ed7ebb4874acf127a73b506b0b:1fe9","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"RANARP","desc":"Wand-/Klemmspot","var":[],"img":{"id":"abf9b34650ff4514e9ad7b4911fedd8d7c1f3d24cfd91e9fb9b594d23b2bb222","ifid":"","url":"https://img.nyris.io/abf/abf9b34650ff4514e9ad7b4911fedd8d7c1f3d24cfd91e9fb9b594d23b2bb222.jpg","h":false},"cc":["Beleuchtung","Wandleuchten","Wand- & Klemmspots"],"sku":"10231321"},{"av":{"t":3},"id":"r0:5d3b0e844b579600013d9b80:dde5c4ed7ebb4874acf127a73b506b0b:6c97","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"HATTEFJÄLL","desc":"Drehstuhl","var":[],"img":{"id":"c82a73be60c414c18221d541a5ed8036f461345d40d6ba81d1327be267b25a34","ifid":"","url":"https://img.nyris.io/c82/c82a73be60c414c18221d541a5ed8036f461345d40d6ba81d1327be267b25a34.jpg","h":false},"cc":["Stühle","Bürostühle","Schreibtischstühle fürs Büro"],"sku":"20341343"},{"p":{"c":"EUR","vi":4299,"ve":4298,"t":0},"av":{"t":3},"l":"https://www.amazon.de/Lixada-Kronleuchter-Pendelleuchten-Hängende-Deckenbeleuchtung/dp/B01DKHSY16?psc=1&SubscriptionId=AKIAIVILRY6FOSR7KLZQ&tag=wwweverybagde-21&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B01DKHSY16","id":"r0:5d497d06ffa56c00012995e3:dde5c4ed7ebb4874acf127a73b506b0b:6df5","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"Lixada Kronleuchter Pendelleuchten 9 Lichter Hängende Lampen Deckenbeleuchtung (9 arm)","desc":"Diese Pendelleuchte ist praktisch und dekorativ für Ihr Haus. Eigenschaften: Retro und dekorativ: Nicht nur als Beleuchtung(Lampenfassung), sondern auch kann Ihr Haus dekorieren. E27 Lampensockel mit 9 Fassungen: Perfekt für irgendwelche E27 Glühbirne. Dieser Kronleuchter wird Ihr Haus künstlerisch und attraktiver machen. Diese Hängelampe ist perfekt für Wohnzimmer, Arbeitzimmer, Esssaal, Büro, Keller usw.. ♥Hinweise: 1. Wenn Sie es nicht wissen,wie es montiert wird. Sie könnten uns direkt emailen. Wir würden Ihnen ein Video über Installation geben. 2. Es enthält in der Packung keine Glühbirnen. Technische Daten: Artikel-Typ: Anhänger Lampen Sockel Basis Typ: E27 Stil: Vintage Leistung in Watt: 40-60W Stromquelle: AC 110-240V Ist Schalter enthalten: Nein Installationstyp: Anhänger montiert Lampe Halter Menge: 9 Artikel-Farbe: schwarz Material: Eisen & Kunststoff Jede Kabellänge: 1,8 m/5,9 ft Packungsgröße: 22,0 * 22,0 * 15,0 cm / 8,7 * 8,7 * 5,9 in (L * W * H) Artikel-Gewicht: 1534g/3,4 lb Gewicht Paket: 1860g/4,1 lb Paket-Liste: 9 * Pendelleuchte Lampensockel 1 * Einbausatz","var":[],"img":{"id":"6958403a075ad9326e007ac527f206b850c8fc0f7974ab591d91eba5d8f74fb9","ifid":"","url":"https://img.nyris.io/695/6958403a075ad9326e007ac527f206b850c8fc0f7974ab591d91eba5d8f74fb9.jpg","h":false},"cc":["Innenbeleuchtung","Deckenbeleuchtung","Kronleuchter"],"sku":"B01DKHSY16"},{"p":{"c":"EUR","vi":12099,"ve":12098,"t":0},"av":{"t":3},"l":"https://www.amazon.de/EGGREE-Esszimmerstühle-Massivholz-Gepolsterter-Küchenstuhl/dp/B01N9ZLCD5?psc=1&SubscriptionId=AKIAIVILRY6FOSR7KLZQ&tag=wwweverybagde-21&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B01N9ZLCD5","id":"r0:5d497c6cffa56c0001290d1a:dde5c4ed7ebb4874acf127a73b506b0b:605b","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"EGGREE 4er Set Esszimmerstühle mit Massivholz Buche Bein, Retro Design Gepolsterter lStuhl Küchenstuhl Holz, Grau","desc":"Unser Stuhl ist eine hochwertige Reproduktion aus hochwertigem Kunstleder mit einem neu gestylten hölzernen Fußbeine, sie sind perfekt für ein kleines modernes Zuhause, casual aber Mode Büro Schreibtisch oder Client-Wartebereiche. Name: Eggree Retro Art aufgefüllter Stuhl; Qualität: 4 Stücke / Satz; Farbe: grau Werkstoff: Sitz: PP-Kunststoff; Bein: Massivholz Buche; Auflagekissen: PU-Kunstleder; Pad-Füller: mitteldichter Weichschaum Sitzgewicht: 3kg / pcs (PU gepolstert); Beingewicht: 0,875 kg * 2 = 1,75 kg; Gesamt Nettogewicht: 19kg; Gesamt Bruttogewicht: 20.8kg. Sitzhöhe: 44 cm; Schaumstoff Gepolsterte Stärke: 2,5 cm; Gepolsterte Weite: 45 * 39 * 5 cm; Stuhlgröße: 52 * 48 * 82 cm; Größe des Pakets: 60 * 50 * 74 cm Produkteigenschaften: - Überlegene Qualität, modern und stilvoll; - Maximales Haltgewicht: 120 Kg ; - Rücken kann nicht gekippt werden; - Sitzkissen ist auf Sitz fixiert; - Schnelle und einfache Montage mit Anweisungen enthalten; - Plastikstopper auf Füßen für kratzfeste Stabilität; - Weiche, vollschaumstoffgepolsterte Sitzfläche, angenehm weich, aber strapazierfähig; - Seitlicher Stuhl mit gutem Design und Funktion, extrem stabil, leicht zu reinigen und langlebig; - Retro Mitte des Jahrhunderts Esszimmer Stühle, große zusätzlich zu jedem Esstisch Paket beinhaltet: * Stuhl Sitz und Beine * Schrauben und Unterlegscheiben * Einbauanleitung ANMERKUNG: Um sicherzustellen, dass die Stuhlhöhe passen würde, überprüfen Sie bitte das Maß sorgfältig, bevor Platz ein Auftrag, Sie konnte Ihren Schreibtisch messen oder mit Ihren alten Stühlen vergleichen. Danke!","var":[],"img":{"id":"68f70c41aefcc8ad0275489f17b0d8e771defa4ec5584c4a5520b6cbe7b0220c","ifid":"","url":"https://img.nyris.io/68f/68f70c41aefcc8ad0275489f17b0d8e771defa4ec5584c4a5520b6cbe7b0220c.jpg","h":false},"cc":["Möbel & Wohnaccessoires","Möbel","Küche","Stühle"],"sku":"B01N9ZLCD5"},{"av":{"t":3},"id":"r0:5d3b0eff4b579600013dfc33:dde5c4ed7ebb4874acf127a73b506b0b:c79f","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"ÅRSTID","desc":"Standleuchte","var":[],"img":{"id":"f536a05b4665040f6e91094568748a5b44f0a688b93fa78d7a5983142854ca0e","ifid":"","url":"https://img.nyris.io/f53/f536a05b4665040f6e91094568748a5b44f0a688b93fa78d7a5983142854ca0e.jpg","h":false},"cc":["Beleuchtung","Standleuchten"],"sku":"60163862"},{"av":{"t":3},"id":"r0:5d3b0f534b579600013e4622:dde5c4ed7ebb4874acf127a73b506b0b:1ae8","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"HEKTAR","desc":"Hängeleuchte","var":[],"img":{"id":"52f28b227d05d843ad047e6a21daf8af94228c13164478ea13b459d30c370982","ifid":"","url":"https://img.nyris.io/52f/52f28b227d05d843ad047e6a21daf8af94228c13164478ea13b459d30c370982.jpg","h":false},"cc":["Beleuchtung","Hängeleuchten","Hängeleuchten"],"sku":"90414878"},{"av":{"t":3},"id":"r0:5d3b0e9a4b579600013dad56:dde5c4ed7ebb4874acf127a73b506b0b:4bb8","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"POÄNG","desc":"Schaukelstuhl","var":[],"img":{"id":"70b76122342dcaeab96d6af9f19d34db37ff160040832cf13df21ced10895ee7","ifid":"","url":"https://img.nyris.io/70b/70b76122342dcaeab96d6af9f19d34db37ff160040832cf13df21ced10895ee7.jpg","h":false},"cc":["Sofas & Sessel","Sessel & Récamieren","Sessel, Textil"],"sku":"29286686"},{"av":{"t":3},"id":"r0:5d3b0f064b579600013e02e5:dde5c4ed7ebb4874acf127a73b506b0b:f73f","mid":"5ca34e8e0af26f00014882cf","mer":"nyris","title":"MELODI","desc":"Hängeleuchte","var":[],"img":{"id":"e7d89edc0d3639439a9148b04213fe1b0b2c473c3d112ee89c498175a4b804db","ifid":"","url":"https://img.nyris.io/e7d/e7d89edc0d3639439a9148b04213fe1b0b2c473c3d112ee89c498175a4b804db.jpg","h":false},"cc":["Beleuchtung","Hängeleuchten","Hängeleuchten"],"sku":"60386527"}]}
@@ -1,6 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json; charset=utf-8
3
- Access-Control-Allow-Origin: *
4
- Access-Control-Expose-Headers: X-Matching-Request,X-Session
5
- Access-Control-Allow-Headers: content-type, x-api-key, x-options
6
- Access-Control-Allow-Methods: GET, PUT, POST, DELETE
@@ -1,6 +0,0 @@
1
- HTTP/1.1 200 OK
2
- Content-Type: application/json; charset=utf-8
3
- Access-Control-Allow-Origin: *
4
- Access-Control-Expose-Headers: X-Matching-Request,X-Session
5
-
6
- [{"confidence":0.8195009,"region":{"top":241,"left":23,"bottom":486,"right":232},"className":"Chair"},{"confidence":0.7255934,"region":{"top":241,"left":23,"bottom":486,"right":232},"className":"Furniture"},{"confidence":0.71869576,"region":{"top":1,"left":123,"bottom":101,"right":221},"className":"Lighting"}]