@thefittingroom/shop-ui 5.0.2 → 5.0.3
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/dist/index.js +338 -185
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -20731,7 +20731,7 @@ function TextT({
|
|
|
20731
20731
|
return /* @__PURE__ */ jsx$1(Text, { ...props, children: translatedText });
|
|
20732
20732
|
}
|
|
20733
20733
|
const SvgArrowBack = (props) => /* @__PURE__ */ reactExports.createElement("svg", { width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ reactExports.createElement("path", { d: "M7.825 13L13.425 18.6L12 20L4 12L12 4L13.425 5.4L7.825 11H20V13H7.825Z", fill: "#1E1E1E" }));
|
|
20734
|
-
const
|
|
20734
|
+
const AVATAR_BOTTOM_BACKGROUND_URL = "data:image/png;base64,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";
|
|
20735
20735
|
const SvgCheckCircle = (props) => /* @__PURE__ */ reactExports.createElement("svg", { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ reactExports.createElement("g", { clipPath: "url(#clip0_4454_620)" }, /* @__PURE__ */ reactExports.createElement("path", { d: "M14.6666 7.38674V8.00007C14.6658 9.43769 14.2003 10.8365 13.3395 11.988C12.4787 13.1394 11.2688 13.9817 9.89016 14.3893C8.51154 14.797 7.03809 14.748 5.68957 14.2498C4.34104 13.7516 3.18969 12.8308 2.40723 11.6248C1.62476 10.4188 1.25311 8.99211 1.3477 7.55761C1.44229 6.12312 1.99806 4.75762 2.93211 3.66479C3.86615 2.57195 5.12844 1.81033 6.53071 1.4935C7.93298 1.17668 9.4001 1.32163 10.7133 1.90674M14.6666 2.66674L7.99992 9.34007L5.99992 7.34007", stroke: "#21201F", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" })), /* @__PURE__ */ reactExports.createElement("defs", null, /* @__PURE__ */ reactExports.createElement("clipPath", { id: "clip0_4454_620" }, /* @__PURE__ */ reactExports.createElement("rect", { width: 16, height: 16, fill: "white" }))));
|
|
20736
20736
|
const SvgChevronLeft = (props) => /* @__PURE__ */ reactExports.createElement("svg", { width: 48, height: 48, viewBox: "0 0 48 48", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ reactExports.createElement("g", { opacity: 0.35 }, /* @__PURE__ */ reactExports.createElement("path", { d: "M30 36L18 24L30 12", stroke: "#1E1E1E", strokeWidth: 4, strokeLinecap: "round", strokeLinejoin: "round" })));
|
|
20737
20737
|
const SvgChevronRight = (props) => /* @__PURE__ */ reactExports.createElement("svg", { width: 48, height: 48, viewBox: "0 0 48 48", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ reactExports.createElement("g", { opacity: 0.35 }, /* @__PURE__ */ reactExports.createElement("path", { d: "M18 36L30 24L18 12", stroke: "#1E1E1E", strokeWidth: 4, strokeLinecap: "round", strokeLinejoin: "round" })));
|
|
@@ -20891,6 +20891,9 @@ function SidecarModalFrame({
|
|
|
20891
20891
|
left: 0,
|
|
20892
20892
|
width: "100vw",
|
|
20893
20893
|
height: "100vh",
|
|
20894
|
+
margin: 0,
|
|
20895
|
+
padding: 0,
|
|
20896
|
+
border: "none",
|
|
20894
20897
|
backgroundColor: "#FFFFFF"
|
|
20895
20898
|
}
|
|
20896
20899
|
}));
|
|
@@ -41517,93 +41520,22 @@ async function getStyleByExternalId(brandId, externalId) {
|
|
|
41517
41520
|
recordCache[cacheKey] = record;
|
|
41518
41521
|
return record;
|
|
41519
41522
|
}
|
|
41523
|
+
const AVATAR_IMAGE_ASPECT_RATIO = 2 / 3;
|
|
41524
|
+
const AVATAR_DESKTOP_BOTTOM_CONTAINER_HEIGHT_PX = 100;
|
|
41520
41525
|
const logger$1 = getLogger("vto-single");
|
|
41521
41526
|
function VtoSingleOverlay() {
|
|
41522
|
-
const {
|
|
41523
|
-
t
|
|
41524
|
-
} = useTranslation();
|
|
41525
41527
|
const {
|
|
41526
41528
|
brandId
|
|
41527
41529
|
} = getStaticData();
|
|
41528
41530
|
const userIsLoggedIn = useMainStore((state) => state.userIsLoggedIn);
|
|
41529
41531
|
const userHasAvatar = useMainStore((state) => state.userHasAvatar);
|
|
41530
41532
|
const userProfile = useMainStore((state) => state.userProfile);
|
|
41533
|
+
const deviceLayout = useMainStore((state) => state.deviceLayout);
|
|
41531
41534
|
const openOverlay = useMainStore((state) => state.openOverlay);
|
|
41532
41535
|
const closeOverlay = useMainStore((state) => state.closeOverlay);
|
|
41533
41536
|
const [loadedProductData, setLoadedProductData] = reactExports.useState(null);
|
|
41534
41537
|
const [selectedSizeLabel, setSelectedSizeLabel] = reactExports.useState(null);
|
|
41535
41538
|
const [selectedColorLabel, setSelectedColorLabel] = reactExports.useState(null);
|
|
41536
|
-
const css2 = useCss((theme) => ({
|
|
41537
|
-
mainContainer: {
|
|
41538
|
-
display: "flex",
|
|
41539
|
-
height: "100%"
|
|
41540
|
-
},
|
|
41541
|
-
rightContainer: {
|
|
41542
|
-
flexGrow: 1,
|
|
41543
|
-
padding: "16px",
|
|
41544
|
-
display: "flex",
|
|
41545
|
-
flexDirection: "column"
|
|
41546
|
-
},
|
|
41547
|
-
contentContainer: {
|
|
41548
|
-
flexGrow: 1,
|
|
41549
|
-
display: "flex",
|
|
41550
|
-
flexDirection: "column",
|
|
41551
|
-
margin: "8px 0px",
|
|
41552
|
-
padding: "16px 48px",
|
|
41553
|
-
overflowY: "auto"
|
|
41554
|
-
},
|
|
41555
|
-
productNameContainer: {},
|
|
41556
|
-
productNameText: {
|
|
41557
|
-
fontSize: "32px"
|
|
41558
|
-
},
|
|
41559
|
-
priceContainer: {
|
|
41560
|
-
marginTop: "8px"
|
|
41561
|
-
},
|
|
41562
|
-
priceText: {
|
|
41563
|
-
fontSize: "18px"
|
|
41564
|
-
},
|
|
41565
|
-
colorContainer: {
|
|
41566
|
-
marginTop: "16px"
|
|
41567
|
-
},
|
|
41568
|
-
colorLabelText: {
|
|
41569
|
-
fontSize: "12px"
|
|
41570
|
-
},
|
|
41571
|
-
colorSelect: {
|
|
41572
|
-
border: "none",
|
|
41573
|
-
color: theme.color_fg_text,
|
|
41574
|
-
fontFamily: theme.font_family,
|
|
41575
|
-
fontSize: "12px"
|
|
41576
|
-
},
|
|
41577
|
-
sizeRecContainer: {
|
|
41578
|
-
marginTop: "16px"
|
|
41579
|
-
},
|
|
41580
|
-
buttonContainer: {
|
|
41581
|
-
marginTop: "24px"
|
|
41582
|
-
},
|
|
41583
|
-
descriptionContainer: {
|
|
41584
|
-
marginTop: "32px"
|
|
41585
|
-
},
|
|
41586
|
-
descriptionText: {
|
|
41587
|
-
fontSize: "12px"
|
|
41588
|
-
},
|
|
41589
|
-
footerContainer: {
|
|
41590
|
-
marginLeft: "auto",
|
|
41591
|
-
marginRight: "auto",
|
|
41592
|
-
paddingBottom: "16px",
|
|
41593
|
-
display: "flex",
|
|
41594
|
-
justifyContent: "center",
|
|
41595
|
-
alignItems: "center",
|
|
41596
|
-
gap: "4px"
|
|
41597
|
-
},
|
|
41598
|
-
footerSignOutLink: {
|
|
41599
|
-
fontSize: "10px",
|
|
41600
|
-
color: theme.color_tfr_800
|
|
41601
|
-
},
|
|
41602
|
-
footerTfrIcon: {
|
|
41603
|
-
width: "100px",
|
|
41604
|
-
height: "24px"
|
|
41605
|
-
}
|
|
41606
|
-
}));
|
|
41607
41539
|
reactExports.useEffect(() => {
|
|
41608
41540
|
if (!userIsLoggedIn) {
|
|
41609
41541
|
openOverlay(OverlayName.LANDING, {
|
|
@@ -41768,10 +41700,6 @@ function VtoSingleOverlay() {
|
|
|
41768
41700
|
logger$1.logError("Error during logout:", error);
|
|
41769
41701
|
});
|
|
41770
41702
|
}, [closeOverlay, openOverlay]);
|
|
41771
|
-
const handleColorSelectChange = reactExports.useCallback((e) => {
|
|
41772
|
-
const newColorLabel = e.target.value || null;
|
|
41773
|
-
setSelectedColorLabel(newColorLabel);
|
|
41774
|
-
}, []);
|
|
41775
41703
|
const handleAddToCartClick = reactExports.useCallback(async () => {
|
|
41776
41704
|
try {
|
|
41777
41705
|
if (!selectedSizeLabel) {
|
|
@@ -41792,35 +41720,158 @@ function VtoSingleOverlay() {
|
|
|
41792
41720
|
if (!userIsLoggedIn || !userHasAvatar || !loadedProductData || !selectedColorSizeRecord) {
|
|
41793
41721
|
return /* @__PURE__ */ jsx$1(SidecarModalFrame, { onRequestClose: closeOverlay, children: /* @__PURE__ */ jsx$1(Loading, {}) });
|
|
41794
41722
|
}
|
|
41795
|
-
|
|
41796
|
-
|
|
41723
|
+
let Layout;
|
|
41724
|
+
if (deviceLayout === DeviceLayout.MOBILE_PORTRAIT || deviceLayout === DeviceLayout.TABLET_PORTRAIT) {
|
|
41725
|
+
Layout = MobileLayout;
|
|
41726
|
+
} else {
|
|
41727
|
+
Layout = DesktopLayout;
|
|
41728
|
+
}
|
|
41729
|
+
return /* @__PURE__ */ jsx$1(SidecarModalFrame, { onRequestClose: closeOverlay, children: /* @__PURE__ */ jsx$1(Layout, { loadedProductData, selectedColorSizeRecord, availableColorLabels, selectedColorLabel, selectedSizeLabel, frameUrls, onClose: closeOverlay, onChangeColor: setSelectedColorLabel, onChangeSize: setSelectedSizeLabel, onAddToCart: handleAddToCartClick, onSignOut: handleSignOutClick }) });
|
|
41730
|
+
}
|
|
41731
|
+
function MobileLayout({
|
|
41732
|
+
// loadedProductData,
|
|
41733
|
+
// selectedColorSizeRecord,
|
|
41734
|
+
// availableColorLabels,
|
|
41735
|
+
// selectedColorLabel,
|
|
41736
|
+
// selectedSizeLabel,
|
|
41737
|
+
frameUrls
|
|
41738
|
+
// onClose,
|
|
41739
|
+
// onChangeColor,
|
|
41740
|
+
// onChangeSize,
|
|
41741
|
+
// onAddToCart,
|
|
41742
|
+
// onSignOut,
|
|
41743
|
+
}) {
|
|
41744
|
+
const css2 = useCss((_theme) => ({
|
|
41745
|
+
mainContainer: {
|
|
41746
|
+
width: "100%",
|
|
41747
|
+
height: "100%"
|
|
41748
|
+
}
|
|
41749
|
+
}));
|
|
41750
|
+
return /* @__PURE__ */ jsx$1("div", { css: css2.mainContainer, children: /* @__PURE__ */ jsx$1(Avatar, { frameUrls }) });
|
|
41751
|
+
}
|
|
41752
|
+
function DesktopLayout({
|
|
41753
|
+
loadedProductData,
|
|
41754
|
+
selectedColorSizeRecord,
|
|
41755
|
+
availableColorLabels,
|
|
41756
|
+
selectedColorLabel,
|
|
41757
|
+
selectedSizeLabel,
|
|
41758
|
+
frameUrls,
|
|
41759
|
+
onClose,
|
|
41760
|
+
onChangeColor,
|
|
41761
|
+
onChangeSize,
|
|
41762
|
+
onAddToCart,
|
|
41763
|
+
onSignOut
|
|
41764
|
+
}) {
|
|
41765
|
+
const {
|
|
41766
|
+
t
|
|
41767
|
+
} = useTranslation();
|
|
41768
|
+
const css2 = useCss((_theme) => ({
|
|
41769
|
+
mainContainer: {
|
|
41770
|
+
display: "flex",
|
|
41771
|
+
height: "100%"
|
|
41772
|
+
},
|
|
41773
|
+
rightContainer: {
|
|
41774
|
+
flexGrow: 1,
|
|
41775
|
+
padding: "16px",
|
|
41776
|
+
display: "flex",
|
|
41777
|
+
flexDirection: "column"
|
|
41778
|
+
},
|
|
41779
|
+
contentContainer: {
|
|
41780
|
+
flexGrow: 1,
|
|
41781
|
+
display: "flex",
|
|
41782
|
+
flexDirection: "column",
|
|
41783
|
+
margin: "8px 0px",
|
|
41784
|
+
padding: "16px 48px",
|
|
41785
|
+
overflowY: "auto"
|
|
41786
|
+
},
|
|
41787
|
+
productNameContainer: {},
|
|
41788
|
+
productNameText: {
|
|
41789
|
+
fontSize: "32px"
|
|
41790
|
+
},
|
|
41791
|
+
priceContainer: {
|
|
41792
|
+
marginTop: "8px"
|
|
41793
|
+
},
|
|
41794
|
+
priceText: {
|
|
41795
|
+
fontSize: "18px"
|
|
41796
|
+
},
|
|
41797
|
+
colorContainer: {
|
|
41798
|
+
marginTop: "16px"
|
|
41799
|
+
},
|
|
41800
|
+
sizeRecommendationContainer: {
|
|
41801
|
+
marginTop: "16px",
|
|
41802
|
+
display: "flex",
|
|
41803
|
+
flexDirection: "column",
|
|
41804
|
+
border: "1px solid rgba(33, 32, 31, 0.2)",
|
|
41805
|
+
padding: "32px 56px",
|
|
41806
|
+
justifyContent: "center",
|
|
41807
|
+
alignItems: "center"
|
|
41808
|
+
},
|
|
41809
|
+
recommendedSizeContainer: {
|
|
41810
|
+
display: "flex",
|
|
41811
|
+
alignItems: "center",
|
|
41812
|
+
gap: "6px",
|
|
41813
|
+
lineHeight: "normal"
|
|
41814
|
+
},
|
|
41815
|
+
recommendedSizeText: {
|
|
41816
|
+
fontWeight: "600"
|
|
41817
|
+
},
|
|
41818
|
+
itemFitContainer: {
|
|
41819
|
+
marginTop: "8px",
|
|
41820
|
+
lineHeight: "normal"
|
|
41821
|
+
},
|
|
41822
|
+
itemFitText: {},
|
|
41823
|
+
selectSizeLabelContainer: {
|
|
41824
|
+
lineHeight: "normal"
|
|
41825
|
+
},
|
|
41826
|
+
selectSizeLabelText: {},
|
|
41827
|
+
sizeSelectorContainer: {
|
|
41828
|
+
marginTop: "24px"
|
|
41829
|
+
},
|
|
41830
|
+
itemFitDetailsContainer: {
|
|
41831
|
+
marginTop: "24px",
|
|
41832
|
+
width: "100%"
|
|
41833
|
+
},
|
|
41834
|
+
buttonContainer: {
|
|
41835
|
+
marginTop: "24px"
|
|
41836
|
+
},
|
|
41837
|
+
descriptionContainer: {
|
|
41838
|
+
marginTop: "32px"
|
|
41839
|
+
}
|
|
41840
|
+
}));
|
|
41841
|
+
return /* @__PURE__ */ jsxs("div", { css: css2.mainContainer, children: [
|
|
41842
|
+
/* @__PURE__ */ jsx$1(Avatar, { frameUrls }),
|
|
41797
41843
|
/* @__PURE__ */ jsxs("div", { css: css2.rightContainer, children: [
|
|
41798
|
-
/* @__PURE__ */ jsx$1(ModalTitlebar, { title: t("try_it_on"), onCloseClick:
|
|
41844
|
+
/* @__PURE__ */ jsx$1(ModalTitlebar, { title: t("try_it_on"), onCloseClick: onClose }),
|
|
41799
41845
|
/* @__PURE__ */ jsxs("div", { css: css2.contentContainer, children: [
|
|
41800
41846
|
/* @__PURE__ */ jsx$1("div", { css: css2.productNameContainer, children: /* @__PURE__ */ jsx$1(Text, { variant: "brand", css: css2.productNameText, children: loadedProductData.productName }) }),
|
|
41801
41847
|
/* @__PURE__ */ jsx$1("div", { css: css2.priceContainer, children: /* @__PURE__ */ jsx$1(Text, { variant: "base", css: css2.priceText, children: selectedColorSizeRecord.priceFormatted }) }),
|
|
41802
|
-
|
|
41803
|
-
|
|
41804
|
-
/* @__PURE__ */
|
|
41805
|
-
|
|
41806
|
-
|
|
41807
|
-
|
|
41808
|
-
|
|
41809
|
-
|
|
41810
|
-
|
|
41848
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.colorContainer, children: /* @__PURE__ */ jsx$1(ColorSelector, { availableColorLabels, selectedColorLabel, onChangeColor }) }),
|
|
41849
|
+
/* @__PURE__ */ jsxs("div", { css: css2.sizeRecommendationContainer, children: [
|
|
41850
|
+
/* @__PURE__ */ jsxs("div", { css: css2.recommendedSizeContainer, children: [
|
|
41851
|
+
/* @__PURE__ */ jsx$1(SvgInfoIcon, {}),
|
|
41852
|
+
/* @__PURE__ */ jsx$1(RecommendedSizeText, { loadedProductData, css: css2.recommendedSizeText })
|
|
41853
|
+
] }),
|
|
41854
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.itemFitContainer, children: /* @__PURE__ */ jsx$1(ItemFitText, { loadedProductData, css: css2.itemFitText }) }),
|
|
41855
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.selectSizeLabelContainer, children: /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.selectSizeLabelText, t: "size-rec.select_size" }) }),
|
|
41856
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.sizeSelectorContainer, children: /* @__PURE__ */ jsx$1(SizeSelector, { loadedProductData, selectedSizeLabel, onChangeSize }) }),
|
|
41857
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.itemFitDetailsContainer, children: /* @__PURE__ */ jsx$1(ItemFitDetails, { loadedProductData, selectedSizeLabel }) })
|
|
41858
|
+
] }),
|
|
41859
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.buttonContainer, children: /* @__PURE__ */ jsx$1(AddToCartButton, { onClick: onAddToCart }) }),
|
|
41860
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.descriptionContainer, children: /* @__PURE__ */ jsx$1(ProductDescriptionText, { loadedProductData }) })
|
|
41811
41861
|
] }),
|
|
41812
|
-
/* @__PURE__ */
|
|
41813
|
-
/* @__PURE__ */ jsx$1(LinkT, { variant: "underline", css: css2.footerSignOutLink, onClick: handleSignOutClick, t: "vto-single.sign_out" }),
|
|
41814
|
-
/* @__PURE__ */ jsx$1(SvgTfrName, { css: css2.footerTfrIcon })
|
|
41815
|
-
] })
|
|
41862
|
+
/* @__PURE__ */ jsx$1(Footer, { onSignOutClick: onSignOut })
|
|
41816
41863
|
] })
|
|
41817
|
-
] })
|
|
41864
|
+
] });
|
|
41818
41865
|
}
|
|
41819
|
-
|
|
41820
|
-
function VtoAvatar({
|
|
41866
|
+
function Avatar({
|
|
41821
41867
|
frameUrls
|
|
41822
41868
|
}) {
|
|
41823
|
-
const
|
|
41869
|
+
const deviceLayout = useMainStore((state) => state.deviceLayout);
|
|
41870
|
+
const isMobileLayout = deviceLayout === DeviceLayout.MOBILE_PORTRAIT || deviceLayout === DeviceLayout.TABLET_PORTRAIT;
|
|
41871
|
+
const [containerSize, setContainerSize] = reactExports.useState({
|
|
41872
|
+
width: window.innerWidth,
|
|
41873
|
+
height: window.innerHeight
|
|
41874
|
+
});
|
|
41824
41875
|
const topContainerRef = reactExports.useRef(null);
|
|
41825
41876
|
const [selectedFrameIndex, setSelectedFrameIndex] = reactExports.useState(null);
|
|
41826
41877
|
const css2 = useCss((theme) => ({
|
|
@@ -41853,17 +41904,17 @@ function VtoAvatar({
|
|
|
41853
41904
|
width: "48px",
|
|
41854
41905
|
height: "48px"
|
|
41855
41906
|
},
|
|
41856
|
-
|
|
41907
|
+
bottomContainer: {
|
|
41857
41908
|
position: "absolute",
|
|
41858
41909
|
bottom: "0",
|
|
41859
|
-
height:
|
|
41910
|
+
height: "50px",
|
|
41860
41911
|
display: "flex",
|
|
41861
41912
|
flexDirection: "column",
|
|
41862
41913
|
alignItems: "center",
|
|
41863
41914
|
justifyContent: "center",
|
|
41864
41915
|
paddingBottom: "32px",
|
|
41865
41916
|
backgroundColor: "#FFFFFF",
|
|
41866
|
-
backgroundImage: `url(${
|
|
41917
|
+
backgroundImage: `url(${AVATAR_BOTTOM_BACKGROUND_URL})`,
|
|
41867
41918
|
backgroundSize: "contain",
|
|
41868
41919
|
backgroundRepeat: "repeat-y"
|
|
41869
41920
|
},
|
|
@@ -41877,7 +41928,15 @@ function VtoAvatar({
|
|
|
41877
41928
|
}));
|
|
41878
41929
|
reactExports.useEffect(() => {
|
|
41879
41930
|
const handleResize = () => {
|
|
41880
|
-
|
|
41931
|
+
const containerEl = topContainerRef.current;
|
|
41932
|
+
const size = containerEl ? {
|
|
41933
|
+
width: containerEl.clientWidth,
|
|
41934
|
+
height: containerEl.clientHeight
|
|
41935
|
+
} : {
|
|
41936
|
+
width: window.innerWidth,
|
|
41937
|
+
height: window.innerHeight
|
|
41938
|
+
};
|
|
41939
|
+
setContainerSize(size);
|
|
41881
41940
|
};
|
|
41882
41941
|
handleResize();
|
|
41883
41942
|
window.addEventListener("resize", handleResize);
|
|
@@ -41898,8 +41957,42 @@ function VtoAvatar({
|
|
|
41898
41957
|
}, 200);
|
|
41899
41958
|
}
|
|
41900
41959
|
}, [frameUrls, selectedFrameIndex]);
|
|
41901
|
-
const
|
|
41902
|
-
|
|
41960
|
+
const {
|
|
41961
|
+
imageSize,
|
|
41962
|
+
bottomContainerSize
|
|
41963
|
+
} = reactExports.useMemo(() => {
|
|
41964
|
+
let imageSize2;
|
|
41965
|
+
let bottomContainerSize2;
|
|
41966
|
+
if (isMobileLayout) {
|
|
41967
|
+
const imageWidthPx = containerSize.width;
|
|
41968
|
+
const imageHeightPx = Math.floor(imageWidthPx / AVATAR_IMAGE_ASPECT_RATIO);
|
|
41969
|
+
const bottomContainerHeightPx = containerSize.height - imageHeightPx;
|
|
41970
|
+
imageSize2 = {
|
|
41971
|
+
width: imageWidthPx,
|
|
41972
|
+
height: imageHeightPx
|
|
41973
|
+
};
|
|
41974
|
+
bottomContainerSize2 = {
|
|
41975
|
+
width: imageWidthPx,
|
|
41976
|
+
height: bottomContainerHeightPx
|
|
41977
|
+
};
|
|
41978
|
+
} else {
|
|
41979
|
+
const imageHeightPx = containerSize.height - AVATAR_DESKTOP_BOTTOM_CONTAINER_HEIGHT_PX;
|
|
41980
|
+
const imageWidthPx = Math.floor(imageHeightPx * AVATAR_IMAGE_ASPECT_RATIO);
|
|
41981
|
+
const bottomContainerHeightPx = AVATAR_DESKTOP_BOTTOM_CONTAINER_HEIGHT_PX;
|
|
41982
|
+
imageSize2 = {
|
|
41983
|
+
width: imageWidthPx,
|
|
41984
|
+
height: imageHeightPx
|
|
41985
|
+
};
|
|
41986
|
+
bottomContainerSize2 = {
|
|
41987
|
+
width: imageWidthPx,
|
|
41988
|
+
height: bottomContainerHeightPx
|
|
41989
|
+
};
|
|
41990
|
+
}
|
|
41991
|
+
return {
|
|
41992
|
+
imageSize: imageSize2,
|
|
41993
|
+
bottomContainerSize: bottomContainerSize2
|
|
41994
|
+
};
|
|
41995
|
+
}, [isMobileLayout, containerSize]);
|
|
41903
41996
|
const rotateLeft = reactExports.useCallback(() => {
|
|
41904
41997
|
setSelectedFrameIndex((prevIndex) => {
|
|
41905
41998
|
if (prevIndex == null) {
|
|
@@ -41941,86 +42034,127 @@ function VtoAvatar({
|
|
|
41941
42034
|
if (frameUrls && selectedFrameIndex != null) {
|
|
41942
42035
|
contentNode = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
41943
42036
|
/* @__PURE__ */ jsxs("div", { css: css2.imageContainer, style: {
|
|
41944
|
-
width:
|
|
41945
|
-
height:
|
|
42037
|
+
width: imageSize.width + "px",
|
|
42038
|
+
height: imageSize.height + "px"
|
|
41946
42039
|
}, children: [
|
|
41947
42040
|
/* @__PURE__ */ jsx$1("img", { src: frameUrls[selectedFrameIndex], css: css2.image, style: {
|
|
41948
|
-
width:
|
|
41949
|
-
height:
|
|
42041
|
+
width: imageSize.width + "px",
|
|
42042
|
+
height: imageSize.height + "px"
|
|
41950
42043
|
}, onMouseDown: handleImageDrag }),
|
|
41951
42044
|
/* @__PURE__ */ jsx$1("div", { css: css2.chevronLeftContainer, onClick: rotateLeft, children: /* @__PURE__ */ jsx$1(SvgChevronLeft, { css: css2.chevronIcon }) }),
|
|
41952
42045
|
/* @__PURE__ */ jsx$1("div", { css: css2.chevronRightContainer, onClick: rotateRight, children: /* @__PURE__ */ jsx$1(SvgChevronRight, { css: css2.chevronIcon }) })
|
|
41953
42046
|
] }),
|
|
41954
|
-
/* @__PURE__ */
|
|
41955
|
-
width:
|
|
41956
|
-
|
|
42047
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.bottomContainer, style: {
|
|
42048
|
+
width: bottomContainerSize.width + "px",
|
|
42049
|
+
height: bottomContainerSize.height + "px"
|
|
42050
|
+
}, children: isMobileLayout ? /* @__PURE__ */ jsx$1(Fragment, { children: " " }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
41957
42051
|
/* @__PURE__ */ jsx$1("input", { type: "range", min: 0, max: frameUrls.length - 1, step: 1, value: selectedFrameIndex, onChange: (e) => setSelectedFrameIndex(Number(e.target.value)), css: css2.sliderInput }),
|
|
41958
42052
|
/* @__PURE__ */ jsx$1(TextT, { variant: "base", t: "vto-single.slide_to_rotate", css: css2.sliderText })
|
|
41959
|
-
] })
|
|
42053
|
+
] }) })
|
|
41960
42054
|
] });
|
|
41961
42055
|
} else {
|
|
41962
42056
|
contentNode = /* @__PURE__ */ jsx$1(Loading, { t: "vto-single.avatar_loading" });
|
|
41963
42057
|
}
|
|
41964
42058
|
return /* @__PURE__ */ jsx$1("div", { ref: topContainerRef, css: css2.topContainer, style: {
|
|
41965
|
-
width:
|
|
42059
|
+
width: imageSize.width + "px"
|
|
41966
42060
|
}, children: contentNode });
|
|
41967
42061
|
}
|
|
41968
|
-
function
|
|
42062
|
+
function ColorSelector({
|
|
42063
|
+
availableColorLabels,
|
|
42064
|
+
selectedColorLabel,
|
|
42065
|
+
onChangeColor
|
|
42066
|
+
}) {
|
|
42067
|
+
const css2 = useCss((theme) => ({
|
|
42068
|
+
colorContainer: {},
|
|
42069
|
+
colorLabelText: {
|
|
42070
|
+
fontSize: "12px"
|
|
42071
|
+
},
|
|
42072
|
+
colorSelect: {
|
|
42073
|
+
border: "none",
|
|
42074
|
+
color: theme.color_fg_text,
|
|
42075
|
+
fontFamily: theme.font_family,
|
|
42076
|
+
fontSize: "12px"
|
|
42077
|
+
}
|
|
42078
|
+
}));
|
|
42079
|
+
const handleColorSelectChange = reactExports.useCallback((e) => {
|
|
42080
|
+
const newColorLabel = e.target.value || null;
|
|
42081
|
+
onChangeColor(newColorLabel);
|
|
42082
|
+
}, []);
|
|
42083
|
+
if (availableColorLabels.length < 2) {
|
|
42084
|
+
return null;
|
|
42085
|
+
}
|
|
42086
|
+
return /* @__PURE__ */ jsx$1("div", { css: css2.colorContainer, children: /* @__PURE__ */ jsxs("label", { children: [
|
|
42087
|
+
/* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2.colorLabelText, t: "vto-single.color_label" }),
|
|
42088
|
+
/* @__PURE__ */ jsx$1("select", { value: selectedColorLabel ?? "", onChange: handleColorSelectChange, css: css2.colorSelect, children: availableColorLabels.map((colorLabel) => /* @__PURE__ */ jsx$1("option", { value: colorLabel, children: colorLabel }, colorLabel)) })
|
|
42089
|
+
] }) });
|
|
42090
|
+
}
|
|
42091
|
+
function SizeSelector({
|
|
41969
42092
|
loadedProductData,
|
|
41970
42093
|
selectedSizeLabel,
|
|
41971
42094
|
onChangeSize
|
|
41972
42095
|
}) {
|
|
41973
|
-
const {
|
|
41974
|
-
t
|
|
41975
|
-
} = useTranslation();
|
|
41976
42096
|
const css2 = useCss((_theme) => ({
|
|
41977
|
-
|
|
41978
|
-
display: "flex",
|
|
41979
|
-
flexDirection: "column",
|
|
41980
|
-
border: "1px solid rgba(33, 32, 31, 0.2)",
|
|
41981
|
-
padding: "32px 56px",
|
|
41982
|
-
justifyContent: "center",
|
|
41983
|
-
alignItems: "center"
|
|
41984
|
-
},
|
|
41985
|
-
recommendedSizeContainer: {
|
|
41986
|
-
display: "flex",
|
|
41987
|
-
alignItems: "center",
|
|
41988
|
-
gap: "6px",
|
|
41989
|
-
lineHeight: "normal"
|
|
41990
|
-
},
|
|
41991
|
-
recommendedSizeText: {
|
|
41992
|
-
fontWeight: "600"
|
|
41993
|
-
},
|
|
41994
|
-
itemFitContainer: {
|
|
41995
|
-
marginTop: "8px",
|
|
41996
|
-
lineHeight: "normal"
|
|
41997
|
-
},
|
|
41998
|
-
itemFitText: {},
|
|
41999
|
-
selectSizeLabelContainer: {
|
|
42000
|
-
lineHeight: "normal"
|
|
42001
|
-
},
|
|
42002
|
-
selectSizeLabelText: {},
|
|
42003
|
-
sizeSelectorContainer: {
|
|
42004
|
-
marginTop: "24px",
|
|
42097
|
+
container: {
|
|
42005
42098
|
display: "flex",
|
|
42006
42099
|
alignItems: "center",
|
|
42007
42100
|
gap: "12px"
|
|
42008
42101
|
},
|
|
42009
|
-
|
|
42102
|
+
button: {
|
|
42010
42103
|
width: "54px",
|
|
42011
42104
|
height: "44px",
|
|
42012
42105
|
border: "1px solid rgba(33, 32, 31, 0.2)",
|
|
42013
42106
|
padding: "9px 5px"
|
|
42014
42107
|
},
|
|
42015
|
-
|
|
42108
|
+
selectedButton: {
|
|
42016
42109
|
border: "1px solid rgb(33, 32, 31)",
|
|
42017
42110
|
cursor: "default"
|
|
42018
|
-
}
|
|
42019
|
-
|
|
42020
|
-
|
|
42111
|
+
}
|
|
42112
|
+
}));
|
|
42113
|
+
const sizeSelectorNodeList = reactExports.useMemo(() => loadedProductData.sizes.map((sizeRecord) => {
|
|
42114
|
+
const isSelected = sizeRecord.sizeLabel === selectedSizeLabel;
|
|
42115
|
+
return /* @__PURE__ */ jsx$1(Button, { variant: "base", css: /* @__PURE__ */ css$1({
|
|
42116
|
+
...css2.button,
|
|
42117
|
+
...isSelected && css2.selectedButton
|
|
42118
|
+
}, "", ""), onClick: () => {
|
|
42119
|
+
if (isSelected) {
|
|
42120
|
+
return;
|
|
42121
|
+
}
|
|
42122
|
+
onChangeSize(sizeRecord.sizeLabel);
|
|
42123
|
+
}, children: sizeRecord.sizeLabel }, sizeRecord.sizeLabel);
|
|
42124
|
+
}), [loadedProductData.sizes, selectedSizeLabel, onChangeSize]);
|
|
42125
|
+
return /* @__PURE__ */ jsx$1("div", { css: css2.container, children: sizeSelectorNodeList });
|
|
42126
|
+
}
|
|
42127
|
+
function RecommendedSizeText({
|
|
42128
|
+
loadedProductData,
|
|
42129
|
+
css: css2
|
|
42130
|
+
}) {
|
|
42131
|
+
return /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2, t: "size-rec.recommended_size", vars: {
|
|
42132
|
+
size: loadedProductData.recommendedSizeLabel
|
|
42133
|
+
} });
|
|
42134
|
+
}
|
|
42135
|
+
function ItemFitText({
|
|
42136
|
+
loadedProductData,
|
|
42137
|
+
css: css2
|
|
42138
|
+
}) {
|
|
42139
|
+
const {
|
|
42140
|
+
t
|
|
42141
|
+
} = useTranslation();
|
|
42142
|
+
return /* @__PURE__ */ jsx$1(TextT, { variant: "base", css: css2, t: "size-rec.item_fit", vars: {
|
|
42143
|
+
fit: t(`size-rec.fitClassification.${loadedProductData.fitClassification}`) || loadedProductData.fitClassification
|
|
42144
|
+
} });
|
|
42145
|
+
}
|
|
42146
|
+
function ItemFitDetails({
|
|
42147
|
+
loadedProductData,
|
|
42148
|
+
selectedSizeLabel
|
|
42149
|
+
}) {
|
|
42150
|
+
const {
|
|
42151
|
+
t
|
|
42152
|
+
} = useTranslation();
|
|
42153
|
+
const css2 = useCss((_theme) => ({
|
|
42154
|
+
container: {
|
|
42021
42155
|
width: "100%"
|
|
42022
42156
|
},
|
|
42023
|
-
|
|
42157
|
+
line: {
|
|
42024
42158
|
display: "flex",
|
|
42025
42159
|
justifyContent: "space-between",
|
|
42026
42160
|
alignItems: "center",
|
|
@@ -42029,29 +42163,17 @@ function SizeRecommendation({
|
|
|
42029
42163
|
borderTop: "1px solid rgb(33, 32, 31)",
|
|
42030
42164
|
paddingTop: "4px"
|
|
42031
42165
|
},
|
|
42032
|
-
|
|
42166
|
+
firstLine: {
|
|
42033
42167
|
borderTop: "none",
|
|
42034
42168
|
marginTop: "0px",
|
|
42035
42169
|
paddingTop: "0px"
|
|
42036
42170
|
},
|
|
42037
|
-
|
|
42171
|
+
detailCell: {
|
|
42038
42172
|
display: "flex",
|
|
42039
42173
|
alignItems: "center",
|
|
42040
42174
|
gap: "6px"
|
|
42041
42175
|
}
|
|
42042
42176
|
}));
|
|
42043
|
-
const sizeSelectorNodeList = reactExports.useMemo(() => loadedProductData.sizes.map((sizeRecord) => {
|
|
42044
|
-
const isSelected = sizeRecord.sizeLabel === selectedSizeLabel;
|
|
42045
|
-
return /* @__PURE__ */ jsx$1(Button, { variant: "base", css: /* @__PURE__ */ css$1({
|
|
42046
|
-
...css2.sizeSelectorButton,
|
|
42047
|
-
...isSelected && css2.sizeSelectorButtonSelected
|
|
42048
|
-
}, "", ""), onClick: () => {
|
|
42049
|
-
if (isSelected) {
|
|
42050
|
-
return;
|
|
42051
|
-
}
|
|
42052
|
-
onChangeSize(sizeRecord.sizeLabel);
|
|
42053
|
-
}, children: sizeRecord.sizeLabel }, sizeRecord.sizeLabel);
|
|
42054
|
-
}), [loadedProductData.sizes, selectedSizeLabel, onChangeSize]);
|
|
42055
42177
|
const fitLineNodeList = reactExports.useMemo(() => {
|
|
42056
42178
|
const selectedSizeRecord = loadedProductData.sizes.find((s) => s.sizeLabel === selectedSizeLabel);
|
|
42057
42179
|
if (!selectedSizeRecord) {
|
|
@@ -42061,9 +42183,9 @@ function SizeRecommendation({
|
|
|
42061
42183
|
const locationLabel = t(`size-rec.measurementLocation.${mlf.measurement_location}`) || mlf.measurement_location;
|
|
42062
42184
|
const fit = mlf.fit;
|
|
42063
42185
|
const fitLabel = t(`size-rec.fit.${fit}`) || fit;
|
|
42064
|
-
return /* @__PURE__ */ jsxs("div", { css: [css2.
|
|
42065
|
-
/* @__PURE__ */ jsx$1("div", { css: css2.
|
|
42066
|
-
/* @__PURE__ */ jsx$1("div", { css: css2.
|
|
42186
|
+
return /* @__PURE__ */ jsxs("div", { css: [css2.line, index === 0 && css2.firstLine, "", ""], children: [
|
|
42187
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.detailCell, children: locationLabel }),
|
|
42188
|
+
/* @__PURE__ */ jsx$1("div", { css: css2.detailCell, children: fit === "perfect_fit" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
42067
42189
|
/* @__PURE__ */ jsx$1(SvgCheckCircle, {}),
|
|
42068
42190
|
" ",
|
|
42069
42191
|
fitLabel
|
|
@@ -42071,19 +42193,50 @@ function SizeRecommendation({
|
|
|
42071
42193
|
] }, index);
|
|
42072
42194
|
});
|
|
42073
42195
|
}, [loadedProductData, selectedSizeLabel]);
|
|
42074
|
-
return /* @__PURE__ */
|
|
42075
|
-
|
|
42076
|
-
|
|
42077
|
-
|
|
42078
|
-
|
|
42079
|
-
|
|
42080
|
-
|
|
42081
|
-
|
|
42082
|
-
|
|
42083
|
-
|
|
42084
|
-
|
|
42085
|
-
|
|
42086
|
-
|
|
42196
|
+
return /* @__PURE__ */ jsx$1("div", { css: css2.container, children: fitLineNodeList });
|
|
42197
|
+
}
|
|
42198
|
+
function AddToCartButton({
|
|
42199
|
+
onClick
|
|
42200
|
+
}) {
|
|
42201
|
+
return /* @__PURE__ */ jsx$1(ButtonT, { variant: "brand", t: "vto-single.add_to_cart", onClick });
|
|
42202
|
+
}
|
|
42203
|
+
function ProductDescriptionText({
|
|
42204
|
+
loadedProductData
|
|
42205
|
+
}) {
|
|
42206
|
+
const css2 = useCss((_theme) => ({
|
|
42207
|
+
descriptionText: {
|
|
42208
|
+
fontSize: "12px"
|
|
42209
|
+
}
|
|
42210
|
+
}));
|
|
42211
|
+
return /* @__PURE__ */ jsx$1(Text, { variant: "base", css: css2.descriptionText, children: /* @__PURE__ */ jsx$1("span", { dangerouslySetInnerHTML: {
|
|
42212
|
+
__html: loadedProductData.productDescriptionHtml
|
|
42213
|
+
} }) });
|
|
42214
|
+
}
|
|
42215
|
+
function Footer({
|
|
42216
|
+
onSignOutClick
|
|
42217
|
+
}) {
|
|
42218
|
+
const css2 = useCss((theme) => ({
|
|
42219
|
+
container: {
|
|
42220
|
+
marginLeft: "auto",
|
|
42221
|
+
marginRight: "auto",
|
|
42222
|
+
paddingBottom: "16px",
|
|
42223
|
+
display: "flex",
|
|
42224
|
+
justifyContent: "center",
|
|
42225
|
+
alignItems: "center",
|
|
42226
|
+
gap: "4px"
|
|
42227
|
+
},
|
|
42228
|
+
signOutLink: {
|
|
42229
|
+
fontSize: "10px",
|
|
42230
|
+
color: theme.color_tfr_800
|
|
42231
|
+
},
|
|
42232
|
+
tfrIcon: {
|
|
42233
|
+
width: "100px",
|
|
42234
|
+
height: "24px"
|
|
42235
|
+
}
|
|
42236
|
+
}));
|
|
42237
|
+
return /* @__PURE__ */ jsxs("div", { css: css2.container, children: [
|
|
42238
|
+
/* @__PURE__ */ jsx$1(LinkT, { variant: "underline", css: css2.signOutLink, onClick: onSignOutClick, t: "vto-single.sign_out" }),
|
|
42239
|
+
/* @__PURE__ */ jsx$1(SvgTfrName, { css: css2.tfrIcon })
|
|
42087
42240
|
] });
|
|
42088
42241
|
}
|
|
42089
42242
|
function useSizeRecommendation(load) {
|
|
@@ -42383,9 +42536,9 @@ const SHARED_CONFIG = {
|
|
|
42383
42536
|
appGooglePlayUrl: "https://play.google.com/store/apps/details?id=com.thefittingroom.marketplace"
|
|
42384
42537
|
},
|
|
42385
42538
|
build: {
|
|
42386
|
-
version: `${"5.0.
|
|
42387
|
-
commitHash: `${"
|
|
42388
|
-
date: `${"2026-01-
|
|
42539
|
+
version: `${"5.0.3"}`,
|
|
42540
|
+
commitHash: `${"7ef9b58"}`,
|
|
42541
|
+
date: `${"2026-01-07T07:58:58.896Z"}`
|
|
42389
42542
|
}
|
|
42390
42543
|
};
|
|
42391
42544
|
const CONFIGS = {
|