@nyris/nyris-webapp 0.3.27 → 0.3.29
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.
- package/build/asset-manifest.json +5 -5
- package/build/index.html +1 -1
- package/build/{precache-manifest.404c1d12c1b3cc39e5d57e0aec6a4584.js → precache-manifest.d72c397d9b869dc1470447b80ddb6f57.js} +5 -5
- package/build/service-worker.js +1 -1
- package/build/static/js/{main.0e1815bf.chunk.js → main.972dc9a3.chunk.js} +3 -3
- package/build/static/js/main.972dc9a3.chunk.js.map +1 -0
- package/package.json +3 -3
- package/src/components/DetailItem.tsx +5 -2
- package/src/components/drawer/cameraCustom.tsx +40 -7
- package/src/components/results/ItemResult.tsx +5 -2
- package/src/page/result/index.tsx +1 -1
- package/build/static/js/main.0e1815bf.chunk.js.map +0 -1
- /package/build/static/js/{main.0e1815bf.chunk.js.LICENSE.txt → main.972dc9a3.chunk.js.LICENSE.txt} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nyris/nyris-webapp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.29",
|
|
4
4
|
"homepage": "./",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@algolia/autocomplete-js": "^1.7.1",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"@material-ui/data-grid": "^4.0.0-alpha.37",
|
|
13
13
|
"@material-ui/icons": "^4.4.1",
|
|
14
14
|
"@material-ui/lab": "^4.0.0-alpha.60",
|
|
15
|
-
"@nyris/nyris-api": "^0.3.
|
|
16
|
-
"@nyris/nyris-react-components": "^0.3.
|
|
15
|
+
"@nyris/nyris-api": "^0.3.29",
|
|
16
|
+
"@nyris/nyris-react-components": "^0.3.29",
|
|
17
17
|
"@reduxjs/toolkit": "^1.6.1",
|
|
18
18
|
"@splidejs/react-splide": "^0.7.12",
|
|
19
19
|
"@types/blueimp-load-image": "^2.23.4",
|
|
@@ -35,7 +35,7 @@ function DetailItem(props: Props) {
|
|
|
35
35
|
handlerFeedback,
|
|
36
36
|
} = props;
|
|
37
37
|
const [collapDescription, setCollapDescription] = useState(false);
|
|
38
|
-
const { title, sku, main_offer_link, brand } = dataItem;
|
|
38
|
+
const { title, sku, main_offer_link, product_link, brand } = dataItem;
|
|
39
39
|
const [dataImageCarousel, setDataImageCarouSel] = useState<any[]>([]);
|
|
40
40
|
const isMobile = useMediaQuery({ query: '(max-width: 776px)' });
|
|
41
41
|
const { settings } = useAppSelector<AppState>((state: any) => state);
|
|
@@ -272,7 +272,10 @@ function DetailItem(props: Props) {
|
|
|
272
272
|
minHeight: !settings.warehouseVariant ? 48 : 64,
|
|
273
273
|
}}
|
|
274
274
|
onClick={() =>
|
|
275
|
-
window.open(
|
|
275
|
+
window.open(
|
|
276
|
+
`${product_link || main_offer_link}`,
|
|
277
|
+
'_blank',
|
|
278
|
+
)
|
|
276
279
|
}
|
|
277
280
|
>
|
|
278
281
|
<Typography
|
|
@@ -35,9 +35,10 @@ function CameraCustom(props: Props) {
|
|
|
35
35
|
const [facingMode, setFacingMode] = useState(FACING_MODE_USER);
|
|
36
36
|
const [scaleCamera, setScaleCamera] = useState<number>(1);
|
|
37
37
|
const stateGlobal = useAppSelector(state => state);
|
|
38
|
-
const { settings } = stateGlobal;
|
|
38
|
+
const { search, settings } = stateGlobal;
|
|
39
39
|
const history = useHistory();
|
|
40
40
|
const dispatch = useAppDispatch();
|
|
41
|
+
const { keyFilter } = search;
|
|
41
42
|
|
|
42
43
|
const videoConstraints = {
|
|
43
44
|
width: 1080,
|
|
@@ -55,23 +56,55 @@ function CameraCustom(props: Props) {
|
|
|
55
56
|
const handlerFindImage = async (image: any) => {
|
|
56
57
|
dispatch(updateStatusLoading(true));
|
|
57
58
|
dispatch(loadingActionResults());
|
|
58
|
-
|
|
59
|
+
if (history.location.pathname !== '/result') {
|
|
60
|
+
history.push('/result');
|
|
61
|
+
}
|
|
59
62
|
let region: RectCoords | undefined;
|
|
60
63
|
let imageConvert = await createImage(image);
|
|
61
64
|
dispatch(setRequestImage(imageConvert));
|
|
62
65
|
dispatch(setImageSearchInput(image));
|
|
63
66
|
dispatch(onToggleModalItemDetail(false));
|
|
67
|
+
handlerCloseModal();
|
|
68
|
+
|
|
64
69
|
if (settings.regions) {
|
|
65
70
|
let res = await findRegions(imageConvert, settings);
|
|
66
71
|
dispatch(setRegions(res.regions));
|
|
67
72
|
region = res.selectedRegion;
|
|
68
73
|
dispatch(setSelectedRegion(region));
|
|
69
74
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
|
|
76
|
+
const preFilter = [
|
|
77
|
+
{
|
|
78
|
+
key: settings.visualSearchFilterKey,
|
|
79
|
+
values: [`${keyFilter}`],
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
let filters: any[] = [];
|
|
83
|
+
|
|
84
|
+
findByImage({
|
|
85
|
+
image: imageConvert,
|
|
86
|
+
settings,
|
|
87
|
+
filters: keyFilter ? preFilter : undefined,
|
|
88
|
+
region,
|
|
89
|
+
})
|
|
90
|
+
.then((res: any) => {
|
|
91
|
+
res?.results.map((item: any) => {
|
|
92
|
+
filters.push({
|
|
93
|
+
sku: item.sku,
|
|
94
|
+
score: item.score,
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
const payload = {
|
|
98
|
+
...res,
|
|
99
|
+
filters,
|
|
100
|
+
};
|
|
101
|
+
dispatch(setSearchResults(payload));
|
|
102
|
+
dispatch(updateStatusLoading(false));
|
|
103
|
+
})
|
|
104
|
+
.catch((e: any) => {
|
|
105
|
+
console.log('error input search', e);
|
|
106
|
+
dispatch(updateStatusLoading(false));
|
|
107
|
+
});
|
|
75
108
|
};
|
|
76
109
|
|
|
77
110
|
const handlerCloseModal = () => {
|
|
@@ -53,7 +53,7 @@ function ItemResult(props: Props) {
|
|
|
53
53
|
const [isOpenModalShare, setOpenModalShare] = useState<boolean>(false);
|
|
54
54
|
const [feedback, setFeedback] = useState('none');
|
|
55
55
|
const { t } = useTranslation();
|
|
56
|
-
const { sku, title, brand, main_offer_link, collap } = dataItem;
|
|
56
|
+
const { sku, title, brand, main_offer_link, product_link, collap } = dataItem;
|
|
57
57
|
useEffect(() => {
|
|
58
58
|
if (main_image_link) {
|
|
59
59
|
handlerCheckUrlImage(main_image_link);
|
|
@@ -323,7 +323,10 @@ function ItemResult(props: Props) {
|
|
|
323
323
|
padding: 0,
|
|
324
324
|
}}
|
|
325
325
|
onClick={() =>
|
|
326
|
-
window.open(
|
|
326
|
+
window.open(
|
|
327
|
+
`${product_link || main_offer_link}`,
|
|
328
|
+
'_blank',
|
|
329
|
+
)
|
|
327
330
|
}
|
|
328
331
|
>
|
|
329
332
|
<Typography
|
|
@@ -172,7 +172,7 @@ function ResultComponent(props: Props) {
|
|
|
172
172
|
? search?.results
|
|
173
173
|
.slice()
|
|
174
174
|
.reverse()
|
|
175
|
-
.map((f: any, i: number) => `sku:'${f.sku}'<score=${i}
|
|
175
|
+
.map((f: any, i: number) => `sku:'${f.sku}'<score=${i}> `)
|
|
176
176
|
: '';
|
|
177
177
|
const filterSkusString = [...nonEmptyFilter, ...filterSkus].join(' OR ');
|
|
178
178
|
|