@burdenoff/microfe-coolandlovely 2026.1101.8 → 2026.1102.2
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/README.md +15 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.d.ts.map +1 -1
- package/dist/coolandlovely/CoolAndLovelyRoot.js +8 -0
- package/dist/coolandlovely/CoolAndLovelyRoot.js.map +1 -1
- package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts.map +1 -1
- package/dist/coolandlovely/CoolAndLovelyRoutes.js +20 -16
- package/dist/coolandlovely/CoolAndLovelyRoutes.js.map +1 -1
- package/dist/coolandlovely/components/WardrobeItemCard.d.ts +2 -1
- package/dist/coolandlovely/components/WardrobeItemCard.d.ts.map +1 -1
- package/dist/coolandlovely/components/WardrobeItemCard.js +4 -3
- package/dist/coolandlovely/components/WardrobeItemCard.js.map +1 -1
- package/dist/coolandlovely/components/prices/BestPriceBadge.d.ts +7 -0
- package/dist/coolandlovely/components/prices/BestPriceBadge.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/BestPriceBadge.js +22 -0
- package/dist/coolandlovely/components/prices/BestPriceBadge.js.map +1 -0
- package/dist/coolandlovely/components/prices/LookbookPriceBoard.d.ts +10 -0
- package/dist/coolandlovely/components/prices/LookbookPriceBoard.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/LookbookPriceBoard.js +120 -0
- package/dist/coolandlovely/components/prices/LookbookPriceBoard.js.map +1 -0
- package/dist/coolandlovely/components/prices/PriceComparison.d.ts +5 -0
- package/dist/coolandlovely/components/prices/PriceComparison.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/PriceComparison.js +95 -0
- package/dist/coolandlovely/components/prices/PriceComparison.js.map +1 -0
- package/dist/coolandlovely/components/prices/PriceCurrencySelect.d.ts +6 -0
- package/dist/coolandlovely/components/prices/PriceCurrencySelect.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/PriceCurrencySelect.js +38 -0
- package/dist/coolandlovely/components/prices/PriceCurrencySelect.js.map +1 -0
- package/dist/coolandlovely/components/prices/PricePanel.d.ts +6 -0
- package/dist/coolandlovely/components/prices/PricePanel.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/PricePanel.js +105 -0
- package/dist/coolandlovely/components/prices/PricePanel.js.map +1 -0
- package/dist/coolandlovely/components/prices/PriceWatchDisclosure.d.ts +2 -0
- package/dist/coolandlovely/components/prices/PriceWatchDisclosure.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/PriceWatchDisclosure.js +28 -0
- package/dist/coolandlovely/components/prices/PriceWatchDisclosure.js.map +1 -0
- package/dist/coolandlovely/components/prices/PriceWatchForm.d.ts +5 -0
- package/dist/coolandlovely/components/prices/PriceWatchForm.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/PriceWatchForm.js +89 -0
- package/dist/coolandlovely/components/prices/PriceWatchForm.js.map +1 -0
- package/dist/coolandlovely/components/prices/PriceWatches.d.ts +3 -0
- package/dist/coolandlovely/components/prices/PriceWatches.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/PriceWatches.js +189 -0
- package/dist/coolandlovely/components/prices/PriceWatches.js.map +1 -0
- package/dist/coolandlovely/components/prices/RetailerOfferLink.d.ts +6 -0
- package/dist/coolandlovely/components/prices/RetailerOfferLink.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/RetailerOfferLink.js +28 -0
- package/dist/coolandlovely/components/prices/RetailerOfferLink.js.map +1 -0
- package/dist/coolandlovely/components/prices/money.d.ts +6 -0
- package/dist/coolandlovely/components/prices/money.d.ts.map +1 -0
- package/dist/coolandlovely/components/prices/money.js +42 -0
- package/dist/coolandlovely/components/prices/money.js.map +1 -0
- package/dist/coolandlovely/hooks/useContextNavigation.d.ts +3 -0
- package/dist/coolandlovely/hooks/useContextNavigation.d.ts.map +1 -0
- package/dist/coolandlovely/hooks/useContextNavigation.js +31 -0
- package/dist/coolandlovely/hooks/useContextNavigation.js.map +1 -0
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts.map +1 -1
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js +1 -1
- package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js.map +1 -1
- package/dist/coolandlovely/hooks/useCreatorMarketplace.d.ts +118 -0
- package/dist/coolandlovely/hooks/useCreatorMarketplace.d.ts.map +1 -0
- package/dist/coolandlovely/hooks/useCreatorMarketplace.js +120 -0
- package/dist/coolandlovely/hooks/useCreatorMarketplace.js.map +1 -0
- package/dist/coolandlovely/hooks/usePriceApi.d.ts +57 -0
- package/dist/coolandlovely/hooks/usePriceApi.d.ts.map +1 -0
- package/dist/coolandlovely/hooks/usePriceApi.js +111 -0
- package/dist/coolandlovely/hooks/usePriceApi.js.map +1 -0
- package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js +139 -121
- package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js.map +1 -1
- package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.js +140 -137
- package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.js.map +1 -1
- package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js +104 -95
- package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js.map +1 -1
- package/dist/coolandlovely/pages/commerce/CreatorEarningsPage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/commerce/CreatorEarningsPage.js +49 -40
- package/dist/coolandlovely/pages/commerce/CreatorEarningsPage.js.map +1 -1
- package/dist/coolandlovely/pages/items/StoreListedPieceView.d.ts.map +1 -1
- package/dist/coolandlovely/pages/items/StoreListedPieceView.js +130 -123
- package/dist/coolandlovely/pages/items/StoreListedPieceView.js.map +1 -1
- package/dist/coolandlovely/pages/items/StyleItemDetailPage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/items/StyleItemDetailPage.js +241 -230
- package/dist/coolandlovely/pages/items/StyleItemDetailPage.js.map +1 -1
- package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js +64 -119
- package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js.map +1 -1
- package/dist/coolandlovely/pages/marketplace/CreatorMarketplacePage.d.ts +2 -0
- package/dist/coolandlovely/pages/marketplace/CreatorMarketplacePage.d.ts.map +1 -0
- package/dist/coolandlovely/pages/marketplace/CreatorMarketplacePage.js +714 -0
- package/dist/coolandlovely/pages/marketplace/CreatorMarketplacePage.js.map +1 -0
- package/dist/coolandlovely/pages/profile/StyleProfilePage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/profile/StyleProfilePage.js +214 -209
- package/dist/coolandlovely/pages/profile/StyleProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.d.ts.map +1 -1
- package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js +83 -49
- package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js.map +1 -1
- package/dist/coolandlovely/types/index.d.ts +5 -0
- package/dist/coolandlovely/types/index.d.ts.map +1 -1
- package/dist/generated/wspace-operations.d.ts +931 -2
- package/dist/generated/wspace-operations.d.ts.map +1 -1
- package/dist/generated/wspace-operations.js +221 -1
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.d.ts +539 -1
- package/dist/generated/wspace-types.d.ts.map +1 -1
- package/dist/generated/wspace-types.js +14 -0
- package/dist/generated/wspace-types.js.map +1 -0
- package/package.json +4 -3
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { useCoolAndLovely as e } from "../../context/CoolAndLovelyContext.js";
|
|
2
2
|
import { cn as t } from "../../utils/cn.js";
|
|
3
3
|
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
-
import { useLooks as r, useMyFollowing as i, useMyStyleProfile as a, useStyleProfileByOwner as o, useUpsertStyleProfile as
|
|
5
|
-
import { useTr as
|
|
4
|
+
import { useLooks as r, useMyFollowing as i, useMyStyleProfile as a, useStyleProfileByOwner as o, useUpsertStyleProfile as ee, useWardrobeItems as s } from "../../hooks/useCoolAndLovelyApi.js";
|
|
5
|
+
import { useTr as te } from "../../hooks/useTr.js";
|
|
6
6
|
import "../../hooks/index.js";
|
|
7
|
-
import { ErrorView as
|
|
8
|
-
import { Thumbnail as
|
|
9
|
-
import { parseCsv as
|
|
10
|
-
import { categoryIcon as
|
|
11
|
-
import { EmptyState as
|
|
12
|
-
import { SelectField as
|
|
13
|
-
import { ActorName as
|
|
14
|
-
import { FollowButton as
|
|
15
|
-
import { VisibilityChip as
|
|
16
|
-
import { ColourSwatchRow as
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
7
|
+
import { ErrorView as ne, LoadingView as c } from "../../components/StateViews.js";
|
|
8
|
+
import { Thumbnail as l } from "../../components/Thumbnail.js";
|
|
9
|
+
import { parseCsv as u, titleCase as d } from "../../utils/formatters.js";
|
|
10
|
+
import { categoryIcon as f } from "../../utils/icons.js";
|
|
11
|
+
import { EmptyState as p } from "../../components/EmptyState.js";
|
|
12
|
+
import { SelectField as m, TextAreaField as h, TextField as g } from "../../components/Field.js";
|
|
13
|
+
import { ActorName as _ } from "../../components/ActorName.js";
|
|
14
|
+
import { FollowButton as v } from "../../components/FollowButton.js";
|
|
15
|
+
import { VisibilityChip as re } from "../../components/VisibilityChip.js";
|
|
16
|
+
import { ColourSwatchRow as ie } from "../../components/ColourSwatchRow.js";
|
|
17
|
+
import { PriceWatchDisclosure as y } from "../../components/prices/PriceWatchDisclosure.js";
|
|
18
|
+
import { useEffect as b, useMemo as ae, useState as x } from "react";
|
|
19
|
+
import { Loader2 as S, Pencil as C, Save as oe, Shirt as se, Sparkles as w, UserCircle as T, Users as E, X as ce } from "lucide-react";
|
|
20
|
+
import { useParams as le } from "react-router";
|
|
21
|
+
import { jsx as D, jsxs as O } from "react/jsx-runtime";
|
|
22
|
+
import { GlassCard as k } from "@burdenoff/fe-libs/ui";
|
|
22
23
|
//#region src/coolandlovely/pages/profile/StyleProfilePage.tsx
|
|
23
|
-
var
|
|
24
|
+
var ue = [
|
|
24
25
|
"PUBLIC",
|
|
25
26
|
"FOLLOWERS",
|
|
26
27
|
"PRIVATE"
|
|
27
|
-
],
|
|
28
|
+
], A = [
|
|
28
29
|
"tops",
|
|
29
30
|
"bottoms",
|
|
30
31
|
"dresses",
|
|
@@ -44,23 +45,23 @@ function M(e) {
|
|
|
44
45
|
return t.length === 0 ? "?" : t.length === 1 ? t[0].slice(0, 2).toUpperCase() : (t[0][0] + t[1][0]).toUpperCase();
|
|
45
46
|
}
|
|
46
47
|
function N({ title: e, children: n, className: r }) {
|
|
47
|
-
return /* @__PURE__ */ k
|
|
48
|
+
return /* @__PURE__ */ O(k, {
|
|
48
49
|
treatment: "plain",
|
|
49
50
|
className: t("p-5", r),
|
|
50
|
-
children: [/* @__PURE__ */
|
|
51
|
+
children: [/* @__PURE__ */ D("h3", {
|
|
51
52
|
className: "mb-3 text-sm font-semibold text-text-primary",
|
|
52
53
|
children: e
|
|
53
54
|
}), n]
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
57
|
function P() {
|
|
57
|
-
let { userId: P } =
|
|
58
|
+
let { userId: P } = le(), { navigateTo: F, currentUser: I } = e(), L = te(), R = !P || P === I?.id, z = a(), B = o(R ? void 0 : P), V = R ? z : B, H = ee(), U = i(), W = s(), G = V.data, K = r({
|
|
58
59
|
authorId: G?.ownerId,
|
|
59
60
|
pagination: {
|
|
60
61
|
limit: 6,
|
|
61
62
|
offset: 0
|
|
62
63
|
}
|
|
63
|
-
}), [
|
|
64
|
+
}), [de, q] = x(!1), [J, Y] = x(j), X = !!G, Z = U.data ?? [];
|
|
64
65
|
b(() => {
|
|
65
66
|
R && G && Y({
|
|
66
67
|
displayName: G.displayName ?? "",
|
|
@@ -81,108 +82,109 @@ function P() {
|
|
|
81
82
|
let Q = (e, t) => Y((n) => ({
|
|
82
83
|
...n,
|
|
83
84
|
[e]: t
|
|
84
|
-
})),
|
|
85
|
+
})), fe = (e, t) => Y((n) => ({
|
|
85
86
|
...n,
|
|
86
87
|
sizes: {
|
|
87
88
|
...n.sizes,
|
|
88
89
|
[e]: t
|
|
89
90
|
}
|
|
90
|
-
})),
|
|
91
|
+
})), pe = ae(() => ue.map((e) => ({
|
|
91
92
|
value: e,
|
|
92
|
-
label: L(`coolandlovely.visibility.${e.toLowerCase()}`,
|
|
93
|
-
})), [L]),
|
|
93
|
+
label: L(`coolandlovely.visibility.${e.toLowerCase()}`, d(e))
|
|
94
|
+
})), [L]), me = (e) => {
|
|
94
95
|
e.preventDefault();
|
|
95
96
|
let t = Object.fromEntries(Object.entries(J.sizes).map(([e, t]) => [e, t.trim()]).filter(([, e]) => e.length > 0));
|
|
96
97
|
H.mutate({
|
|
97
98
|
displayName: J.displayName.trim() || void 0,
|
|
98
99
|
bio: J.bio.trim() || void 0,
|
|
99
100
|
visibility: J.visibility,
|
|
100
|
-
stylePreferences:
|
|
101
|
-
palette:
|
|
102
|
-
favouriteBrands:
|
|
101
|
+
stylePreferences: u(J.stylePreferences),
|
|
102
|
+
palette: u(J.palette),
|
|
103
|
+
favouriteBrands: u(J.favouriteBrands),
|
|
103
104
|
sizes: t
|
|
104
105
|
}, { onSuccess: () => q(!1) });
|
|
105
106
|
};
|
|
106
|
-
if (V.isLoading) return /* @__PURE__ */
|
|
107
|
+
if (V.isLoading) return /* @__PURE__ */ D(n, {
|
|
107
108
|
title: L("coolandlovely.page.profileTitle", "Style Profile"),
|
|
108
|
-
children: /* @__PURE__ */
|
|
109
|
+
children: /* @__PURE__ */ D(c, { label: L("coolandlovely.loading.profile", "Loading style profile…") })
|
|
109
110
|
});
|
|
110
|
-
if (V.isError) return /* @__PURE__ */
|
|
111
|
+
if (V.isError) return /* @__PURE__ */ D(n, {
|
|
111
112
|
title: L("coolandlovely.page.profileTitle", "Style Profile"),
|
|
112
|
-
children: /* @__PURE__ */
|
|
113
|
+
children: /* @__PURE__ */ D(ne, { onRetry: () => void V.refetch() })
|
|
113
114
|
});
|
|
114
|
-
if (!R && !G) return /* @__PURE__ */
|
|
115
|
+
if (!R && !G) return /* @__PURE__ */ D(n, {
|
|
115
116
|
title: L("coolandlovely.page.profileTitle", "Style Profile"),
|
|
116
|
-
children: /* @__PURE__ */
|
|
117
|
+
children: /* @__PURE__ */ D(p, {
|
|
117
118
|
title: L("coolandlovely.profile.notAvailableTitle", "Profile not available"),
|
|
118
119
|
description: L("coolandlovely.profile.notAvailableDescription", "This style profile doesn't exist, or its owner hasn't shared it with you."),
|
|
119
|
-
icon: /* @__PURE__ */
|
|
120
|
+
icon: /* @__PURE__ */ D(T, { className: "h-8 w-8" })
|
|
120
121
|
})
|
|
121
122
|
});
|
|
122
123
|
let $ = R;
|
|
123
|
-
if ((!
|
|
124
|
+
if ((!de || !$) && G) {
|
|
124
125
|
let e = R ? I?.profilePicture || I?.avatar : void 0, r = R ? (W.data ?? []).slice(0, 6) : [], i = K.data?.items ?? [], a = Object.entries(G.sizes ?? {}), o = G.displayName || (R ? I?.name : void 0);
|
|
125
|
-
return /* @__PURE__ */
|
|
126
|
+
return /* @__PURE__ */ D(n, {
|
|
126
127
|
title: R ? L("coolandlovely.page.profileTitle", "Style Profile") : o || L("coolandlovely.page.profileTitle", "Style Profile"),
|
|
127
128
|
description: R ? L("coolandlovely.page.profileSubtitle", "Your taste, palette and sizing — the spine of personalised discovery") : void 0,
|
|
128
|
-
actions: $ ? /* @__PURE__ */
|
|
129
|
+
actions: $ ? /* @__PURE__ */ O("button", {
|
|
129
130
|
type: "button",
|
|
130
131
|
onClick: () => q(!0),
|
|
131
132
|
className: "inline-flex items-center gap-1.5 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-colors hover:bg-action-primary-bg/90",
|
|
132
133
|
children: [
|
|
133
|
-
/* @__PURE__ */
|
|
134
|
+
/* @__PURE__ */ D(C, { className: "h-4 w-4" }),
|
|
134
135
|
" ",
|
|
135
136
|
L("coolandlovely.actions.edit", "Edit")
|
|
136
137
|
]
|
|
137
|
-
}) : /* @__PURE__ */
|
|
138
|
-
children: /* @__PURE__ */
|
|
138
|
+
}) : /* @__PURE__ */ D(v, { followeeId: G.ownerId }),
|
|
139
|
+
children: /* @__PURE__ */ O("div", {
|
|
139
140
|
className: "mx-auto max-w-5xl",
|
|
140
141
|
children: [
|
|
141
|
-
/* @__PURE__ */
|
|
142
|
+
R && /* @__PURE__ */ D(y, {}),
|
|
143
|
+
/* @__PURE__ */ D(k, {
|
|
142
144
|
treatment: "glass",
|
|
143
145
|
className: "p-6",
|
|
144
|
-
children: /* @__PURE__ */
|
|
146
|
+
children: /* @__PURE__ */ O("div", {
|
|
145
147
|
className: "flex flex-col gap-4 sm:flex-row sm:items-center",
|
|
146
|
-
children: [e ? /* @__PURE__ */
|
|
148
|
+
children: [e ? /* @__PURE__ */ D("img", {
|
|
147
149
|
src: e,
|
|
148
150
|
alt: o || "Avatar",
|
|
149
151
|
className: "h-16 w-16 shrink-0 rounded-full object-cover ring-2 ring-bg-surface"
|
|
150
|
-
}) : /* @__PURE__ */
|
|
152
|
+
}) : /* @__PURE__ */ D("div", {
|
|
151
153
|
className: "flex h-16 w-16 shrink-0 items-center justify-center rounded-full bg-accent-purple-subtle text-text-primary",
|
|
152
|
-
children: /* @__PURE__ */
|
|
153
|
-
}), /* @__PURE__ */
|
|
154
|
+
children: /* @__PURE__ */ D(T, { className: "h-8 w-8" })
|
|
155
|
+
}), /* @__PURE__ */ O("div", {
|
|
154
156
|
className: "min-w-0 flex-1",
|
|
155
157
|
children: [
|
|
156
|
-
/* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ O("div", {
|
|
157
159
|
className: "flex flex-wrap items-center gap-2",
|
|
158
|
-
children: [/* @__PURE__ */
|
|
160
|
+
children: [/* @__PURE__ */ D("h2", {
|
|
159
161
|
className: "truncate text-xl font-semibold text-text-primary",
|
|
160
|
-
children: o || /* @__PURE__ */
|
|
162
|
+
children: o || /* @__PURE__ */ D(_, {
|
|
161
163
|
id: G.ownerId,
|
|
162
164
|
fallback: "Style profile"
|
|
163
165
|
})
|
|
164
|
-
}), /* @__PURE__ */
|
|
166
|
+
}), /* @__PURE__ */ D(re, { visibility: G.visibility })]
|
|
165
167
|
}),
|
|
166
|
-
G.bio && /* @__PURE__ */
|
|
168
|
+
G.bio && /* @__PURE__ */ D("p", {
|
|
167
169
|
className: "mt-1 line-clamp-2 text-sm text-text-secondary",
|
|
168
170
|
children: G.bio
|
|
169
171
|
}),
|
|
170
|
-
/* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ O("div", {
|
|
171
173
|
className: "mt-2 flex items-center gap-6",
|
|
172
|
-
children: [/* @__PURE__ */
|
|
174
|
+
children: [/* @__PURE__ */ O("span", {
|
|
173
175
|
className: "text-sm text-text-secondary",
|
|
174
176
|
children: [
|
|
175
|
-
/* @__PURE__ */
|
|
177
|
+
/* @__PURE__ */ D("span", {
|
|
176
178
|
className: "font-semibold text-text-primary tabular-nums",
|
|
177
179
|
children: G.followerCount ?? 0
|
|
178
180
|
}),
|
|
179
181
|
" ",
|
|
180
182
|
G.followerCount === 1 ? L("coolandlovely.profile.followerSingular", "follower") : L("coolandlovely.profile.followerPlural", "followers")
|
|
181
183
|
]
|
|
182
|
-
}), /* @__PURE__ */
|
|
184
|
+
}), /* @__PURE__ */ O("span", {
|
|
183
185
|
className: "text-sm text-text-secondary",
|
|
184
186
|
children: [
|
|
185
|
-
/* @__PURE__ */
|
|
187
|
+
/* @__PURE__ */ D("span", {
|
|
186
188
|
className: "font-semibold text-text-primary tabular-nums",
|
|
187
189
|
children: G.followingCount ?? 0
|
|
188
190
|
}),
|
|
@@ -195,189 +197,189 @@ function P() {
|
|
|
195
197
|
})]
|
|
196
198
|
})
|
|
197
199
|
}),
|
|
198
|
-
/* @__PURE__ */
|
|
200
|
+
/* @__PURE__ */ O("div", {
|
|
199
201
|
className: "mt-6 grid gap-6 lg:grid-cols-5",
|
|
200
|
-
children: [/* @__PURE__ */
|
|
202
|
+
children: [/* @__PURE__ */ O("div", {
|
|
201
203
|
className: "space-y-6 lg:col-span-3",
|
|
202
204
|
children: [
|
|
203
|
-
/* @__PURE__ */
|
|
205
|
+
/* @__PURE__ */ D(N, {
|
|
204
206
|
title: L("coolandlovely.profile.stylePreferences", "Style preferences"),
|
|
205
|
-
children: G.stylePreferences.length ? /* @__PURE__ */
|
|
207
|
+
children: G.stylePreferences.length ? /* @__PURE__ */ D("div", {
|
|
206
208
|
className: "flex flex-wrap gap-2",
|
|
207
|
-
children: G.stylePreferences.map((e, n) => /* @__PURE__ */
|
|
209
|
+
children: G.stylePreferences.map((e, n) => /* @__PURE__ */ D("span", {
|
|
208
210
|
className: t("rounded-full px-3 py-1 text-sm font-medium", n === 0 ? "bg-accent-purple-subtle text-text-primary ring-1 ring-[var(--color-accent-soft)]" : "bg-bg-sunken text-text-secondary"),
|
|
209
211
|
children: e
|
|
210
212
|
}, `${e}-${n}`))
|
|
211
|
-
}) : /* @__PURE__ */
|
|
213
|
+
}) : /* @__PURE__ */ D("p", {
|
|
212
214
|
className: "text-sm text-text-secondary",
|
|
213
215
|
children: R ? L("coolandlovely.profile.noPreferencesOwn", "No preferences yet — add a few in Edit.") : L("coolandlovely.profile.noPreferencesOther", "No preferences shared yet.")
|
|
214
216
|
})
|
|
215
217
|
}),
|
|
216
|
-
/* @__PURE__ */
|
|
218
|
+
/* @__PURE__ */ D(N, {
|
|
217
219
|
title: L("coolandlovely.profile.palette", "Palette"),
|
|
218
|
-
children: G.palette.length ? /* @__PURE__ */
|
|
220
|
+
children: G.palette.length ? /* @__PURE__ */ D(ie, {
|
|
219
221
|
colours: G.palette,
|
|
220
222
|
max: 12,
|
|
221
223
|
className: "gap-2.5"
|
|
222
|
-
}) : /* @__PURE__ */
|
|
224
|
+
}) : /* @__PURE__ */ D("p", {
|
|
223
225
|
className: "text-sm text-text-secondary",
|
|
224
226
|
children: L("coolandlovely.profile.noPalette", "No palette yet.")
|
|
225
227
|
})
|
|
226
228
|
}),
|
|
227
|
-
/* @__PURE__ */
|
|
229
|
+
/* @__PURE__ */ O("div", {
|
|
228
230
|
className: "grid gap-6 sm:grid-cols-2",
|
|
229
|
-
children: [/* @__PURE__ */
|
|
231
|
+
children: [/* @__PURE__ */ D(N, {
|
|
230
232
|
title: L("coolandlovely.profile.favouriteBrands", "Favourite brands"),
|
|
231
|
-
children: G.favouriteBrands.length ? /* @__PURE__ */
|
|
233
|
+
children: G.favouriteBrands.length ? /* @__PURE__ */ D("div", {
|
|
232
234
|
className: "grid grid-cols-1 gap-2",
|
|
233
|
-
children: G.favouriteBrands.map((e, t) => /* @__PURE__ */
|
|
235
|
+
children: G.favouriteBrands.map((e, t) => /* @__PURE__ */ O("div", {
|
|
234
236
|
className: "flex items-center gap-2 rounded-lg border border-border-seam bg-bg-surface px-3 py-2",
|
|
235
|
-
children: [/* @__PURE__ */
|
|
237
|
+
children: [/* @__PURE__ */ D("span", {
|
|
236
238
|
className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-accent-purple-subtle text-xs font-bold text-text-primary",
|
|
237
239
|
children: M(e)
|
|
238
|
-
}), /* @__PURE__ */
|
|
240
|
+
}), /* @__PURE__ */ D("span", {
|
|
239
241
|
className: "truncate text-sm font-medium text-text-primary",
|
|
240
242
|
children: e
|
|
241
243
|
})]
|
|
242
244
|
}, `${e}-${t}`))
|
|
243
|
-
}) : /* @__PURE__ */
|
|
245
|
+
}) : /* @__PURE__ */ D("p", {
|
|
244
246
|
className: "text-sm text-text-secondary",
|
|
245
247
|
children: L("coolandlovely.profile.noBrands", "No brands yet.")
|
|
246
248
|
})
|
|
247
|
-
}), R && /* @__PURE__ */
|
|
249
|
+
}), R && /* @__PURE__ */ D(N, {
|
|
248
250
|
title: L("coolandlovely.profile.sizes", "Sizes"),
|
|
249
|
-
children: a.length ? /* @__PURE__ */
|
|
251
|
+
children: a.length ? /* @__PURE__ */ D("dl", {
|
|
250
252
|
className: "space-y-0",
|
|
251
|
-
children: a.map(([e, t]) => /* @__PURE__ */
|
|
253
|
+
children: a.map(([e, t]) => /* @__PURE__ */ O("div", {
|
|
252
254
|
className: "flex items-center justify-between border-b border-border-seam/60 py-1.5 last:border-0",
|
|
253
|
-
children: [/* @__PURE__ */
|
|
255
|
+
children: [/* @__PURE__ */ D("dt", {
|
|
254
256
|
className: "text-sm text-text-secondary",
|
|
255
|
-
children: L(`coolandlovely.size.${e.toLowerCase()}`,
|
|
256
|
-
}), /* @__PURE__ */
|
|
257
|
+
children: L(`coolandlovely.size.${e.toLowerCase()}`, d(e))
|
|
258
|
+
}), /* @__PURE__ */ D("dd", {
|
|
257
259
|
className: "text-sm font-medium text-text-primary tabular-nums",
|
|
258
260
|
children: String(t)
|
|
259
261
|
})]
|
|
260
262
|
}, e))
|
|
261
|
-
}) : /* @__PURE__ */
|
|
263
|
+
}) : /* @__PURE__ */ D("p", {
|
|
262
264
|
className: "text-sm text-text-secondary",
|
|
263
265
|
children: L("coolandlovely.profile.noSizes", "No sizes recorded yet.")
|
|
264
266
|
})
|
|
265
267
|
})]
|
|
266
268
|
})
|
|
267
269
|
]
|
|
268
|
-
}), /* @__PURE__ */
|
|
270
|
+
}), /* @__PURE__ */ O("div", {
|
|
269
271
|
className: "space-y-6 lg:col-span-2",
|
|
270
|
-
children: [R && /* @__PURE__ */
|
|
272
|
+
children: [R && /* @__PURE__ */ D(N, {
|
|
271
273
|
title: L("coolandlovely.profile.myWardrobe", "My wardrobe"),
|
|
272
|
-
children: W.isLoading ? /* @__PURE__ */
|
|
274
|
+
children: W.isLoading ? /* @__PURE__ */ O("div", {
|
|
273
275
|
className: "flex items-center gap-2 text-sm text-text-secondary",
|
|
274
276
|
children: [
|
|
275
|
-
/* @__PURE__ */
|
|
277
|
+
/* @__PURE__ */ D(S, { className: "h-4 w-4 animate-spin" }),
|
|
276
278
|
" ",
|
|
277
279
|
L("coolandlovely.loading.short", "Loading…")
|
|
278
280
|
]
|
|
279
|
-
}) : r.length ? /* @__PURE__ */
|
|
281
|
+
}) : r.length ? /* @__PURE__ */ D("div", {
|
|
280
282
|
className: "grid grid-cols-3 gap-2",
|
|
281
|
-
children: r.map((e) => /* @__PURE__ */
|
|
283
|
+
children: r.map((e) => /* @__PURE__ */ D("button", {
|
|
282
284
|
type: "button",
|
|
283
285
|
onClick: () => F("/wardrobe"),
|
|
284
286
|
"aria-label": e.name,
|
|
285
287
|
className: "group overflow-hidden rounded-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
286
|
-
children: /* @__PURE__ */
|
|
287
|
-
icon:
|
|
288
|
+
children: /* @__PURE__ */ D(l, {
|
|
289
|
+
icon: f(e.category, 18),
|
|
288
290
|
seed: e.id,
|
|
289
291
|
fileId: e.image?.id,
|
|
290
292
|
alt: e.name,
|
|
291
293
|
className: "aspect-square w-full rounded-lg"
|
|
292
294
|
})
|
|
293
295
|
}, e.id))
|
|
294
|
-
}) : /* @__PURE__ */
|
|
296
|
+
}) : /* @__PURE__ */ O("button", {
|
|
295
297
|
type: "button",
|
|
296
298
|
onClick: () => F("/wardrobe/new"),
|
|
297
299
|
className: "flex w-full items-center gap-2 rounded-lg border border-dashed border-border-seam px-3 py-3 text-left text-sm text-text-secondary transition-colors hover:text-text-primary",
|
|
298
300
|
children: [
|
|
299
|
-
/* @__PURE__ */
|
|
301
|
+
/* @__PURE__ */ D(se, { className: "h-4 w-4" }),
|
|
300
302
|
" ",
|
|
301
303
|
L("coolandlovely.profile.addPieces", "Add pieces to your wardrobe")
|
|
302
304
|
]
|
|
303
305
|
})
|
|
304
|
-
}), /* @__PURE__ */
|
|
306
|
+
}), /* @__PURE__ */ D(N, {
|
|
305
307
|
title: L("coolandlovely.profile.recentLooks", "Recent looks"),
|
|
306
|
-
children: K.isLoading ? /* @__PURE__ */
|
|
308
|
+
children: K.isLoading ? /* @__PURE__ */ O("div", {
|
|
307
309
|
className: "flex items-center gap-2 text-sm text-text-secondary",
|
|
308
310
|
children: [
|
|
309
|
-
/* @__PURE__ */
|
|
311
|
+
/* @__PURE__ */ D(S, { className: "h-4 w-4 animate-spin" }),
|
|
310
312
|
" ",
|
|
311
313
|
L("coolandlovely.loading.short", "Loading…")
|
|
312
314
|
]
|
|
313
|
-
}) : i.length ? /* @__PURE__ */
|
|
315
|
+
}) : i.length ? /* @__PURE__ */ D("div", {
|
|
314
316
|
className: "-mx-1 flex gap-3 overflow-x-auto px-1 pb-1",
|
|
315
|
-
children: i.map((e) => /* @__PURE__ */
|
|
317
|
+
children: i.map((e) => /* @__PURE__ */ O("button", {
|
|
316
318
|
type: "button",
|
|
317
319
|
onClick: () => F(`/looks/${e.id}`),
|
|
318
320
|
className: "group w-24 shrink-0 text-left focus-visible:outline-none",
|
|
319
|
-
children: [/* @__PURE__ */
|
|
320
|
-
icon: /* @__PURE__ */
|
|
321
|
+
children: [/* @__PURE__ */ D(l, {
|
|
322
|
+
icon: /* @__PURE__ */ D(w, { className: "h-5 w-5" }),
|
|
321
323
|
seed: e.id,
|
|
322
324
|
fileId: e.image?.id,
|
|
323
325
|
alt: e.title,
|
|
324
326
|
className: "aspect-[3/4] w-full rounded-lg"
|
|
325
|
-
}), /* @__PURE__ */
|
|
327
|
+
}), /* @__PURE__ */ D("p", {
|
|
326
328
|
className: "mt-1 truncate text-xs text-text-secondary",
|
|
327
329
|
children: e.title
|
|
328
330
|
})]
|
|
329
331
|
}, e.id))
|
|
330
|
-
}) : /* @__PURE__ */
|
|
332
|
+
}) : /* @__PURE__ */ D("p", {
|
|
331
333
|
className: "text-sm text-text-secondary",
|
|
332
334
|
children: R ? L("coolandlovely.profile.noLooksOwn", "You have not published any looks yet.") : L("coolandlovely.profile.noLooksOther", "No looks published yet.")
|
|
333
335
|
})
|
|
334
336
|
})]
|
|
335
337
|
})]
|
|
336
338
|
}),
|
|
337
|
-
R && /* @__PURE__ */
|
|
339
|
+
R && /* @__PURE__ */ O("section", {
|
|
338
340
|
className: "mt-6",
|
|
339
|
-
children: [/* @__PURE__ */
|
|
341
|
+
children: [/* @__PURE__ */ O("h3", {
|
|
340
342
|
className: "mb-3 flex items-center gap-2 text-lg font-semibold text-text-primary",
|
|
341
343
|
children: [
|
|
342
|
-
/* @__PURE__ */
|
|
344
|
+
/* @__PURE__ */ D(E, { className: "h-5 w-5" }),
|
|
343
345
|
" ",
|
|
344
346
|
L("coolandlovely.profile.peopleYouFollow", "People you follow"),
|
|
345
347
|
" (",
|
|
346
348
|
Z.length,
|
|
347
349
|
")"
|
|
348
350
|
]
|
|
349
|
-
}), U.isLoading ? /* @__PURE__ */
|
|
351
|
+
}), U.isLoading ? /* @__PURE__ */ O("div", {
|
|
350
352
|
className: "flex items-center gap-2 rounded-lg border border-border-seam bg-bg-surface p-4 text-sm text-text-secondary",
|
|
351
353
|
children: [
|
|
352
|
-
/* @__PURE__ */
|
|
354
|
+
/* @__PURE__ */ D(S, { className: "h-4 w-4 animate-spin" }),
|
|
353
355
|
" ",
|
|
354
356
|
L("coolandlovely.loading.short", "Loading…")
|
|
355
357
|
]
|
|
356
|
-
}) : Z.length === 0 ? /* @__PURE__ */
|
|
358
|
+
}) : Z.length === 0 ? /* @__PURE__ */ D("p", {
|
|
357
359
|
className: "rounded-lg border border-border-seam bg-bg-surface p-4 text-sm text-text-secondary",
|
|
358
360
|
children: L("coolandlovely.profile.noFollowing", "You are not following anyone yet. Follow creators from their looks to see their latest in Discover.")
|
|
359
|
-
}) : /* @__PURE__ */
|
|
361
|
+
}) : /* @__PURE__ */ D("ul", {
|
|
360
362
|
className: "divide-y divide-border-seam rounded-lg border border-border-seam bg-bg-surface",
|
|
361
|
-
children: Z.map((e) => /* @__PURE__ */
|
|
363
|
+
children: Z.map((e) => /* @__PURE__ */ O("li", {
|
|
362
364
|
className: "flex items-center gap-3 px-4 py-3",
|
|
363
|
-
children: [/* @__PURE__ */
|
|
365
|
+
children: [/* @__PURE__ */ O("button", {
|
|
364
366
|
type: "button",
|
|
365
367
|
onClick: () => F(`/profile/${e.ownerId}`),
|
|
366
368
|
className: "flex min-w-0 flex-1 items-center gap-3 text-left focus-visible:outline-none",
|
|
367
|
-
children: [/* @__PURE__ */
|
|
369
|
+
children: [/* @__PURE__ */ D("div", {
|
|
368
370
|
className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-accent-purple-subtle text-text-primary",
|
|
369
|
-
children: /* @__PURE__ */
|
|
370
|
-
}), /* @__PURE__ */
|
|
371
|
+
children: /* @__PURE__ */ D(T, { className: "h-5 w-5" })
|
|
372
|
+
}), /* @__PURE__ */ O("div", {
|
|
371
373
|
className: "min-w-0 flex-1",
|
|
372
|
-
children: [/* @__PURE__ */
|
|
374
|
+
children: [/* @__PURE__ */ D("p", {
|
|
373
375
|
className: "truncate text-sm font-medium text-text-primary hover:underline",
|
|
374
|
-
children: e.displayName || /* @__PURE__ */
|
|
375
|
-
}), e.bio && /* @__PURE__ */
|
|
376
|
+
children: e.displayName || /* @__PURE__ */ D(_, { id: e.ownerId })
|
|
377
|
+
}), e.bio && /* @__PURE__ */ D("p", {
|
|
376
378
|
className: "truncate text-xs text-text-secondary",
|
|
377
379
|
children: e.bio
|
|
378
380
|
})]
|
|
379
381
|
})]
|
|
380
|
-
}), /* @__PURE__ */
|
|
382
|
+
}), /* @__PURE__ */ D(v, {
|
|
381
383
|
followeeId: e.ownerId,
|
|
382
384
|
size: "sm"
|
|
383
385
|
})]
|
|
@@ -388,109 +390,112 @@ function P() {
|
|
|
388
390
|
})
|
|
389
391
|
});
|
|
390
392
|
}
|
|
391
|
-
let
|
|
392
|
-
return /* @__PURE__ */
|
|
393
|
+
let he = Array.from(/* @__PURE__ */ new Set([...A, ...Object.keys(J.sizes).map((e) => e.toLowerCase())]));
|
|
394
|
+
return /* @__PURE__ */ D(n, {
|
|
393
395
|
title: X ? L("coolandlovely.profile.editTitle", "Edit style profile") : L("coolandlovely.profile.createTitle", "Create your style profile"),
|
|
394
396
|
description: L("coolandlovely.profile.editDescription", "This powers your personalised discovery feed"),
|
|
395
|
-
actions: X ? /* @__PURE__ */
|
|
397
|
+
actions: X ? /* @__PURE__ */ O("button", {
|
|
396
398
|
type: "button",
|
|
397
399
|
onClick: () => q(!1),
|
|
398
400
|
className: "inline-flex items-center gap-1.5 rounded-lg border border-border-seam px-3 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken",
|
|
399
401
|
children: [
|
|
400
|
-
/* @__PURE__ */
|
|
402
|
+
/* @__PURE__ */ D(ce, { className: "h-4 w-4" }),
|
|
401
403
|
" ",
|
|
402
404
|
L("coolandlovely.actions.cancel", "Cancel")
|
|
403
405
|
]
|
|
404
406
|
}) : void 0,
|
|
405
|
-
children: /* @__PURE__ */ O("
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
className: "
|
|
467
|
-
children:
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
407
|
+
children: /* @__PURE__ */ O("div", {
|
|
408
|
+
className: "mx-auto max-w-5xl",
|
|
409
|
+
children: [R && /* @__PURE__ */ D(y, {}), /* @__PURE__ */ D("form", {
|
|
410
|
+
onSubmit: me,
|
|
411
|
+
className: "mx-auto max-w-2xl",
|
|
412
|
+
children: /* @__PURE__ */ O(k, {
|
|
413
|
+
treatment: "plain",
|
|
414
|
+
className: "p-6",
|
|
415
|
+
children: [
|
|
416
|
+
/* @__PURE__ */ D(g, {
|
|
417
|
+
id: "displayName",
|
|
418
|
+
label: L("coolandlovely.field.displayName", "Display name"),
|
|
419
|
+
value: J.displayName,
|
|
420
|
+
onChange: (e) => Q("displayName", e),
|
|
421
|
+
placeholder: L("coolandlovely.placeholder.displayName", "How you want to appear")
|
|
422
|
+
}),
|
|
423
|
+
/* @__PURE__ */ D(h, {
|
|
424
|
+
id: "bio",
|
|
425
|
+
label: L("coolandlovely.field.bio", "Bio"),
|
|
426
|
+
value: J.bio,
|
|
427
|
+
onChange: (e) => Q("bio", e),
|
|
428
|
+
placeholder: L("coolandlovely.placeholder.bio", "A sentence about your style…"),
|
|
429
|
+
rows: 3,
|
|
430
|
+
className: "mt-4"
|
|
431
|
+
}),
|
|
432
|
+
/* @__PURE__ */ D(m, {
|
|
433
|
+
id: "visibility",
|
|
434
|
+
label: L("coolandlovely.field.visibility", "Visibility"),
|
|
435
|
+
value: J.visibility,
|
|
436
|
+
onChange: (e) => Q("visibility", e),
|
|
437
|
+
options: pe,
|
|
438
|
+
className: "mt-4"
|
|
439
|
+
}),
|
|
440
|
+
/* @__PURE__ */ D(g, {
|
|
441
|
+
id: "stylePreferences",
|
|
442
|
+
label: L("coolandlovely.field.stylePreferences", "Style preferences"),
|
|
443
|
+
value: J.stylePreferences,
|
|
444
|
+
onChange: (e) => Q("stylePreferences", e),
|
|
445
|
+
placeholder: L("coolandlovely.placeholder.stylePreferences", "minimal, tailored, vintage"),
|
|
446
|
+
hint: L("coolandlovely.hint.commaSeparated", "Comma-separated"),
|
|
447
|
+
className: "mt-4"
|
|
448
|
+
}),
|
|
449
|
+
/* @__PURE__ */ D(g, {
|
|
450
|
+
id: "palette",
|
|
451
|
+
label: L("coolandlovely.field.palette", "Palette"),
|
|
452
|
+
value: J.palette,
|
|
453
|
+
onChange: (e) => Q("palette", e),
|
|
454
|
+
placeholder: L("coolandlovely.placeholder.palette", "neutrals, navy, rust"),
|
|
455
|
+
hint: L("coolandlovely.hint.palette", "Comma-separated colour names — shown as swatches"),
|
|
456
|
+
className: "mt-4"
|
|
457
|
+
}),
|
|
458
|
+
/* @__PURE__ */ D(g, {
|
|
459
|
+
id: "favouriteBrands",
|
|
460
|
+
label: L("coolandlovely.field.favouriteBrands", "Favourite brands"),
|
|
461
|
+
value: J.favouriteBrands,
|
|
462
|
+
onChange: (e) => Q("favouriteBrands", e),
|
|
463
|
+
placeholder: L("coolandlovely.placeholder.favouriteBrands", "Aurora Atelier, …"),
|
|
464
|
+
hint: L("coolandlovely.hint.commaSeparated", "Comma-separated"),
|
|
465
|
+
className: "mt-4"
|
|
466
|
+
}),
|
|
467
|
+
/* @__PURE__ */ O("div", {
|
|
468
|
+
className: "mt-4",
|
|
469
|
+
children: [/* @__PURE__ */ D("span", {
|
|
470
|
+
className: "mb-2 block text-sm font-medium text-text-primary",
|
|
471
|
+
children: L("coolandlovely.profile.sizes", "Sizes")
|
|
472
|
+
}), /* @__PURE__ */ D("div", {
|
|
473
|
+
className: "grid grid-cols-1 gap-3 sm:grid-cols-2",
|
|
474
|
+
children: he.map((e) => /* @__PURE__ */ D(g, {
|
|
475
|
+
id: `size-${e}`,
|
|
476
|
+
label: L(`coolandlovely.size.${e}`, d(e)),
|
|
477
|
+
value: J.sizes[e] ?? J.sizes[d(e)] ?? "",
|
|
478
|
+
onChange: (t) => fe(e, t),
|
|
479
|
+
placeholder: L("coolandlovely.placeholder.size", "e.g. M · 26 · 39")
|
|
480
|
+
}, e))
|
|
481
|
+
})]
|
|
482
|
+
}),
|
|
483
|
+
H.isError && /* @__PURE__ */ D("p", {
|
|
484
|
+
className: "mt-4 rounded-lg bg-status-error-bg-subtle px-3 py-2 text-sm text-status-error-text",
|
|
485
|
+
children: H.error instanceof Error ? H.error.message : L("coolandlovely.error.generic", "Something went wrong")
|
|
486
|
+
}),
|
|
487
|
+
/* @__PURE__ */ D("div", {
|
|
488
|
+
className: "mt-6 flex justify-end gap-2",
|
|
489
|
+
children: /* @__PURE__ */ O("button", {
|
|
490
|
+
type: "submit",
|
|
491
|
+
disabled: H.isPending,
|
|
492
|
+
className: "inline-flex items-center gap-1.5 rounded-lg bg-action-primary-bg px-5 py-2 text-sm font-medium text-action-primary-text transition-colors hover:bg-action-primary-bg/90 disabled:opacity-50",
|
|
493
|
+
children: [H.isPending ? /* @__PURE__ */ D(S, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ D(oe, { className: "h-4 w-4" }), X ? L("coolandlovely.actions.saveChanges", "Save changes") : L("coolandlovely.actions.createProfile", "Create profile")]
|
|
494
|
+
})
|
|
490
495
|
})
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
})
|
|
496
|
+
]
|
|
497
|
+
})
|
|
498
|
+
})]
|
|
494
499
|
})
|
|
495
500
|
});
|
|
496
501
|
}
|