@fluid-app/portal-sdk 0.1.237 → 0.1.239
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/{CalendarWidget-BaGML5Xh.mjs → CalendarWidget-BXxNxHDV.mjs} +2 -2
- package/dist/{CalendarWidget-BaGML5Xh.mjs.map → CalendarWidget-BXxNxHDV.mjs.map} +1 -1
- package/dist/{CalendarWidget-oGK122s9.cjs → CalendarWidget-VjQXZW8B.cjs} +2 -2
- package/dist/{CalendarWidget-oGK122s9.cjs.map → CalendarWidget-VjQXZW8B.cjs.map} +1 -1
- package/dist/{CardWidget-CqYjGkq-.mjs → CardWidget-BNkMlxQ3.mjs} +2 -2
- package/dist/{CardWidget-CqYjGkq-.mjs.map → CardWidget-BNkMlxQ3.mjs.map} +1 -1
- package/dist/{CardWidget-CSLSlKM6.cjs → CardWidget-C3I9OwgS.cjs} +2 -2
- package/dist/{CardWidget-CSLSlKM6.cjs.map → CardWidget-C3I9OwgS.cjs.map} +1 -1
- package/dist/{CardWidget-DjhK0yr-.cjs → CardWidget-CraWMttj.cjs} +3 -3
- package/dist/{CarouselWidget-DlxYQB5j.cjs → CarouselWidget-CiKlooUF.cjs} +2 -2
- package/dist/{CarouselWidget-DlxYQB5j.cjs.map → CarouselWidget-CiKlooUF.cjs.map} +1 -1
- package/dist/{CarouselWidget-CdQhlRrW.mjs → CarouselWidget-p8Z6L-G5.mjs} +2 -2
- package/dist/{CarouselWidget-CdQhlRrW.mjs.map → CarouselWidget-p8Z6L-G5.mjs.map} +1 -1
- package/dist/{CatchUpWidget-BQjtjcGR.mjs → CatchUpWidget-B9DQlzd_.mjs} +2 -2
- package/dist/{CatchUpWidget-BQjtjcGR.mjs.map → CatchUpWidget-B9DQlzd_.mjs.map} +1 -1
- package/dist/{CatchUpWidget-B1Muaurg.cjs → CatchUpWidget-SY7hOHk6.cjs} +2 -2
- package/dist/{CatchUpWidget-B1Muaurg.cjs.map → CatchUpWidget-SY7hOHk6.cjs.map} +1 -1
- package/dist/{ContainerWidget-Cjwrq2MS.cjs → ContainerWidget-BXpdj06u.cjs} +2 -2
- package/dist/{ContainerWidget-Cjwrq2MS.cjs.map → ContainerWidget-BXpdj06u.cjs.map} +1 -1
- package/dist/{ContainerWidget-DYThUtiZ.mjs → ContainerWidget-CpwvcxFm.mjs} +2 -2
- package/dist/{ContainerWidget-DYThUtiZ.mjs.map → ContainerWidget-CpwvcxFm.mjs.map} +1 -1
- package/dist/ContainerWidget-CyfPYEAv.cjs +8 -0
- package/dist/{FluidProvider-BazvsIwu.mjs → FluidProvider-DL5rChtj.mjs} +67 -84
- package/dist/FluidProvider-DL5rChtj.mjs.map +1 -0
- package/dist/{FluidProvider-Dxn7Ehiz.cjs → FluidProvider-D_PHVlUU.cjs} +67 -84
- package/dist/FluidProvider-D_PHVlUU.cjs.map +1 -0
- package/dist/{ImageWidget-xcE0sFf-.cjs → ImageWidget-CbQVxMe3.cjs} +2 -2
- package/dist/{ImageWidget-xcE0sFf-.cjs.map → ImageWidget-CbQVxMe3.cjs.map} +1 -1
- package/dist/{ImageWidget-CFTpbu8X.mjs → ImageWidget-vNWT_O1E.mjs} +2 -2
- package/dist/{ImageWidget-CFTpbu8X.mjs.map → ImageWidget-vNWT_O1E.mjs.map} +1 -1
- package/dist/{LayoutWidget-CK-SvFQL.cjs → LayoutWidget-BIfNHlVE.cjs} +2 -2
- package/dist/{LayoutWidget-CK-SvFQL.cjs.map → LayoutWidget-BIfNHlVE.cjs.map} +1 -1
- package/dist/{LayoutWidget-Cx5ZyXSU.mjs → LayoutWidget-CC3oK78H.mjs} +2 -2
- package/dist/{LayoutWidget-Cx5ZyXSU.mjs.map → LayoutWidget-CC3oK78H.mjs.map} +1 -1
- package/dist/{LayoutWidget-DuueFNAS.cjs → LayoutWidget-LdF_cKrB.cjs} +3 -3
- package/dist/{LinkWidget-B14FTQP7.cjs → LinkWidget-BoR7nVbH.cjs} +2 -2
- package/dist/{LinkWidget-B14FTQP7.cjs.map → LinkWidget-BoR7nVbH.cjs.map} +1 -1
- package/dist/{LinkWidget-CQHmKO-O.mjs → LinkWidget-CO-Cxf7Z.mjs} +2 -2
- package/dist/{LinkWidget-CQHmKO-O.mjs.map → LinkWidget-CO-Cxf7Z.mjs.map} +1 -1
- package/dist/{LinkWidget-CPmE8gpd.cjs → LinkWidget-M9YzMJT8.cjs} +2 -2
- package/dist/{ListWidget-YvCp7XDq.cjs → ListWidget-CuSjvwEw.cjs} +3 -3
- package/dist/{ListWidget-wBDnXWxa.cjs → ListWidget-CzljZ1LA.cjs} +3 -3
- package/dist/{ListWidget-wBDnXWxa.cjs.map → ListWidget-CzljZ1LA.cjs.map} +1 -1
- package/dist/{ListWidget-BnyD2Hpc.mjs → ListWidget-f88QhcGI.mjs} +3 -3
- package/dist/{ListWidget-BnyD2Hpc.mjs.map → ListWidget-f88QhcGI.mjs.map} +1 -1
- package/dist/{MediaRenderer-CfgWd0cC.cjs → MediaRenderer-CvN8Ku0i.cjs} +4 -4
- package/dist/MediaRenderer-CvN8Ku0i.cjs.map +1 -0
- package/dist/{MediaRenderer-CqUpv3St.mjs → MediaRenderer-DMdb_5xw.mjs} +4 -4
- package/dist/MediaRenderer-DMdb_5xw.mjs.map +1 -0
- package/dist/{MessagingScreen-40YCQbX9.cjs → MessagingScreen-Dkh3Dsp7.cjs} +2 -2
- package/dist/{MessagingScreen-40YCQbX9.cjs.map → MessagingScreen-Dkh3Dsp7.cjs.map} +1 -1
- package/dist/{MessagingScreen-CrdiB4M3.cjs → MessagingScreen-Dxy2VQbO.cjs} +22 -22
- package/dist/{MessagingScreen-RItZgONw.mjs → MessagingScreen-mt1u3Bs1.mjs} +2 -2
- package/dist/{MessagingScreen-RItZgONw.mjs.map → MessagingScreen-mt1u3Bs1.mjs.map} +1 -1
- package/dist/{MySiteWidget-B0dc_7Dc.mjs → MySiteWidget-BnjPrQxE.mjs} +23 -30
- package/dist/MySiteWidget-BnjPrQxE.mjs.map +1 -0
- package/dist/{MySiteWidget-BkqAS0aY.cjs → MySiteWidget-C8eFWHOT.cjs} +23 -30
- package/dist/MySiteWidget-C8eFWHOT.cjs.map +1 -0
- package/dist/{NestedWidget-C_2XwnW0.cjs → NestedWidget-CEoAO2sp.cjs} +3 -3
- package/dist/{NestedWidget-C_2XwnW0.cjs.map → NestedWidget-CEoAO2sp.cjs.map} +1 -1
- package/dist/{NestedWidget-CXIvsJdD.cjs → NestedWidget-CMCZjV6t.cjs} +3 -3
- package/dist/{NestedWidget-WJoWOFda.mjs → NestedWidget-RuyrOrFn.mjs} +3 -3
- package/dist/{NestedWidget-WJoWOFda.mjs.map → NestedWidget-RuyrOrFn.mjs.map} +1 -1
- package/dist/{PointsWidget-DoUljaNY.mjs → PointsWidget-C2KB4k48.mjs} +2 -2
- package/dist/{PointsWidget-DoUljaNY.mjs.map → PointsWidget-C2KB4k48.mjs.map} +1 -1
- package/dist/{PointsWidget-CLUWrFjZ.cjs → PointsWidget-DLp-PYus.cjs} +2 -2
- package/dist/{PointsWidget-CLUWrFjZ.cjs.map → PointsWidget-DLp-PYus.cjs.map} +1 -1
- package/dist/{ProfileScreen-CEKbhSRz.cjs → ProfileScreen-BMe-dQi7.cjs} +2 -2
- package/dist/{ProfileScreen-CEKbhSRz.cjs.map → ProfileScreen-BMe-dQi7.cjs.map} +1 -1
- package/dist/{ProfileScreen-Dex8VHSB.cjs → ProfileScreen-ChCZZ91o.cjs} +22 -22
- package/dist/{ProfileScreen-CeD1jq89.mjs → ProfileScreen-_1GlBr7z.mjs} +2 -2
- package/dist/{ProfileScreen-CeD1jq89.mjs.map → ProfileScreen-_1GlBr7z.mjs.map} +1 -1
- package/dist/{RecentActivityWidget-C6RwlUUw.cjs → RecentActivityWidget-BNW9aFT4.cjs} +2 -2
- package/dist/{RecentActivityWidget-C6RwlUUw.cjs.map → RecentActivityWidget-BNW9aFT4.cjs.map} +1 -1
- package/dist/{RecentActivityWidget-zQxtUECm.mjs → RecentActivityWidget-DelPdiwR.mjs} +2 -2
- package/dist/{RecentActivityWidget-zQxtUECm.mjs.map → RecentActivityWidget-DelPdiwR.mjs.map} +1 -1
- package/dist/{ScreenRenderer-Bk23YOtN.mjs → ScreenRenderer-ClYgfQf_.mjs} +2 -2
- package/dist/{ScreenRenderer-Bk23YOtN.mjs.map → ScreenRenderer-ClYgfQf_.mjs.map} +1 -1
- package/dist/{ScreenRenderer-aYfgv6mR.cjs → ScreenRenderer-Ct1w4PNu.cjs} +2 -2
- package/dist/{ScreenRenderer-aYfgv6mR.cjs.map → ScreenRenderer-Ct1w4PNu.cjs.map} +1 -1
- package/dist/{ShareablesScreen-Bt0E1aya.cjs → ShareablesScreen-A69L0Nok.cjs} +136 -108
- package/dist/ShareablesScreen-A69L0Nok.cjs.map +1 -0
- package/dist/{ShareablesScreen-LSyiDa6q.cjs → ShareablesScreen-BUYG-mjj.cjs} +1 -1
- package/dist/{ShareablesScreen-D3Hfqg9-.mjs → ShareablesScreen-sieWBlAl.mjs} +136 -108
- package/dist/ShareablesScreen-sieWBlAl.mjs.map +1 -0
- package/dist/{ShopScreen-dAe71cdL.mjs → ShopScreen-BBfOte5o.mjs} +2 -2
- package/dist/{ShopScreen-dAe71cdL.mjs.map → ShopScreen-BBfOte5o.mjs.map} +1 -1
- package/dist/{ShopScreen-Cgro0M1d.cjs → ShopScreen-CZ_290EP.cjs} +22 -22
- package/dist/{ShopScreen-BiqZPyiB.cjs → ShopScreen-DWLGH2gt.cjs} +2 -2
- package/dist/{ShopScreen-BiqZPyiB.cjs.map → ShopScreen-DWLGH2gt.cjs.map} +1 -1
- package/dist/{TableWidget-D4jQN-to.cjs → TableWidget-BIn1oRiJ.cjs} +4 -4
- package/dist/TableWidget-BIn1oRiJ.cjs.map +1 -0
- package/dist/{TableWidget-DWAYgQcl.cjs → TableWidget-C--8TSX7.cjs} +3 -3
- package/dist/{TableWidget-B0CRdzNf.mjs → TableWidget-dfUvhH0S.mjs} +4 -4
- package/dist/TableWidget-dfUvhH0S.mjs.map +1 -0
- package/dist/{ToDoWidget-BbeXt99H.cjs → ToDoWidget-Bjoan2Rm.cjs} +2 -2
- package/dist/{ToDoWidget-BbeXt99H.cjs.map → ToDoWidget-Bjoan2Rm.cjs.map} +1 -1
- package/dist/{ToDoWidget-VSaNmtWH.mjs → ToDoWidget-CYDsZA0Z.mjs} +2 -2
- package/dist/{ToDoWidget-VSaNmtWH.mjs.map → ToDoWidget-CYDsZA0Z.mjs.map} +1 -1
- package/dist/{ToDoWidget-YHmoDbVU.cjs → ToDoWidget-C_CvWdLi.cjs} +2 -2
- package/dist/{VideoWidget-Bc6ZAAaA.cjs → VideoWidget-CDcV0J5W.cjs} +2 -2
- package/dist/{VideoWidget-Bc6ZAAaA.cjs.map → VideoWidget-CDcV0J5W.cjs.map} +1 -1
- package/dist/{VideoWidget-DcWm239R.mjs → VideoWidget-Dj9wue7j.mjs} +2 -2
- package/dist/{VideoWidget-DcWm239R.mjs.map → VideoWidget-Dj9wue7j.mjs.map} +1 -1
- package/dist/WidgetInteractionContext-B1mELhQ_.mjs +28 -0
- package/dist/{WidgetInteractionContext-D0TJv70C.mjs.map → WidgetInteractionContext-B1mELhQ_.mjs.map} +1 -1
- package/dist/WidgetInteractionContext-DvPmzGqB.cjs +41 -0
- package/dist/{WidgetInteractionContext-Bs3LkFFH.cjs.map → WidgetInteractionContext-DvPmzGqB.cjs.map} +1 -1
- package/dist/index.cjs +84 -55
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +84 -55
- package/dist/index.mjs.map +1 -1
- package/dist/{registry-context-BDH0vNHR.mjs → registry-context-BahYMRqn.mjs} +12 -20
- package/dist/registry-context-BahYMRqn.mjs.map +1 -0
- package/dist/{registry-context-C7-RLxVt.cjs → registry-context-bf52ZIJX.cjs} +12 -20
- package/dist/registry-context-bf52ZIJX.cjs.map +1 -0
- package/package.json +12 -12
- package/dist/ContainerWidget-NFBqSeRV.cjs +0 -8
- package/dist/FluidProvider-BazvsIwu.mjs.map +0 -1
- package/dist/FluidProvider-Dxn7Ehiz.cjs.map +0 -1
- package/dist/MediaRenderer-CfgWd0cC.cjs.map +0 -1
- package/dist/MediaRenderer-CqUpv3St.mjs.map +0 -1
- package/dist/MySiteWidget-B0dc_7Dc.mjs.map +0 -1
- package/dist/MySiteWidget-BkqAS0aY.cjs.map +0 -1
- package/dist/ShareablesScreen-Bt0E1aya.cjs.map +0 -1
- package/dist/ShareablesScreen-D3Hfqg9-.mjs.map +0 -1
- package/dist/TableWidget-B0CRdzNf.mjs.map +0 -1
- package/dist/TableWidget-D4jQN-to.cjs.map +0 -1
- package/dist/WidgetInteractionContext-Bs3LkFFH.cjs +0 -18
- package/dist/WidgetInteractionContext-D0TJv70C.mjs +0 -11
- package/dist/registry-context-BDH0vNHR.mjs.map +0 -1
- package/dist/registry-context-C7-RLxVt.cjs.map +0 -1
|
@@ -9,7 +9,7 @@ require("./es-UfEBhcZD.cjs");
|
|
|
9
9
|
require("./SearchSort-CeJqRK2c.cjs");
|
|
10
10
|
require("./dist-myuZC8sf.cjs");
|
|
11
11
|
require("./dist-BQZkLGL6.cjs");
|
|
12
|
-
const require_ShareablesScreen = require("./ShareablesScreen-
|
|
12
|
+
const require_ShareablesScreen = require("./ShareablesScreen-A69L0Nok.cjs");
|
|
13
13
|
require("./PortalProductsApiProvider-DL8nl7To.cjs");
|
|
14
14
|
exports.ShareablesScreen = require_ShareablesScreen.ShareablesScreen;
|
|
15
15
|
exports.shareablesScreenPropertySchema = require_ShareablesScreen.shareablesScreenPropertySchema;
|
|
@@ -103,6 +103,14 @@ const shareablesKeys = {
|
|
|
103
103
|
id
|
|
104
104
|
]
|
|
105
105
|
},
|
|
106
|
+
mediaProducts: {
|
|
107
|
+
all: ["mediaProducts"],
|
|
108
|
+
list: (mediaId) => [
|
|
109
|
+
"mediaProducts",
|
|
110
|
+
"list",
|
|
111
|
+
mediaId
|
|
112
|
+
]
|
|
113
|
+
},
|
|
106
114
|
shareLinks: {
|
|
107
115
|
all: ["shareLinks"],
|
|
108
116
|
link: (type, id, contactId, locale) => [
|
|
@@ -1950,6 +1958,108 @@ function MediaListingScreen(_props) {
|
|
|
1950
1958
|
})] });
|
|
1951
1959
|
}
|
|
1952
1960
|
//#endregion
|
|
1961
|
+
//#region ../../shareables/ui/src/components/SharePage/TaggedProductsList.tsx
|
|
1962
|
+
const DEFAULT_IMAGE$5 = "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png";
|
|
1963
|
+
function resolvePrice(product) {
|
|
1964
|
+
let price = product.display_price || product.price;
|
|
1965
|
+
if (product.variants && product.variants.length > 0) {
|
|
1966
|
+
const firstVariant = product.variants[0];
|
|
1967
|
+
if (firstVariant?.display_price) price = firstVariant.display_price;
|
|
1968
|
+
else if (firstVariant?.price) price = firstVariant.price;
|
|
1969
|
+
}
|
|
1970
|
+
if (!price) return null;
|
|
1971
|
+
const numPrice = parseFloat(price.replace(/[^0-9.-]/g, ""));
|
|
1972
|
+
if (Number.isNaN(numPrice) || numPrice <= 0) return null;
|
|
1973
|
+
if (price.includes("$")) return price;
|
|
1974
|
+
return `$${numPrice.toFixed(2)}`;
|
|
1975
|
+
}
|
|
1976
|
+
function TaggedProductsList({ products, onProductClick }) {
|
|
1977
|
+
const renderImage = useRenderImage();
|
|
1978
|
+
const handleProductClick = (productId, e) => {
|
|
1979
|
+
e.stopPropagation();
|
|
1980
|
+
if (productId == null) return;
|
|
1981
|
+
onProductClick?.(productId);
|
|
1982
|
+
};
|
|
1983
|
+
if (!products || products.length === 0) return /* @__PURE__ */ jsxs("div", {
|
|
1984
|
+
className: "mb-6",
|
|
1985
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
1986
|
+
className: "mb-4 px-4",
|
|
1987
|
+
children: /* @__PURE__ */ jsx("h2", {
|
|
1988
|
+
className: "text-foreground text-[15px] leading-[1.4] font-semibold",
|
|
1989
|
+
children: "Tagged Products (0)"
|
|
1990
|
+
})
|
|
1991
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
1992
|
+
className: "flex flex-1 items-center justify-center px-6 py-12",
|
|
1993
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1994
|
+
className: "text-center",
|
|
1995
|
+
children: [
|
|
1996
|
+
/* @__PURE__ */ jsx("div", {
|
|
1997
|
+
className: "text-muted-foreground mb-2",
|
|
1998
|
+
children: /* @__PURE__ */ jsx(ShoppingBag, { className: "mx-auto h-12 w-12" })
|
|
1999
|
+
}),
|
|
2000
|
+
/* @__PURE__ */ jsx("div", {
|
|
2001
|
+
className: "text-foreground mb-1 text-sm",
|
|
2002
|
+
children: "No Tagged Products"
|
|
2003
|
+
}),
|
|
2004
|
+
/* @__PURE__ */ jsx("div", {
|
|
2005
|
+
className: "text-muted-foreground text-xs",
|
|
2006
|
+
children: "No products are tagged in this playlist"
|
|
2007
|
+
})
|
|
2008
|
+
]
|
|
2009
|
+
})
|
|
2010
|
+
})]
|
|
2011
|
+
});
|
|
2012
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
2013
|
+
className: "mb-6",
|
|
2014
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
2015
|
+
className: "mb-4 px-4",
|
|
2016
|
+
children: /* @__PURE__ */ jsxs("h2", {
|
|
2017
|
+
className: "text-foreground text-[15px] leading-[1.4] font-semibold",
|
|
2018
|
+
children: [
|
|
2019
|
+
"Tagged Products (",
|
|
2020
|
+
products.length,
|
|
2021
|
+
")"
|
|
2022
|
+
]
|
|
2023
|
+
})
|
|
2024
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
2025
|
+
className: "px-4",
|
|
2026
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
2027
|
+
className: "scrollbar-none flex gap-4 overflow-x-auto pb-2",
|
|
2028
|
+
children: products.map((product, index) => {
|
|
2029
|
+
const imageUrl = product.images?.[0]?.image_url || product.image_url || product.compressed_image_url || DEFAULT_IMAGE$5;
|
|
2030
|
+
const title = product.title || "Untitled";
|
|
2031
|
+
const displayPrice = resolvePrice(product);
|
|
2032
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
2033
|
+
onClick: (e) => handleProductClick(product.id, e),
|
|
2034
|
+
className: "group bg-muted hover:bg-muted/60 flex w-[168px] shrink-0 flex-col gap-2 rounded-lg p-3 text-left transition-all",
|
|
2035
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
2036
|
+
className: "bg-background relative h-[168px] w-full overflow-hidden rounded-lg",
|
|
2037
|
+
children: renderImage({
|
|
2038
|
+
src: imageUrl,
|
|
2039
|
+
alt: title,
|
|
2040
|
+
fill: true,
|
|
2041
|
+
className: "object-cover"
|
|
2042
|
+
})
|
|
2043
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
2044
|
+
className: "flex min-w-0 flex-col gap-1",
|
|
2045
|
+
children: [/* @__PURE__ */ jsxs("h3", {
|
|
2046
|
+
className: "text-foreground flex items-start gap-1.5 text-[15px] leading-[1.4] font-semibold",
|
|
2047
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
2048
|
+
className: "line-clamp-2",
|
|
2049
|
+
children: title
|
|
2050
|
+
}), /* @__PURE__ */ jsx(ArrowUpRight, { className: "text-foreground mt-0.5 h-3 w-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100" })]
|
|
2051
|
+
}), displayPrice && /* @__PURE__ */ jsx("div", {
|
|
2052
|
+
className: "text-foreground text-[15px] leading-[1.4] font-normal",
|
|
2053
|
+
children: displayPrice
|
|
2054
|
+
})]
|
|
2055
|
+
})]
|
|
2056
|
+
}, product.id ?? index);
|
|
2057
|
+
})
|
|
2058
|
+
})
|
|
2059
|
+
})]
|
|
2060
|
+
});
|
|
2061
|
+
}
|
|
2062
|
+
//#endregion
|
|
1953
2063
|
//#region ../../shareables/ui/src/components/screens/MediaDetailScreen.tsx
|
|
1954
2064
|
function getBadgeLabel(kind) {
|
|
1955
2065
|
switch (kind) {
|
|
@@ -1959,15 +2069,28 @@ function getBadgeLabel(kind) {
|
|
|
1959
2069
|
default: return "Media";
|
|
1960
2070
|
}
|
|
1961
2071
|
}
|
|
1962
|
-
function MediaDetailScreen({ mediaId, onNavigate
|
|
2072
|
+
function MediaDetailScreen({ mediaId, onNavigate, onBack }) {
|
|
1963
2073
|
const api = useShareablesApi();
|
|
1964
2074
|
const repContext = useRepContext();
|
|
1965
|
-
const { navigate, readOnly } = useShareablesUI();
|
|
2075
|
+
const { navigate, readOnly, mediaProductsApi } = useShareablesUI();
|
|
1966
2076
|
const { data: mediaResponse, isLoading } = useQuery({
|
|
1967
2077
|
queryKey: shareablesKeys.media.detail(Number(mediaId), repContext),
|
|
1968
2078
|
queryFn: () => api.media.getMediaById(Number(mediaId))
|
|
1969
2079
|
});
|
|
1970
2080
|
const { shareLink, loading: shareLinkLoading, error: shareLinkError } = useShareLink({ id: Number(mediaId) }, "Medium");
|
|
2081
|
+
const { data: mediaProductsData } = useQuery({
|
|
2082
|
+
queryKey: shareablesKeys.mediaProducts.list(Number(mediaId)),
|
|
2083
|
+
queryFn: () => mediaProductsApi.listMediaProducts(Number(mediaId)),
|
|
2084
|
+
enabled: !!mediaProductsApi
|
|
2085
|
+
});
|
|
2086
|
+
const taggedProducts = useMemo(() => mediaProductsData?.media_products?.map((p) => ({
|
|
2087
|
+
id: p.id,
|
|
2088
|
+
title: p.name ?? null,
|
|
2089
|
+
image_url: p.image_url ?? null,
|
|
2090
|
+
price: p.price ?? null,
|
|
2091
|
+
slug: p.slug ?? null,
|
|
2092
|
+
sku: p.sku ?? null
|
|
2093
|
+
})) ?? [], [mediaProductsData]);
|
|
1971
2094
|
const mediaItem = mediaResponse?.media;
|
|
1972
2095
|
const displayTitle = mediaItem?.title || "";
|
|
1973
2096
|
const displayImage = mediaItem?.image_url || "";
|
|
@@ -2043,7 +2166,14 @@ function MediaDetailScreen({ mediaId, onNavigate: _onNavigate, onBack }) {
|
|
|
2043
2166
|
isVideo,
|
|
2044
2167
|
relateableId: Number(mediaId),
|
|
2045
2168
|
relateableType: "Medium"
|
|
2046
|
-
})
|
|
2169
|
+
}),
|
|
2170
|
+
children: taggedProducts.length > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Separator, { className: "bg-foreground my-4" }), /* @__PURE__ */ jsx("div", {
|
|
2171
|
+
className: "bg-background rounded-lg",
|
|
2172
|
+
children: /* @__PURE__ */ jsx(TaggedProductsList, {
|
|
2173
|
+
products: taggedProducts,
|
|
2174
|
+
onProductClick: (productId) => onNavigate?.("product", String(productId))
|
|
2175
|
+
})
|
|
2176
|
+
})] })
|
|
2047
2177
|
});
|
|
2048
2178
|
}
|
|
2049
2179
|
//#endregion
|
|
@@ -9487,7 +9617,7 @@ function MediaCreateScreen({ onNavigate, onBack }) {
|
|
|
9487
9617
|
}
|
|
9488
9618
|
//#endregion
|
|
9489
9619
|
//#region ../../shareables/ui/src/components/playlists/PlaylistCard.tsx
|
|
9490
|
-
const DEFAULT_IMAGE$
|
|
9620
|
+
const DEFAULT_IMAGE$4 = "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png";
|
|
9491
9621
|
function PlaylistCard({ title, imageUrl, href, itemCount, isFavorited = false, isSelectable = false, isSelected = false, canEdit = false, onSelectionChange, onToggleFavorite, onEdit, onDelete }) {
|
|
9492
9622
|
const { navigate } = useShareablesUI();
|
|
9493
9623
|
const renderImage = useRenderImage();
|
|
@@ -9512,7 +9642,7 @@ function PlaylistCard({ title, imageUrl, href, itemCount, isFavorited = false, i
|
|
|
9512
9642
|
className: "bg-muted relative aspect-square overflow-hidden rounded-lg",
|
|
9513
9643
|
children: [
|
|
9514
9644
|
renderImage({
|
|
9515
|
-
src: imgError ? DEFAULT_IMAGE$
|
|
9645
|
+
src: imgError ? DEFAULT_IMAGE$4 : imageUrl || DEFAULT_IMAGE$4,
|
|
9516
9646
|
alt: title,
|
|
9517
9647
|
fill: true,
|
|
9518
9648
|
className: "object-cover transition-transform group-hover:scale-105",
|
|
@@ -9967,108 +10097,6 @@ const NAVIGABLE_RELATEABLE_TYPES = new Set([
|
|
|
9967
10097
|
"Medium"
|
|
9968
10098
|
]);
|
|
9969
10099
|
//#endregion
|
|
9970
|
-
//#region ../../shareables/ui/src/components/SharePage/TaggedProductsList.tsx
|
|
9971
|
-
const DEFAULT_IMAGE$4 = "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png";
|
|
9972
|
-
function resolvePrice(product) {
|
|
9973
|
-
let price = product.display_price || product.price;
|
|
9974
|
-
if (product.variants && product.variants.length > 0) {
|
|
9975
|
-
const firstVariant = product.variants[0];
|
|
9976
|
-
if (firstVariant?.display_price) price = firstVariant.display_price;
|
|
9977
|
-
else if (firstVariant?.price) price = firstVariant.price;
|
|
9978
|
-
}
|
|
9979
|
-
if (!price) return null;
|
|
9980
|
-
const numPrice = parseFloat(price.replace(/[^0-9.-]/g, ""));
|
|
9981
|
-
if (Number.isNaN(numPrice) || numPrice <= 0) return null;
|
|
9982
|
-
if (price.includes("$")) return price;
|
|
9983
|
-
return `$${numPrice.toFixed(2)}`;
|
|
9984
|
-
}
|
|
9985
|
-
function TaggedProductsList({ products, onProductClick }) {
|
|
9986
|
-
const renderImage = useRenderImage();
|
|
9987
|
-
const handleProductClick = (productId, e) => {
|
|
9988
|
-
e.stopPropagation();
|
|
9989
|
-
if (productId == null) return;
|
|
9990
|
-
onProductClick?.(productId);
|
|
9991
|
-
};
|
|
9992
|
-
if (!products || products.length === 0) return /* @__PURE__ */ jsxs("div", {
|
|
9993
|
-
className: "mb-6",
|
|
9994
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
9995
|
-
className: "mb-4 px-4",
|
|
9996
|
-
children: /* @__PURE__ */ jsx("h2", {
|
|
9997
|
-
className: "text-foreground text-[15px] leading-[1.4] font-semibold",
|
|
9998
|
-
children: "Tagged Products (0)"
|
|
9999
|
-
})
|
|
10000
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
10001
|
-
className: "flex flex-1 items-center justify-center px-6 py-12",
|
|
10002
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
10003
|
-
className: "text-center",
|
|
10004
|
-
children: [
|
|
10005
|
-
/* @__PURE__ */ jsx("div", {
|
|
10006
|
-
className: "text-muted-foreground mb-2",
|
|
10007
|
-
children: /* @__PURE__ */ jsx(ShoppingBag, { className: "mx-auto h-12 w-12" })
|
|
10008
|
-
}),
|
|
10009
|
-
/* @__PURE__ */ jsx("div", {
|
|
10010
|
-
className: "text-foreground mb-1 text-sm",
|
|
10011
|
-
children: "No Tagged Products"
|
|
10012
|
-
}),
|
|
10013
|
-
/* @__PURE__ */ jsx("div", {
|
|
10014
|
-
className: "text-muted-foreground text-xs",
|
|
10015
|
-
children: "No products are tagged in this playlist"
|
|
10016
|
-
})
|
|
10017
|
-
]
|
|
10018
|
-
})
|
|
10019
|
-
})]
|
|
10020
|
-
});
|
|
10021
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
10022
|
-
className: "mb-6",
|
|
10023
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
10024
|
-
className: "mb-4 px-4",
|
|
10025
|
-
children: /* @__PURE__ */ jsxs("h2", {
|
|
10026
|
-
className: "text-foreground text-[15px] leading-[1.4] font-semibold",
|
|
10027
|
-
children: [
|
|
10028
|
-
"Tagged Products (",
|
|
10029
|
-
products.length,
|
|
10030
|
-
")"
|
|
10031
|
-
]
|
|
10032
|
-
})
|
|
10033
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
10034
|
-
className: "px-4",
|
|
10035
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
10036
|
-
className: "scrollbar-none flex gap-4 overflow-x-auto pb-2",
|
|
10037
|
-
children: products.map((product, index) => {
|
|
10038
|
-
const imageUrl = product.images?.[0]?.image_url || product.image_url || product.compressed_image_url || DEFAULT_IMAGE$4;
|
|
10039
|
-
const title = product.title || "Untitled";
|
|
10040
|
-
const displayPrice = resolvePrice(product);
|
|
10041
|
-
return /* @__PURE__ */ jsxs("button", {
|
|
10042
|
-
onClick: (e) => handleProductClick(product.id, e),
|
|
10043
|
-
className: "group bg-muted hover:bg-muted/60 flex w-[168px] shrink-0 flex-col gap-2 rounded-lg p-3 text-left transition-all",
|
|
10044
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
10045
|
-
className: "bg-background relative h-[168px] w-full overflow-hidden rounded-lg",
|
|
10046
|
-
children: renderImage({
|
|
10047
|
-
src: imageUrl,
|
|
10048
|
-
alt: title,
|
|
10049
|
-
fill: true,
|
|
10050
|
-
className: "object-cover"
|
|
10051
|
-
})
|
|
10052
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
10053
|
-
className: "flex min-w-0 flex-col gap-1",
|
|
10054
|
-
children: [/* @__PURE__ */ jsxs("h3", {
|
|
10055
|
-
className: "text-foreground flex items-start gap-1.5 text-[15px] leading-[1.4] font-semibold",
|
|
10056
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
10057
|
-
className: "line-clamp-2",
|
|
10058
|
-
children: title
|
|
10059
|
-
}), /* @__PURE__ */ jsx(ArrowUpRight, { className: "text-foreground mt-0.5 h-3 w-3 shrink-0 opacity-0 transition-opacity group-hover:opacity-100" })]
|
|
10060
|
-
}), displayPrice && /* @__PURE__ */ jsx("div", {
|
|
10061
|
-
className: "text-foreground text-[15px] leading-[1.4] font-normal",
|
|
10062
|
-
children: displayPrice
|
|
10063
|
-
})]
|
|
10064
|
-
})]
|
|
10065
|
-
}, product.id ?? index);
|
|
10066
|
-
})
|
|
10067
|
-
})
|
|
10068
|
-
})]
|
|
10069
|
-
});
|
|
10070
|
-
}
|
|
10071
|
-
//#endregion
|
|
10072
10100
|
//#region ../../shareables/ui/src/components/SharePage/PlaylistItemsList.tsx
|
|
10073
10101
|
const DEFAULT_IMAGE$3 = "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png";
|
|
10074
10102
|
function getItemType(type, kind) {
|
|
@@ -13457,4 +13485,4 @@ const shareablesScreenPropertySchema = {
|
|
|
13457
13485
|
//#endregion
|
|
13458
13486
|
export { ShareablesScreen_exports as n, shareablesScreenPropertySchema as r, ShareablesScreen as t };
|
|
13459
13487
|
|
|
13460
|
-
//# sourceMappingURL=ShareablesScreen-
|
|
13488
|
+
//# sourceMappingURL=ShareablesScreen-sieWBlAl.mjs.map
|