@akinon/pz-virtual-try-on 1.119.0-rc.3 → 2.0.0-beta.13
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/CHANGELOG.md +3 -75
- package/README.md +7 -403
- package/package.json +5 -6
- package/src/hooks/use-image-cropper.ts +8 -58
- package/src/hooks/use-virtual-try-on-async.ts +0 -1
- package/src/hooks/use-virtual-try-on.ts +4 -30
- package/src/index.ts +1 -26
- package/src/types/index.ts +0 -32
- package/src/utils/error-mapping.ts +1 -3
- package/src/utils/index.ts +0 -115
- package/src/views/basket-async-modal.tsx +2 -7
- package/src/views/main.tsx +1 -15
- package/src/views/virtual-try-on-upload-modal.tsx +44 -62
- package/src/components/barcode-scanner.tsx +0 -422
- package/src/data/barcode-endpoints.ts +0 -34
- package/src/hooks/use-barcode-search.ts +0 -172
- package/src/types/barcode.ts +0 -308
- package/src/views/barcode-scanner-button.tsx +0 -63
- package/src/views/barcode-scanner-modal.tsx +0 -632
- package/src/views/barcode-scanner-plugin.tsx +0 -232
|
@@ -122,23 +122,6 @@ export function VirtualTryOnUploadModal({
|
|
|
122
122
|
const localHookData = product ? useVirtualTryOn(product) : null;
|
|
123
123
|
const activeHookData = hookData || localHookData;
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
const getImageSrc = (
|
|
127
|
-
settingsImage: string | undefined,
|
|
128
|
-
defaultImage: string | { src: string }
|
|
129
|
-
): string => {
|
|
130
|
-
if (settingsImage) return settingsImage;
|
|
131
|
-
return typeof defaultImage === 'string' ? defaultImage : defaultImage.src;
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
const getText = (
|
|
135
|
-
settingsText: string | undefined,
|
|
136
|
-
localizationKey: string
|
|
137
|
-
): string => {
|
|
138
|
-
if (settingsText) return settingsText;
|
|
139
|
-
return t(localizationKey);
|
|
140
|
-
};
|
|
141
|
-
|
|
142
125
|
const {
|
|
143
126
|
uploadedImage,
|
|
144
127
|
originalImage,
|
|
@@ -168,19 +151,12 @@ export function VirtualTryOnUploadModal({
|
|
|
168
151
|
imageRef,
|
|
169
152
|
handleCropComplete = () => {},
|
|
170
153
|
toggleCropMode = () => {},
|
|
171
|
-
confirmCrop = () => {}
|
|
172
|
-
closeCrop = () => {}
|
|
154
|
+
confirmCrop = () => {}
|
|
173
155
|
} = cropperHook || {};
|
|
174
156
|
|
|
175
157
|
const [shouldProcessAfterCrop, setShouldProcessAfterCrop] = useState(false);
|
|
176
158
|
const [isDragging, setIsDragging] = useState(false);
|
|
177
159
|
|
|
178
|
-
useEffect(() => {
|
|
179
|
-
if (error && closeCrop) {
|
|
180
|
-
closeCrop();
|
|
181
|
-
}
|
|
182
|
-
}, [error, closeCrop]);
|
|
183
|
-
|
|
184
160
|
useEffect(() => {
|
|
185
161
|
if (shouldProcessAfterCrop && uploadedImage && !isCropLoading) {
|
|
186
162
|
setShouldProcessAfterCrop(false);
|
|
@@ -441,8 +417,8 @@ export function VirtualTryOnUploadModal({
|
|
|
441
417
|
)}
|
|
442
418
|
>
|
|
443
419
|
{uploadedImage
|
|
444
|
-
?
|
|
445
|
-
:
|
|
420
|
+
? t('product.virtual_try_on.edit_photo')
|
|
421
|
+
: t('product.virtual_try_on.title')}
|
|
446
422
|
</h3>
|
|
447
423
|
<button
|
|
448
424
|
type="button"
|
|
@@ -515,7 +491,7 @@ export function VirtualTryOnUploadModal({
|
|
|
515
491
|
)
|
|
516
492
|
)}
|
|
517
493
|
>
|
|
518
|
-
{
|
|
494
|
+
{t('product.virtual_try_on.upload_prompt')}
|
|
519
495
|
</p>
|
|
520
496
|
<p
|
|
521
497
|
className={twMerge(
|
|
@@ -532,7 +508,7 @@ export function VirtualTryOnUploadModal({
|
|
|
532
508
|
)
|
|
533
509
|
)}
|
|
534
510
|
>
|
|
535
|
-
{
|
|
511
|
+
{t('product.virtual_try_on.upload_requirements')}
|
|
536
512
|
</p>
|
|
537
513
|
</div>
|
|
538
514
|
<input
|
|
@@ -559,7 +535,8 @@ export function VirtualTryOnUploadModal({
|
|
|
559
535
|
settings?.customStyles?.rulesInfoText
|
|
560
536
|
)}
|
|
561
537
|
>
|
|
562
|
-
{
|
|
538
|
+
{t('product.virtual_try_on.upload_info') ||
|
|
539
|
+
'Uygulamaya uygun fotoğraf yüklemeniz çok önemlidir.'}
|
|
563
540
|
</p>
|
|
564
541
|
</div>
|
|
565
542
|
|
|
@@ -583,7 +560,11 @@ export function VirtualTryOnUploadModal({
|
|
|
583
560
|
)}
|
|
584
561
|
>
|
|
585
562
|
<img
|
|
586
|
-
src={
|
|
563
|
+
src={
|
|
564
|
+
typeof rule1Image === 'string'
|
|
565
|
+
? rule1Image
|
|
566
|
+
: rule1Image.src
|
|
567
|
+
}
|
|
587
568
|
alt="Example"
|
|
588
569
|
className={twMerge(
|
|
589
570
|
'w-full h-full',
|
|
@@ -599,10 +580,10 @@ export function VirtualTryOnUploadModal({
|
|
|
599
580
|
)}
|
|
600
581
|
>
|
|
601
582
|
{[
|
|
602
|
-
{ img:
|
|
603
|
-
{ img:
|
|
604
|
-
{ img:
|
|
605
|
-
{ img:
|
|
583
|
+
{ img: rule2Image, num: 2 },
|
|
584
|
+
{ img: rule3Image, num: 3 },
|
|
585
|
+
{ img: rule4Image, num: 4 },
|
|
586
|
+
{ img: rule5Image, num: 5 }
|
|
606
587
|
].map(({ img, num }) => (
|
|
607
588
|
<div
|
|
608
589
|
key={num}
|
|
@@ -613,7 +594,7 @@ export function VirtualTryOnUploadModal({
|
|
|
613
594
|
)}
|
|
614
595
|
>
|
|
615
596
|
<img
|
|
616
|
-
src={img}
|
|
597
|
+
src={typeof img === 'string' ? img : img.src}
|
|
617
598
|
alt={`Bad example ${num}`}
|
|
618
599
|
className={twMerge(
|
|
619
600
|
'w-full h-full',
|
|
@@ -656,7 +637,7 @@ export function VirtualTryOnUploadModal({
|
|
|
656
637
|
settings?.customStyles?.rulesListItemText
|
|
657
638
|
}
|
|
658
639
|
>
|
|
659
|
-
{
|
|
640
|
+
{t('product.virtual_try_on.rule_1')}
|
|
660
641
|
</span>
|
|
661
642
|
</li>
|
|
662
643
|
<li
|
|
@@ -678,7 +659,7 @@ export function VirtualTryOnUploadModal({
|
|
|
678
659
|
settings?.customStyles?.rulesListItemText
|
|
679
660
|
}
|
|
680
661
|
>
|
|
681
|
-
{
|
|
662
|
+
{t('product.virtual_try_on.rule_2')}
|
|
682
663
|
</span>
|
|
683
664
|
</li>
|
|
684
665
|
<li
|
|
@@ -700,7 +681,7 @@ export function VirtualTryOnUploadModal({
|
|
|
700
681
|
settings?.customStyles?.rulesListItemText
|
|
701
682
|
}
|
|
702
683
|
>
|
|
703
|
-
{
|
|
684
|
+
{t('product.virtual_try_on.rule_3')}
|
|
704
685
|
</span>
|
|
705
686
|
</li>
|
|
706
687
|
<li
|
|
@@ -722,7 +703,7 @@ export function VirtualTryOnUploadModal({
|
|
|
722
703
|
settings?.customStyles?.rulesListItemText
|
|
723
704
|
}
|
|
724
705
|
>
|
|
725
|
-
{
|
|
706
|
+
{t('product.virtual_try_on.rule_4')}
|
|
726
707
|
</span>
|
|
727
708
|
</li>
|
|
728
709
|
<li
|
|
@@ -744,7 +725,7 @@ export function VirtualTryOnUploadModal({
|
|
|
744
725
|
settings?.customStyles?.rulesListItemText
|
|
745
726
|
}
|
|
746
727
|
>
|
|
747
|
-
{
|
|
728
|
+
{t('product.virtual_try_on.rule_5')}
|
|
748
729
|
</span>
|
|
749
730
|
</li>
|
|
750
731
|
<li
|
|
@@ -766,7 +747,7 @@ export function VirtualTryOnUploadModal({
|
|
|
766
747
|
settings?.customStyles?.rulesListItemText
|
|
767
748
|
}
|
|
768
749
|
>
|
|
769
|
-
{
|
|
750
|
+
{t('product.virtual_try_on.rule_6')}
|
|
770
751
|
</span>
|
|
771
752
|
</li>
|
|
772
753
|
</ul>
|
|
@@ -792,7 +773,11 @@ export function VirtualTryOnUploadModal({
|
|
|
792
773
|
)}
|
|
793
774
|
>
|
|
794
775
|
<img
|
|
795
|
-
src={
|
|
776
|
+
src={
|
|
777
|
+
typeof rule1Image === 'string'
|
|
778
|
+
? rule1Image
|
|
779
|
+
: rule1Image.src
|
|
780
|
+
}
|
|
796
781
|
alt="Example"
|
|
797
782
|
className={twMerge(
|
|
798
783
|
'relative w-full',
|
|
@@ -811,10 +796,10 @@ export function VirtualTryOnUploadModal({
|
|
|
811
796
|
)}
|
|
812
797
|
>
|
|
813
798
|
{[
|
|
814
|
-
{ img:
|
|
815
|
-
{ img:
|
|
816
|
-
{ img:
|
|
817
|
-
{ img:
|
|
799
|
+
{ img: rule2Image, num: 2 },
|
|
800
|
+
{ img: rule3Image, num: 3 },
|
|
801
|
+
{ img: rule4Image, num: 4 },
|
|
802
|
+
{ img: rule5Image, num: 5 }
|
|
818
803
|
].map(({ img, num }) => (
|
|
819
804
|
<div
|
|
820
805
|
key={num}
|
|
@@ -825,7 +810,9 @@ export function VirtualTryOnUploadModal({
|
|
|
825
810
|
)}
|
|
826
811
|
>
|
|
827
812
|
<img
|
|
828
|
-
src={
|
|
813
|
+
src={
|
|
814
|
+
typeof img === 'string' ? img : img.src
|
|
815
|
+
}
|
|
829
816
|
alt={`Bad example ${num}`}
|
|
830
817
|
className={twMerge(
|
|
831
818
|
'w-full h-full',
|
|
@@ -850,7 +837,7 @@ export function VirtualTryOnUploadModal({
|
|
|
850
837
|
settings?.customStyles?.rulesInfoTextDesktop
|
|
851
838
|
)}
|
|
852
839
|
>
|
|
853
|
-
{
|
|
840
|
+
{t('product.virtual_try_on.upload_info')}
|
|
854
841
|
</p>
|
|
855
842
|
<ul
|
|
856
843
|
className={twMerge(
|
|
@@ -878,7 +865,7 @@ export function VirtualTryOnUploadModal({
|
|
|
878
865
|
settings?.customStyles?.rulesListItemText
|
|
879
866
|
}
|
|
880
867
|
>
|
|
881
|
-
{
|
|
868
|
+
{t('product.virtual_try_on.rule_1')}
|
|
882
869
|
</span>
|
|
883
870
|
</li>
|
|
884
871
|
<li
|
|
@@ -901,7 +888,7 @@ export function VirtualTryOnUploadModal({
|
|
|
901
888
|
settings?.customStyles?.rulesListItemText
|
|
902
889
|
}
|
|
903
890
|
>
|
|
904
|
-
{
|
|
891
|
+
{t('product.virtual_try_on.rule_2')}
|
|
905
892
|
</span>
|
|
906
893
|
</li>
|
|
907
894
|
<li
|
|
@@ -924,7 +911,7 @@ export function VirtualTryOnUploadModal({
|
|
|
924
911
|
settings?.customStyles?.rulesListItemText
|
|
925
912
|
}
|
|
926
913
|
>
|
|
927
|
-
{
|
|
914
|
+
{t('product.virtual_try_on.rule_3')}
|
|
928
915
|
</span>
|
|
929
916
|
</li>
|
|
930
917
|
<li
|
|
@@ -947,7 +934,7 @@ export function VirtualTryOnUploadModal({
|
|
|
947
934
|
settings?.customStyles?.rulesListItemText
|
|
948
935
|
}
|
|
949
936
|
>
|
|
950
|
-
{
|
|
937
|
+
{t('product.virtual_try_on.rule_4')}
|
|
951
938
|
</span>
|
|
952
939
|
</li>
|
|
953
940
|
<li
|
|
@@ -970,7 +957,7 @@ export function VirtualTryOnUploadModal({
|
|
|
970
957
|
settings?.customStyles?.rulesListItemText
|
|
971
958
|
}
|
|
972
959
|
>
|
|
973
|
-
{
|
|
960
|
+
{t('product.virtual_try_on.rule_5')}
|
|
974
961
|
</span>
|
|
975
962
|
</li>
|
|
976
963
|
<li
|
|
@@ -993,7 +980,7 @@ export function VirtualTryOnUploadModal({
|
|
|
993
980
|
settings?.customStyles?.rulesListItemText
|
|
994
981
|
}
|
|
995
982
|
>
|
|
996
|
-
{
|
|
983
|
+
{t('product.virtual_try_on.rule_6')}
|
|
997
984
|
</span>
|
|
998
985
|
</li>
|
|
999
986
|
</ul>
|
|
@@ -1024,17 +1011,14 @@ export function VirtualTryOnUploadModal({
|
|
|
1024
1011
|
minWidth={100}
|
|
1025
1012
|
minHeight={100}
|
|
1026
1013
|
keepSelection={true}
|
|
1027
|
-
className=
|
|
1028
|
-
'w-full',
|
|
1029
|
-
error && 'pointer-events-none'
|
|
1030
|
-
)}
|
|
1014
|
+
className="w-full"
|
|
1031
1015
|
>
|
|
1032
1016
|
<img
|
|
1033
1017
|
ref={imageRef}
|
|
1034
1018
|
src={uploadedImage || ''}
|
|
1035
1019
|
alt="Uploaded image"
|
|
1036
1020
|
className={twMerge(
|
|
1037
|
-
'rounded-[4px] w-auto
|
|
1021
|
+
'rounded-[4px] w-auto',
|
|
1038
1022
|
settings?.customStyles?.cropImage
|
|
1039
1023
|
)}
|
|
1040
1024
|
/>
|
|
@@ -1182,8 +1166,6 @@ export function VirtualTryOnUploadModal({
|
|
|
1182
1166
|
completedCrop.height > 10
|
|
1183
1167
|
) {
|
|
1184
1168
|
await confirmCrop();
|
|
1185
|
-
// Reset crop selection after confirm
|
|
1186
|
-
setCrop(undefined);
|
|
1187
1169
|
setShouldProcessAfterCrop(true);
|
|
1188
1170
|
} else {
|
|
1189
1171
|
processTryOn();
|