pxengine 0.1.81 → 0.1.82
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.cjs +1255 -840
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +67 -1
- package/dist/index.d.ts +67 -1
- package/dist/index.mjs +1239 -825
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +108 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ var __export = (target, all) => {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// src/render/PXEngineRenderer.tsx
|
|
8
|
-
import
|
|
8
|
+
import React116 from "react";
|
|
9
9
|
|
|
10
10
|
// src/atoms/index.ts
|
|
11
11
|
var atoms_exports = {};
|
|
@@ -33628,6 +33628,7 @@ __export(molecules_exports, {
|
|
|
33628
33628
|
PriorityActionsCard: () => PriorityActionsCard,
|
|
33629
33629
|
RecommendationCard: () => RecommendationCard,
|
|
33630
33630
|
ResearchBriefCard: () => ResearchBriefCard,
|
|
33631
|
+
ResearchReportJobCard: () => ResearchReportJobCard,
|
|
33631
33632
|
RiskSignalCard: () => RiskSignalCard,
|
|
33632
33633
|
ScoreBreakdownCard: () => ScoreBreakdownCard,
|
|
33633
33634
|
SearchSpecCard: () => SearchSpecCard,
|
|
@@ -39130,11 +39131,423 @@ var PresentationJobCard = ({
|
|
|
39130
39131
|
] });
|
|
39131
39132
|
};
|
|
39132
39133
|
|
|
39134
|
+
// src/molecules/generic/ResearchReportJobCard/ResearchReportJobCard.tsx
|
|
39135
|
+
import { useCallback as useCallback5, useEffect as useEffect7, useRef as useRef6, useState as useState11 } from "react";
|
|
39136
|
+
import { Fragment as Fragment6, jsx as jsx148, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
39137
|
+
var DEFAULT_THEME = {
|
|
39138
|
+
primary: "#8b5cf6",
|
|
39139
|
+
secondary: "#a78bfa",
|
|
39140
|
+
accent: "#c4b5fd"
|
|
39141
|
+
};
|
|
39142
|
+
var DownloadIcon2 = () => /* @__PURE__ */ jsxs109("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
39143
|
+
/* @__PURE__ */ jsx148("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
39144
|
+
/* @__PURE__ */ jsx148("polyline", { points: "7 10 12 15 17 10" }),
|
|
39145
|
+
/* @__PURE__ */ jsx148("line", { x1: "12", y1: "15", x2: "12", y2: "3" })
|
|
39146
|
+
] });
|
|
39147
|
+
var DocumentIcon = () => /* @__PURE__ */ jsxs109("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
39148
|
+
/* @__PURE__ */ jsx148("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
|
|
39149
|
+
/* @__PURE__ */ jsx148("polyline", { points: "14 2 14 8 20 8" }),
|
|
39150
|
+
/* @__PURE__ */ jsx148("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
|
|
39151
|
+
/* @__PURE__ */ jsx148("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
|
|
39152
|
+
/* @__PURE__ */ jsx148("line", { x1: "10", y1: "9", x2: "8", y2: "9" })
|
|
39153
|
+
] });
|
|
39154
|
+
var CloseIcon2 = () => /* @__PURE__ */ jsxs109("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
39155
|
+
/* @__PURE__ */ jsx148("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
39156
|
+
/* @__PURE__ */ jsx148("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
39157
|
+
] });
|
|
39158
|
+
var ExpandIcon2 = () => /* @__PURE__ */ jsxs109("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
39159
|
+
/* @__PURE__ */ jsx148("polyline", { points: "15 3 21 3 21 9" }),
|
|
39160
|
+
/* @__PURE__ */ jsx148("polyline", { points: "9 21 3 21 3 15" }),
|
|
39161
|
+
/* @__PURE__ */ jsx148("line", { x1: "21", y1: "3", x2: "14", y2: "10" }),
|
|
39162
|
+
/* @__PURE__ */ jsx148("line", { x1: "3", y1: "21", x2: "10", y2: "14" })
|
|
39163
|
+
] });
|
|
39164
|
+
var FORMATS2 = [
|
|
39165
|
+
{
|
|
39166
|
+
key: "pdf_url",
|
|
39167
|
+
label: "PDF",
|
|
39168
|
+
ext: ".pdf",
|
|
39169
|
+
emoji: "\u{1F4C4}",
|
|
39170
|
+
desc: "Professional formatted report \u2014 open in any PDF viewer",
|
|
39171
|
+
accent: { text: "text-red-400", bg: "bg-red-500/10 border-red-500/20" }
|
|
39172
|
+
},
|
|
39173
|
+
{
|
|
39174
|
+
key: "html_url",
|
|
39175
|
+
label: "HTML",
|
|
39176
|
+
ext: ".html",
|
|
39177
|
+
emoji: "\u{1F310}",
|
|
39178
|
+
desc: "Interactive web version \u2014 open in any browser",
|
|
39179
|
+
accent: { text: "text-blue-400", bg: "bg-blue-500/10 border-blue-500/20" }
|
|
39180
|
+
}
|
|
39181
|
+
];
|
|
39182
|
+
var ExportModal2 = ({ formats, title, onClose }) => {
|
|
39183
|
+
const available = FORMATS2.filter((f) => formats[f.key]);
|
|
39184
|
+
const filename = title.replace(/[^a-z0-9]/gi, "-").toLowerCase();
|
|
39185
|
+
const [downloadingKey, setDownloadingKey] = useState11(null);
|
|
39186
|
+
const handleDownload = async (fmtKey, url, ext) => {
|
|
39187
|
+
if (downloadingKey) return;
|
|
39188
|
+
const downloadName = `${filename}${ext}`;
|
|
39189
|
+
const href = `/api/download?url=${encodeURIComponent(url)}&filename=${encodeURIComponent(downloadName)}`;
|
|
39190
|
+
try {
|
|
39191
|
+
setDownloadingKey(fmtKey);
|
|
39192
|
+
const response = await fetch(href);
|
|
39193
|
+
if (!response.ok) throw new Error(`status ${response.status}`);
|
|
39194
|
+
const blob = await response.blob();
|
|
39195
|
+
const objectUrl = window.URL.createObjectURL(blob);
|
|
39196
|
+
const anchor = document.createElement("a");
|
|
39197
|
+
anchor.href = objectUrl;
|
|
39198
|
+
anchor.download = downloadName;
|
|
39199
|
+
document.body.appendChild(anchor);
|
|
39200
|
+
anchor.click();
|
|
39201
|
+
anchor.remove();
|
|
39202
|
+
window.URL.revokeObjectURL(objectUrl);
|
|
39203
|
+
} catch {
|
|
39204
|
+
window.open(href, "_blank", "noopener,noreferrer");
|
|
39205
|
+
} finally {
|
|
39206
|
+
setDownloadingKey(null);
|
|
39207
|
+
}
|
|
39208
|
+
};
|
|
39209
|
+
return /* @__PURE__ */ jsxs109("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
39210
|
+
/* @__PURE__ */ jsx148("div", { className: "absolute inset-0 bg-black/70 backdrop-blur-sm", onClick: onClose }),
|
|
39211
|
+
/* @__PURE__ */ jsxs109("div", { className: "relative z-10 bg-zinc-900 border border-zinc-800 rounded-2xl w-full max-w-sm p-6 shadow-2xl", children: [
|
|
39212
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-start justify-between mb-5", children: [
|
|
39213
|
+
/* @__PURE__ */ jsxs109("div", { className: "min-w-0 pr-3", children: [
|
|
39214
|
+
/* @__PURE__ */ jsx148("h3", { className: "text-sm font-semibold text-zinc-100", children: "Download Report" }),
|
|
39215
|
+
/* @__PURE__ */ jsx148("p", { className: "text-xs text-zinc-500 mt-0.5 truncate", children: title })
|
|
39216
|
+
] }),
|
|
39217
|
+
/* @__PURE__ */ jsx148("button", { onClick: onClose, className: "text-zinc-500 hover:text-zinc-200 transition-colors flex-shrink-0 mt-0.5", children: /* @__PURE__ */ jsx148(CloseIcon2, {}) })
|
|
39218
|
+
] }),
|
|
39219
|
+
/* @__PURE__ */ jsxs109("div", { className: "space-y-2.5", children: [
|
|
39220
|
+
available.length === 0 && /* @__PURE__ */ jsx148("p", { className: "text-sm text-zinc-500 text-center py-6", children: "No formats available yet" }),
|
|
39221
|
+
available.map((fmt) => {
|
|
39222
|
+
const url = formats[fmt.key];
|
|
39223
|
+
const isDownloading = downloadingKey === fmt.key;
|
|
39224
|
+
return /* @__PURE__ */ jsxs109(
|
|
39225
|
+
"button",
|
|
39226
|
+
{
|
|
39227
|
+
type: "button",
|
|
39228
|
+
disabled: Boolean(downloadingKey),
|
|
39229
|
+
onClick: () => handleDownload(fmt.key, url, fmt.ext),
|
|
39230
|
+
className: cn(
|
|
39231
|
+
"flex w-full items-center gap-3.5 p-3.5 rounded-xl border transition-all text-left",
|
|
39232
|
+
"hover:brightness-110 disabled:opacity-60 disabled:cursor-not-allowed",
|
|
39233
|
+
fmt.accent.bg
|
|
39234
|
+
),
|
|
39235
|
+
children: [
|
|
39236
|
+
/* @__PURE__ */ jsx148("span", { className: "text-xl flex-shrink-0", children: fmt.emoji }),
|
|
39237
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex-1 min-w-0", children: [
|
|
39238
|
+
/* @__PURE__ */ jsx148("p", { className: cn("text-sm font-semibold", fmt.accent.text), children: isDownloading ? `Downloading ${fmt.label}...` : fmt.label }),
|
|
39239
|
+
/* @__PURE__ */ jsx148("p", { className: "text-xs text-zinc-500 mt-0.5 leading-relaxed", children: isDownloading ? "Please wait while the file is being prepared." : fmt.desc })
|
|
39240
|
+
] }),
|
|
39241
|
+
/* @__PURE__ */ jsx148("span", { className: cn("flex-shrink-0", fmt.accent.text), children: /* @__PURE__ */ jsx148(DownloadIcon2, {}) })
|
|
39242
|
+
]
|
|
39243
|
+
},
|
|
39244
|
+
fmt.key
|
|
39245
|
+
);
|
|
39246
|
+
})
|
|
39247
|
+
] }),
|
|
39248
|
+
/* @__PURE__ */ jsx148("p", { className: "text-xs text-zinc-600 mt-4 text-center", children: "Download links expire in 7 days" })
|
|
39249
|
+
] })
|
|
39250
|
+
] });
|
|
39251
|
+
};
|
|
39252
|
+
var FullscreenPreviewModal = ({ url, title, onClose }) => {
|
|
39253
|
+
useEffect7(() => {
|
|
39254
|
+
const onKey = (e) => {
|
|
39255
|
+
if (e.key === "Escape") onClose();
|
|
39256
|
+
};
|
|
39257
|
+
document.addEventListener("keydown", onKey);
|
|
39258
|
+
return () => document.removeEventListener("keydown", onKey);
|
|
39259
|
+
}, [onClose]);
|
|
39260
|
+
useEffect7(() => {
|
|
39261
|
+
document.body.style.overflow = "hidden";
|
|
39262
|
+
return () => {
|
|
39263
|
+
document.body.style.overflow = "";
|
|
39264
|
+
};
|
|
39265
|
+
}, []);
|
|
39266
|
+
return /* @__PURE__ */ jsxs109("div", { className: "fixed inset-0 z-50 bg-black flex flex-col", children: [
|
|
39267
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center justify-between gap-4 px-4 h-11 bg-zinc-950/90 border-b border-zinc-800/60 flex-shrink-0", children: [
|
|
39268
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
39269
|
+
/* @__PURE__ */ jsx148("span", { className: "text-violet-400 flex-shrink-0", children: /* @__PURE__ */ jsx148(DocumentIcon, {}) }),
|
|
39270
|
+
/* @__PURE__ */ jsx148("span", { className: "text-sm font-medium text-zinc-300 truncate", children: title })
|
|
39271
|
+
] }),
|
|
39272
|
+
/* @__PURE__ */ jsxs109(
|
|
39273
|
+
"button",
|
|
39274
|
+
{
|
|
39275
|
+
onClick: onClose,
|
|
39276
|
+
className: "flex items-center gap-1.5 px-3 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs transition-colors",
|
|
39277
|
+
children: [
|
|
39278
|
+
/* @__PURE__ */ jsx148(CloseIcon2, {}),
|
|
39279
|
+
/* @__PURE__ */ jsx148("span", { children: "ESC" })
|
|
39280
|
+
]
|
|
39281
|
+
}
|
|
39282
|
+
)
|
|
39283
|
+
] }),
|
|
39284
|
+
/* @__PURE__ */ jsx148("div", { className: "flex-1 relative bg-white overflow-auto", children: /* @__PURE__ */ jsx148(
|
|
39285
|
+
"iframe",
|
|
39286
|
+
{
|
|
39287
|
+
src: url,
|
|
39288
|
+
title,
|
|
39289
|
+
className: "absolute inset-0 w-full h-full border-0",
|
|
39290
|
+
sandbox: "allow-same-origin"
|
|
39291
|
+
}
|
|
39292
|
+
) })
|
|
39293
|
+
] });
|
|
39294
|
+
};
|
|
39295
|
+
var ResearchReportJobCard = ({
|
|
39296
|
+
job_id: _job_id,
|
|
39297
|
+
title: initialTitle,
|
|
39298
|
+
status: initialStatus,
|
|
39299
|
+
topic: _initialTopic,
|
|
39300
|
+
depth: initialDepth,
|
|
39301
|
+
section_count: initialSectionCount,
|
|
39302
|
+
source_count: initialSourceCount,
|
|
39303
|
+
word_count: initialWordCount,
|
|
39304
|
+
executive_summary: initialSummary,
|
|
39305
|
+
key_findings: _initialFindings,
|
|
39306
|
+
formats: initialFormats = {},
|
|
39307
|
+
theme: initialTheme,
|
|
39308
|
+
error: initialError,
|
|
39309
|
+
pollUrl,
|
|
39310
|
+
authToken,
|
|
39311
|
+
className,
|
|
39312
|
+
onComplete,
|
|
39313
|
+
onFailed
|
|
39314
|
+
}) => {
|
|
39315
|
+
const [status, setStatus] = useState11(initialStatus);
|
|
39316
|
+
const [title, setTitle] = useState11(initialTitle);
|
|
39317
|
+
const [depth, setDepth] = useState11(initialDepth || "");
|
|
39318
|
+
const [sectionCount, setSectionCount] = useState11(initialSectionCount ?? 0);
|
|
39319
|
+
const [sourceCount, setSourceCount] = useState11(initialSourceCount ?? 0);
|
|
39320
|
+
const [wordCount, setWordCount] = useState11(initialWordCount ?? 0);
|
|
39321
|
+
const [summary, setSummary] = useState11(initialSummary || "");
|
|
39322
|
+
const [formats, setFormats] = useState11(initialFormats);
|
|
39323
|
+
const [theme, setTheme] = useState11(initialTheme || DEFAULT_THEME);
|
|
39324
|
+
const [error, setError] = useState11(initialError);
|
|
39325
|
+
const [showExport, setShowExport] = useState11(false);
|
|
39326
|
+
const [showPreview, setShowPreview] = useState11(false);
|
|
39327
|
+
const [previewScale, setPreviewScale] = useState11(1);
|
|
39328
|
+
const previewRef = useRef6(null);
|
|
39329
|
+
const intervalRef = useRef6(null);
|
|
39330
|
+
const onCompleteRef = useRef6(onComplete);
|
|
39331
|
+
const onFailedRef = useRef6(onFailed);
|
|
39332
|
+
const hasNotifiedRef = useRef6(false);
|
|
39333
|
+
onCompleteRef.current = onComplete;
|
|
39334
|
+
onFailedRef.current = onFailed;
|
|
39335
|
+
const isTerminal = status === "complete" || status === "failed";
|
|
39336
|
+
const primaryColor = theme?.primary || DEFAULT_THEME.primary;
|
|
39337
|
+
const hasHTML = Boolean(formats.html_url);
|
|
39338
|
+
const updateScale = useCallback5(() => {
|
|
39339
|
+
if (previewRef.current) {
|
|
39340
|
+
setPreviewScale(previewRef.current.offsetWidth / 800);
|
|
39341
|
+
}
|
|
39342
|
+
}, []);
|
|
39343
|
+
useEffect7(() => {
|
|
39344
|
+
updateScale();
|
|
39345
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
39346
|
+
const ro = new ResizeObserver(updateScale);
|
|
39347
|
+
if (previewRef.current) ro.observe(previewRef.current);
|
|
39348
|
+
return () => ro.disconnect();
|
|
39349
|
+
}, [updateScale, formats.html_url]);
|
|
39350
|
+
useEffect7(() => {
|
|
39351
|
+
if (isTerminal || !pollUrl) return;
|
|
39352
|
+
const poll = async () => {
|
|
39353
|
+
try {
|
|
39354
|
+
const headers = {};
|
|
39355
|
+
if (authToken) {
|
|
39356
|
+
headers["Authorization"] = `Bearer ${authToken}`;
|
|
39357
|
+
}
|
|
39358
|
+
const res = await fetch(pollUrl, { headers });
|
|
39359
|
+
if (!res.ok) return;
|
|
39360
|
+
const data = await res.json();
|
|
39361
|
+
const newStatus = data.status;
|
|
39362
|
+
setStatus(newStatus);
|
|
39363
|
+
if (newStatus === "complete" && data.output) {
|
|
39364
|
+
const output = data.output;
|
|
39365
|
+
setTitle(output.title || initialTitle);
|
|
39366
|
+
setDepth(output.depth || "");
|
|
39367
|
+
setSectionCount(output.section_count || 0);
|
|
39368
|
+
setSourceCount(output.source_count || 0);
|
|
39369
|
+
setWordCount(output.word_count || 0);
|
|
39370
|
+
setSummary(output.executive_summary || "");
|
|
39371
|
+
setFormats(output.formats || {});
|
|
39372
|
+
if (output.theme) {
|
|
39373
|
+
setTheme(output.theme);
|
|
39374
|
+
}
|
|
39375
|
+
if (!hasNotifiedRef.current && onCompleteRef.current) {
|
|
39376
|
+
hasNotifiedRef.current = true;
|
|
39377
|
+
onCompleteRef.current(output);
|
|
39378
|
+
}
|
|
39379
|
+
}
|
|
39380
|
+
if (newStatus === "failed") {
|
|
39381
|
+
const errorMsg = data.error || "Job failed";
|
|
39382
|
+
setError(errorMsg);
|
|
39383
|
+
if (!hasNotifiedRef.current && onFailedRef.current) {
|
|
39384
|
+
hasNotifiedRef.current = true;
|
|
39385
|
+
onFailedRef.current(errorMsg);
|
|
39386
|
+
}
|
|
39387
|
+
}
|
|
39388
|
+
} catch {
|
|
39389
|
+
}
|
|
39390
|
+
};
|
|
39391
|
+
poll();
|
|
39392
|
+
intervalRef.current = setInterval(poll, 3e3);
|
|
39393
|
+
return () => {
|
|
39394
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
39395
|
+
};
|
|
39396
|
+
}, [isTerminal, pollUrl, authToken, initialTitle]);
|
|
39397
|
+
useEffect7(() => {
|
|
39398
|
+
if (isTerminal && intervalRef.current) {
|
|
39399
|
+
clearInterval(intervalRef.current);
|
|
39400
|
+
intervalRef.current = null;
|
|
39401
|
+
}
|
|
39402
|
+
}, [isTerminal]);
|
|
39403
|
+
const formatWordCount = (count) => {
|
|
39404
|
+
if (count >= 1e3) return `${(count / 1e3).toFixed(1)}k`;
|
|
39405
|
+
return count.toString();
|
|
39406
|
+
};
|
|
39407
|
+
if (status === "pending" || status === "running") {
|
|
39408
|
+
return /* @__PURE__ */ jsx148("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxs109("div", { className: "relative overflow-hidden rounded-xl border border-zinc-200/70 dark:border-zinc-800/70 bg-zinc-100 dark:bg-zinc-900 aspect-[4/3]", children: [
|
|
39409
|
+
/* @__PURE__ */ jsxs109("div", { className: "absolute inset-0 p-[8%] flex flex-col", children: [
|
|
39410
|
+
/* @__PURE__ */ jsx148("div", { className: "h-[14px] w-[55%] rounded bg-zinc-300 dark:bg-zinc-700 animate-pulse mb-4" }),
|
|
39411
|
+
/* @__PURE__ */ jsx148("div", { className: "h-[10px] w-[35%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse mb-6", style: { animationDelay: "80ms" } }),
|
|
39412
|
+
/* @__PURE__ */ jsxs109("div", { className: "space-y-2.5 flex-1", children: [
|
|
39413
|
+
/* @__PURE__ */ jsx148("div", { className: "h-[8px] w-[90%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "160ms" } }),
|
|
39414
|
+
/* @__PURE__ */ jsx148("div", { className: "h-[8px] w-[85%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "240ms" } }),
|
|
39415
|
+
/* @__PURE__ */ jsx148("div", { className: "h-[8px] w-[75%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "320ms" } }),
|
|
39416
|
+
/* @__PURE__ */ jsx148("div", { className: "h-[8px] w-[80%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "400ms" } }),
|
|
39417
|
+
/* @__PURE__ */ jsx148("div", { className: "h-[8px] w-[60%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "480ms" } })
|
|
39418
|
+
] })
|
|
39419
|
+
] }),
|
|
39420
|
+
/* @__PURE__ */ jsx148("div", { className: "absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite] bg-gradient-to-r from-transparent via-white/10 to-transparent" })
|
|
39421
|
+
] }) });
|
|
39422
|
+
}
|
|
39423
|
+
if (status === "failed") {
|
|
39424
|
+
return /* @__PURE__ */ jsx148("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx148("div", { className: "bg-red-950/20 border border-red-800/25 rounded-2xl p-5", children: /* @__PURE__ */ jsxs109("div", { className: "flex items-start gap-3", children: [
|
|
39425
|
+
/* @__PURE__ */ jsx148("span", { className: "text-red-400 text-base mt-0.5 flex-shrink-0", children: "\u26A0" }),
|
|
39426
|
+
/* @__PURE__ */ jsxs109("div", { children: [
|
|
39427
|
+
/* @__PURE__ */ jsx148("p", { className: "text-sm font-semibold text-red-300", children: "Research report generation failed" }),
|
|
39428
|
+
/* @__PURE__ */ jsx148("p", { className: "text-xs text-red-400/60 mt-1 leading-relaxed", children: error || "An unexpected error occurred. Please try again." })
|
|
39429
|
+
] })
|
|
39430
|
+
] }) }) });
|
|
39431
|
+
}
|
|
39432
|
+
return /* @__PURE__ */ jsxs109(Fragment6, { children: [
|
|
39433
|
+
/* @__PURE__ */ jsx148("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxs109("div", { className: "bg-zinc-900 border border-zinc-800 rounded-2xl overflow-hidden", children: [
|
|
39434
|
+
/* @__PURE__ */ jsx148(
|
|
39435
|
+
"div",
|
|
39436
|
+
{
|
|
39437
|
+
className: "h-[3px]",
|
|
39438
|
+
style: {
|
|
39439
|
+
background: `linear-gradient(90deg, ${primaryColor}, ${theme?.secondary || "#a78bfa"}, ${theme?.accent || "#c4b5fd"})`
|
|
39440
|
+
}
|
|
39441
|
+
}
|
|
39442
|
+
),
|
|
39443
|
+
/* @__PURE__ */ jsxs109("div", { className: "p-5", children: [
|
|
39444
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-start gap-3", children: [
|
|
39445
|
+
/* @__PURE__ */ jsx148(
|
|
39446
|
+
"div",
|
|
39447
|
+
{
|
|
39448
|
+
className: "w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",
|
|
39449
|
+
style: {
|
|
39450
|
+
backgroundColor: `${primaryColor}15`,
|
|
39451
|
+
borderColor: `${primaryColor}30`,
|
|
39452
|
+
borderWidth: 1,
|
|
39453
|
+
color: primaryColor
|
|
39454
|
+
},
|
|
39455
|
+
children: /* @__PURE__ */ jsx148(DocumentIcon, {})
|
|
39456
|
+
}
|
|
39457
|
+
),
|
|
39458
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex-1 min-w-0", children: [
|
|
39459
|
+
/* @__PURE__ */ jsx148("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title }),
|
|
39460
|
+
/* @__PURE__ */ jsxs109("p", { className: "text-xs text-zinc-500 mt-0.5", children: [
|
|
39461
|
+
depth && /* @__PURE__ */ jsx148("span", { className: "capitalize", children: depth }),
|
|
39462
|
+
depth && sectionCount > 0 && " \xB7 ",
|
|
39463
|
+
sectionCount > 0 && `${sectionCount} sections`,
|
|
39464
|
+
sourceCount > 0 && ` \xB7 ${sourceCount} sources`,
|
|
39465
|
+
wordCount > 0 && ` \xB7 ${formatWordCount(wordCount)} words`
|
|
39466
|
+
] })
|
|
39467
|
+
] }),
|
|
39468
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-1.5 flex-shrink-0", children: [
|
|
39469
|
+
/* @__PURE__ */ jsxs109(
|
|
39470
|
+
"button",
|
|
39471
|
+
{
|
|
39472
|
+
onClick: () => setShowPreview(true),
|
|
39473
|
+
disabled: !hasHTML,
|
|
39474
|
+
title: "Preview report",
|
|
39475
|
+
className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs font-medium transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
39476
|
+
children: [
|
|
39477
|
+
/* @__PURE__ */ jsx148(ExpandIcon2, {}),
|
|
39478
|
+
/* @__PURE__ */ jsx148("span", { children: "Preview" })
|
|
39479
|
+
]
|
|
39480
|
+
}
|
|
39481
|
+
),
|
|
39482
|
+
/* @__PURE__ */ jsxs109(
|
|
39483
|
+
"button",
|
|
39484
|
+
{
|
|
39485
|
+
onClick: () => setShowExport(true),
|
|
39486
|
+
className: "flex items-center gap-1.5 px-2.5 h-7 text-white text-xs font-medium rounded-lg transition-colors",
|
|
39487
|
+
style: { backgroundColor: primaryColor },
|
|
39488
|
+
onMouseEnter: (e) => e.currentTarget.style.filter = "brightness(1.15)",
|
|
39489
|
+
onMouseLeave: (e) => e.currentTarget.style.filter = "brightness(1)",
|
|
39490
|
+
children: [
|
|
39491
|
+
/* @__PURE__ */ jsx148(DownloadIcon2, {}),
|
|
39492
|
+
/* @__PURE__ */ jsx148("span", { children: "Export" })
|
|
39493
|
+
]
|
|
39494
|
+
}
|
|
39495
|
+
)
|
|
39496
|
+
] })
|
|
39497
|
+
] }),
|
|
39498
|
+
hasHTML && /* @__PURE__ */ jsx148("div", { className: "mt-4", children: /* @__PURE__ */ jsxs109(
|
|
39499
|
+
"div",
|
|
39500
|
+
{
|
|
39501
|
+
ref: previewRef,
|
|
39502
|
+
onClick: () => setShowPreview(true),
|
|
39503
|
+
className: "group relative overflow-hidden rounded-xl bg-white border border-zinc-800/50 cursor-pointer",
|
|
39504
|
+
style: { height: Math.round(previewScale * 400) },
|
|
39505
|
+
title: "Click to open fullscreen",
|
|
39506
|
+
children: [
|
|
39507
|
+
/* @__PURE__ */ jsx148(
|
|
39508
|
+
"iframe",
|
|
39509
|
+
{
|
|
39510
|
+
src: formats.html_url,
|
|
39511
|
+
title,
|
|
39512
|
+
sandbox: "allow-same-origin",
|
|
39513
|
+
style: {
|
|
39514
|
+
width: 800,
|
|
39515
|
+
height: 400,
|
|
39516
|
+
transform: `scale(${previewScale})`,
|
|
39517
|
+
transformOrigin: "top left",
|
|
39518
|
+
border: "none",
|
|
39519
|
+
pointerEvents: "none",
|
|
39520
|
+
display: "block"
|
|
39521
|
+
}
|
|
39522
|
+
}
|
|
39523
|
+
),
|
|
39524
|
+
/* @__PURE__ */ jsx148("div", { className: "absolute inset-0 flex items-center justify-center bg-black/0 group-hover:bg-black/30 transition-colors", children: /* @__PURE__ */ jsxs109("span", { className: "opacity-0 group-hover:opacity-100 transition-opacity flex items-center gap-2 bg-zinc-900/80 backdrop-blur-sm border border-zinc-700 rounded-lg px-3 py-1.5 text-xs text-zinc-200 font-medium", children: [
|
|
39525
|
+
/* @__PURE__ */ jsx148(ExpandIcon2, {}),
|
|
39526
|
+
"Open fullscreen"
|
|
39527
|
+
] }) })
|
|
39528
|
+
]
|
|
39529
|
+
}
|
|
39530
|
+
) }),
|
|
39531
|
+
!hasHTML && summary && /* @__PURE__ */ jsx148("div", { className: "mt-4 pt-4 border-t border-zinc-800/60", children: /* @__PURE__ */ jsx148("p", { className: "text-sm text-zinc-400 leading-relaxed line-clamp-3", children: summary }) })
|
|
39532
|
+
] })
|
|
39533
|
+
] }) }),
|
|
39534
|
+
showExport && /* @__PURE__ */ jsx148(ExportModal2, { formats, title, onClose: () => setShowExport(false) }),
|
|
39535
|
+
showPreview && hasHTML && /* @__PURE__ */ jsx148(
|
|
39536
|
+
FullscreenPreviewModal,
|
|
39537
|
+
{
|
|
39538
|
+
url: formats.html_url,
|
|
39539
|
+
title,
|
|
39540
|
+
onClose: () => setShowPreview(false)
|
|
39541
|
+
}
|
|
39542
|
+
)
|
|
39543
|
+
] });
|
|
39544
|
+
};
|
|
39545
|
+
|
|
39133
39546
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
39134
|
-
import
|
|
39547
|
+
import React108, { useMemo as useMemo6 } from "react";
|
|
39135
39548
|
|
|
39136
39549
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
39137
|
-
import { useState as
|
|
39550
|
+
import { useState as useState12, useRef as useRef7, useEffect as useEffect8, useMemo as useMemo5 } from "react";
|
|
39138
39551
|
|
|
39139
39552
|
// src/lib/countries.ts
|
|
39140
39553
|
var countries = [
|
|
@@ -39341,15 +39754,15 @@ var countriesWithFlags = Object.fromEntries(
|
|
|
39341
39754
|
);
|
|
39342
39755
|
|
|
39343
39756
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
39344
|
-
import { jsx as
|
|
39757
|
+
import { jsx as jsx149, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
39345
39758
|
var CountrySelectEdit = ({
|
|
39346
39759
|
value,
|
|
39347
39760
|
onChange
|
|
39348
39761
|
}) => {
|
|
39349
|
-
const [isDropdownOpen, setIsDropdownOpen] =
|
|
39350
|
-
const [searchTerm, setSearchTerm] =
|
|
39351
|
-
const dropdownRef =
|
|
39352
|
-
|
|
39762
|
+
const [isDropdownOpen, setIsDropdownOpen] = useState12(false);
|
|
39763
|
+
const [searchTerm, setSearchTerm] = useState12("");
|
|
39764
|
+
const dropdownRef = useRef7(null);
|
|
39765
|
+
useEffect8(() => {
|
|
39353
39766
|
const handleClickOutside = (event) => {
|
|
39354
39767
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
39355
39768
|
setIsDropdownOpen(false);
|
|
@@ -39368,16 +39781,16 @@ var CountrySelectEdit = ({
|
|
|
39368
39781
|
}
|
|
39369
39782
|
return [];
|
|
39370
39783
|
}, [value]);
|
|
39371
|
-
return /* @__PURE__ */
|
|
39372
|
-
/* @__PURE__ */
|
|
39373
|
-
/* @__PURE__ */
|
|
39784
|
+
return /* @__PURE__ */ jsxs110("div", { className: "space-y-3", children: [
|
|
39785
|
+
/* @__PURE__ */ jsxs110("div", { className: "relative", ref: dropdownRef, children: [
|
|
39786
|
+
/* @__PURE__ */ jsxs110(
|
|
39374
39787
|
"div",
|
|
39375
39788
|
{
|
|
39376
39789
|
className: "flex-1 bg-background border border-border rounded-md px-3 py-2 text-sm cursor-pointer flex items-center justify-between font-medium hover:border-purple500 transition-colors",
|
|
39377
39790
|
onClick: () => setIsDropdownOpen(!isDropdownOpen),
|
|
39378
39791
|
children: [
|
|
39379
|
-
/* @__PURE__ */
|
|
39380
|
-
/* @__PURE__ */
|
|
39792
|
+
/* @__PURE__ */ jsx149("span", { className: "text-foreground", children: inputValue.length > 0 ? `${inputValue.length} ${inputValue.length === 1 ? "country" : "countries"} selected` : "Select countries..." }),
|
|
39793
|
+
/* @__PURE__ */ jsx149(
|
|
39381
39794
|
ChevronDown,
|
|
39382
39795
|
{
|
|
39383
39796
|
className: cn(
|
|
@@ -39389,8 +39802,8 @@ var CountrySelectEdit = ({
|
|
|
39389
39802
|
]
|
|
39390
39803
|
}
|
|
39391
39804
|
),
|
|
39392
|
-
isDropdownOpen && /* @__PURE__ */
|
|
39393
|
-
/* @__PURE__ */
|
|
39805
|
+
isDropdownOpen && /* @__PURE__ */ jsxs110("div", { className: "relative z-10 top-full left-0 right-0 mt-1 bg-background border border-border rounded-lg shadow-xl z-50 max-h-60 overflow-hidden animate-in fade-in slide-in-from-top-1", children: [
|
|
39806
|
+
/* @__PURE__ */ jsx149("div", { className: "p-2 border-b border-border", children: /* @__PURE__ */ jsx149(
|
|
39394
39807
|
"input",
|
|
39395
39808
|
{
|
|
39396
39809
|
type: "text",
|
|
@@ -39401,9 +39814,9 @@ var CountrySelectEdit = ({
|
|
|
39401
39814
|
onClick: (e) => e.stopPropagation()
|
|
39402
39815
|
}
|
|
39403
39816
|
) }),
|
|
39404
|
-
/* @__PURE__ */
|
|
39817
|
+
/* @__PURE__ */ jsx149("div", { className: "max-h-40 overflow-y-auto p-1", children: countries.filter(
|
|
39405
39818
|
(country) => country.name.toLowerCase().includes(searchTerm.toLowerCase()) || country.code.toLowerCase().includes(searchTerm.toLowerCase())
|
|
39406
|
-
).map((country) => /* @__PURE__ */
|
|
39819
|
+
).map((country) => /* @__PURE__ */ jsxs110(
|
|
39407
39820
|
"div",
|
|
39408
39821
|
{
|
|
39409
39822
|
className: cn(
|
|
@@ -39424,30 +39837,30 @@ var CountrySelectEdit = ({
|
|
|
39424
39837
|
}
|
|
39425
39838
|
},
|
|
39426
39839
|
children: [
|
|
39427
|
-
/* @__PURE__ */
|
|
39428
|
-
/* @__PURE__ */
|
|
39429
|
-
/* @__PURE__ */
|
|
39840
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex items-center gap-2", children: [
|
|
39841
|
+
/* @__PURE__ */ jsx149("span", { className: "text-sm text-foreground", children: country.name }),
|
|
39842
|
+
/* @__PURE__ */ jsx149("span", { className: "text-xs text-muted-foreground font-mono", children: country.code })
|
|
39430
39843
|
] }),
|
|
39431
|
-
inputValue.includes(country.code) && /* @__PURE__ */
|
|
39844
|
+
inputValue.includes(country.code) && /* @__PURE__ */ jsx149(Check, { className: "h-4 w-4 text-purple500" })
|
|
39432
39845
|
]
|
|
39433
39846
|
},
|
|
39434
39847
|
country.code
|
|
39435
39848
|
)) })
|
|
39436
39849
|
] })
|
|
39437
39850
|
] }),
|
|
39438
|
-
inputValue.length > 0 && /* @__PURE__ */
|
|
39851
|
+
inputValue.length > 0 && /* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-1.5", children: inputValue.map((countryCode) => /* @__PURE__ */ jsxs110(
|
|
39439
39852
|
Badge2,
|
|
39440
39853
|
{
|
|
39441
39854
|
className: "flex items-center gap-1 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium",
|
|
39442
39855
|
children: [
|
|
39443
39856
|
countryCode,
|
|
39444
|
-
/* @__PURE__ */
|
|
39857
|
+
/* @__PURE__ */ jsxs110(
|
|
39445
39858
|
"button",
|
|
39446
39859
|
{
|
|
39447
39860
|
onClick: () => onChange(inputValue.filter((c) => c !== countryCode)),
|
|
39448
39861
|
className: "hover:bg-purple200 rounded-full p-0.5 transition-colors",
|
|
39449
39862
|
children: [
|
|
39450
|
-
/* @__PURE__ */
|
|
39863
|
+
/* @__PURE__ */ jsx149(X, { className: "h-3 w-3" }),
|
|
39451
39864
|
" "
|
|
39452
39865
|
]
|
|
39453
39866
|
}
|
|
@@ -39465,13 +39878,13 @@ var CountrySelectDisplay = ({ value }) => {
|
|
|
39465
39878
|
return [];
|
|
39466
39879
|
}, [value]);
|
|
39467
39880
|
if (displayValues.length === 0) {
|
|
39468
|
-
return /* @__PURE__ */
|
|
39881
|
+
return /* @__PURE__ */ jsx149("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39469
39882
|
}
|
|
39470
|
-
return /* @__PURE__ */
|
|
39883
|
+
return /* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((item) => {
|
|
39471
39884
|
const country = countries.find(
|
|
39472
39885
|
(c) => c.code.toLowerCase() === item.toLowerCase() || c.name.toLowerCase() === item.toLowerCase()
|
|
39473
39886
|
);
|
|
39474
|
-
return /* @__PURE__ */
|
|
39887
|
+
return /* @__PURE__ */ jsx149(
|
|
39475
39888
|
"div",
|
|
39476
39889
|
{
|
|
39477
39890
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
@@ -39505,22 +39918,22 @@ var KeywordBundlesEdit = ({
|
|
|
39505
39918
|
});
|
|
39506
39919
|
});
|
|
39507
39920
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
39508
|
-
return /* @__PURE__ */
|
|
39509
|
-
/* @__PURE__ */
|
|
39510
|
-
/* @__PURE__ */
|
|
39921
|
+
return /* @__PURE__ */ jsx149("div", { className: "space-y-6 pt-2", children: sortedPriorities.map((priority) => /* @__PURE__ */ jsxs110("div", { className: "space-y-3", children: [
|
|
39922
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex items-center gap-2", children: [
|
|
39923
|
+
/* @__PURE__ */ jsxs110("div", { className: "inline-block px-3 py-1 bg-purple200 hover:bg-purple200 text-purpleText text-sm font-medium rounded-md uppercase", children: [
|
|
39511
39924
|
"Priority ",
|
|
39512
39925
|
priority
|
|
39513
39926
|
] }),
|
|
39514
|
-
/* @__PURE__ */
|
|
39927
|
+
/* @__PURE__ */ jsx149("div", { className: "h-px flex-1 bg-white/10" })
|
|
39515
39928
|
] }),
|
|
39516
|
-
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */
|
|
39929
|
+
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */ jsx149(
|
|
39517
39930
|
"div",
|
|
39518
39931
|
{
|
|
39519
39932
|
className: "bg-gray-50/50 border border-gray-100 rounded-xl p-4 transition-all hover:bg-gray-50 hover:border-gray-200 shadow-sm",
|
|
39520
|
-
children: /* @__PURE__ */
|
|
39521
|
-
/* @__PURE__ */
|
|
39522
|
-
/* @__PURE__ */
|
|
39523
|
-
/* @__PURE__ */
|
|
39933
|
+
children: /* @__PURE__ */ jsxs110("div", { className: "flex flex-col gap-3", children: [
|
|
39934
|
+
/* @__PURE__ */ jsx149("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Keywords" }),
|
|
39935
|
+
/* @__PURE__ */ jsxs110("div", { className: "space-y-3", children: [
|
|
39936
|
+
/* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-1.5", children: Array.isArray(bundle.keywords) && bundle.keywords.map((keyword, kIndex) => /* @__PURE__ */ jsxs110(
|
|
39524
39937
|
"div",
|
|
39525
39938
|
{
|
|
39526
39939
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium hover:bg-red-900/40 hover:border-red-500 transition-all cursor-pointer group",
|
|
@@ -39537,12 +39950,12 @@ var KeywordBundlesEdit = ({
|
|
|
39537
39950
|
},
|
|
39538
39951
|
children: [
|
|
39539
39952
|
keyword,
|
|
39540
|
-
/* @__PURE__ */
|
|
39953
|
+
/* @__PURE__ */ jsx149("span", { className: "ml-1 opacity-60 group-hover:opacity-100 transition-opacity", children: "\xD7" })
|
|
39541
39954
|
]
|
|
39542
39955
|
},
|
|
39543
39956
|
kIndex
|
|
39544
39957
|
)) }),
|
|
39545
|
-
/* @__PURE__ */
|
|
39958
|
+
/* @__PURE__ */ jsx149("div", { className: "flex gap-2", children: /* @__PURE__ */ jsx149(
|
|
39546
39959
|
"input",
|
|
39547
39960
|
{
|
|
39548
39961
|
type: "text",
|
|
@@ -39566,9 +39979,9 @@ var KeywordBundlesEdit = ({
|
|
|
39566
39979
|
}
|
|
39567
39980
|
) })
|
|
39568
39981
|
] }),
|
|
39569
|
-
/* @__PURE__ */
|
|
39570
|
-
/* @__PURE__ */
|
|
39571
|
-
/* @__PURE__ */
|
|
39982
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex flex-col gap-1.5 mt-1", children: [
|
|
39983
|
+
/* @__PURE__ */ jsx149("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Priority Level (1-5)" }),
|
|
39984
|
+
/* @__PURE__ */ jsx149(
|
|
39572
39985
|
"input",
|
|
39573
39986
|
{
|
|
39574
39987
|
type: "number",
|
|
@@ -39596,7 +40009,7 @@ var KeywordBundlesEdit = ({
|
|
|
39596
40009
|
var KeywordBundlesDisplay = ({ value }) => {
|
|
39597
40010
|
const bundles = Array.isArray(value) ? value : [];
|
|
39598
40011
|
if (bundles.length === 0)
|
|
39599
|
-
return /* @__PURE__ */
|
|
40012
|
+
return /* @__PURE__ */ jsx149("span", { className: "text-gray-500 italic text-sm", children: "Not specified" });
|
|
39600
40013
|
const groups = {};
|
|
39601
40014
|
bundles.forEach((b, idx) => {
|
|
39602
40015
|
const p = Number(b?.priority) || idx + 1;
|
|
@@ -39609,17 +40022,17 @@ var KeywordBundlesDisplay = ({ value }) => {
|
|
|
39609
40022
|
groups[p].push(...keywords);
|
|
39610
40023
|
});
|
|
39611
40024
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
39612
|
-
return /* @__PURE__ */
|
|
40025
|
+
return /* @__PURE__ */ jsx149("div", { className: "space-y-4 pt-2", children: sortedPriorities.map((priority) => {
|
|
39613
40026
|
const deduped = Array.from(new Set(groups[priority]));
|
|
39614
|
-
return /* @__PURE__ */
|
|
39615
|
-
/* @__PURE__ */
|
|
39616
|
-
/* @__PURE__ */
|
|
40027
|
+
return /* @__PURE__ */ jsxs110("div", { className: "space-y-3", children: [
|
|
40028
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex items-center gap-2", children: [
|
|
40029
|
+
/* @__PURE__ */ jsxs110("div", { className: "inline-block px-3 py-1 bg-purple200 hover:bg-purple200 text-purpleText text-sm font-medium rounded-md uppercase", children: [
|
|
39617
40030
|
"Priority ",
|
|
39618
40031
|
priority
|
|
39619
40032
|
] }),
|
|
39620
|
-
/* @__PURE__ */
|
|
40033
|
+
/* @__PURE__ */ jsx149("div", { className: "h-px flex-1 bg-white/10" })
|
|
39621
40034
|
] }),
|
|
39622
|
-
/* @__PURE__ */
|
|
40035
|
+
/* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-2 pt-1", children: deduped.map((keyword) => /* @__PURE__ */ jsx149(
|
|
39623
40036
|
"div",
|
|
39624
40037
|
{
|
|
39625
40038
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium",
|
|
@@ -39657,12 +40070,12 @@ var PlatformSelectEdit = ({
|
|
|
39657
40070
|
const options = useMemo5(() => {
|
|
39658
40071
|
return DEFAULT_PLATFORMS;
|
|
39659
40072
|
}, []);
|
|
39660
|
-
return /* @__PURE__ */
|
|
40073
|
+
return /* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-4 py-2", children: options.map((platform) => /* @__PURE__ */ jsxs110(
|
|
39661
40074
|
"label",
|
|
39662
40075
|
{
|
|
39663
40076
|
className: "flex items-center gap-2 cursor-pointer group",
|
|
39664
40077
|
children: [
|
|
39665
|
-
/* @__PURE__ */
|
|
40078
|
+
/* @__PURE__ */ jsx149(
|
|
39666
40079
|
"div",
|
|
39667
40080
|
{
|
|
39668
40081
|
className: cn(
|
|
@@ -39670,10 +40083,10 @@ var PlatformSelectEdit = ({
|
|
|
39670
40083
|
isSelected(platform) ? "bg-purple-600 border-purple-600" : "border-gray-300 group-hover:border-purple-400"
|
|
39671
40084
|
),
|
|
39672
40085
|
onClick: () => togglePlatform(platform),
|
|
39673
|
-
children: isSelected(platform) && /* @__PURE__ */
|
|
40086
|
+
children: isSelected(platform) && /* @__PURE__ */ jsx149(Check, { className: "h-3.5 w-3.5 text-white stroke-[3]" })
|
|
39674
40087
|
}
|
|
39675
40088
|
),
|
|
39676
|
-
/* @__PURE__ */
|
|
40089
|
+
/* @__PURE__ */ jsx149("span", { className: "text-sm font-medium text-foreground select-none", children: platform })
|
|
39677
40090
|
]
|
|
39678
40091
|
},
|
|
39679
40092
|
platform
|
|
@@ -39688,9 +40101,9 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
39688
40101
|
return [];
|
|
39689
40102
|
}, [value]);
|
|
39690
40103
|
if (displayValues.length === 0) {
|
|
39691
|
-
return /* @__PURE__ */
|
|
40104
|
+
return /* @__PURE__ */ jsx149("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39692
40105
|
}
|
|
39693
|
-
return /* @__PURE__ */
|
|
40106
|
+
return /* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((platform) => /* @__PURE__ */ jsx149(
|
|
39694
40107
|
"div",
|
|
39695
40108
|
{
|
|
39696
40109
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
@@ -39701,21 +40114,21 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
39701
40114
|
};
|
|
39702
40115
|
|
|
39703
40116
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
39704
|
-
import { jsx as
|
|
40117
|
+
import { jsx as jsx150, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
39705
40118
|
var ObjectDisplay = ({ value }) => {
|
|
39706
40119
|
if (!value || typeof value !== "object") return null;
|
|
39707
|
-
return /* @__PURE__ */
|
|
39708
|
-
/* @__PURE__ */
|
|
40120
|
+
return /* @__PURE__ */ jsx150("div", { className: "space-y-1 pt-1", children: Object.entries(value).map(([k, v]) => /* @__PURE__ */ jsxs111("div", { className: "flex gap-2 text-sm", children: [
|
|
40121
|
+
/* @__PURE__ */ jsxs111("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
39709
40122
|
k.replace(/_/g, " "),
|
|
39710
40123
|
":"
|
|
39711
40124
|
] }),
|
|
39712
|
-
/* @__PURE__ */
|
|
40125
|
+
/* @__PURE__ */ jsx150("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
39713
40126
|
] }, k)) });
|
|
39714
40127
|
};
|
|
39715
40128
|
var StringArrayDisplay = ({ value }) => {
|
|
39716
40129
|
if (!Array.isArray(value) || value.length === 0)
|
|
39717
|
-
return /* @__PURE__ */
|
|
39718
|
-
return /* @__PURE__ */
|
|
40130
|
+
return /* @__PURE__ */ jsx150("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
40131
|
+
return /* @__PURE__ */ jsx150("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx150(
|
|
39719
40132
|
"div",
|
|
39720
40133
|
{
|
|
39721
40134
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
@@ -39733,8 +40146,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39733
40146
|
key,
|
|
39734
40147
|
label: "Keyword Bundles",
|
|
39735
40148
|
type: "custom",
|
|
39736
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39737
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40149
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx150(KeywordBundlesDisplay, { value: v }),
|
|
40150
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx150(
|
|
39738
40151
|
Textarea,
|
|
39739
40152
|
{
|
|
39740
40153
|
value: Array.isArray(v) ? v.map((b) => `${(b.keywords || []).join(", ")} (Priority: ${b.priority || 1})`).join("\n") : String(v || ""),
|
|
@@ -39766,8 +40179,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39766
40179
|
key,
|
|
39767
40180
|
label: "Geography",
|
|
39768
40181
|
type: "custom",
|
|
39769
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39770
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40182
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx150(CountrySelectDisplay, { value: v }),
|
|
40183
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx150(CountrySelectEdit, { value: v, onChange })
|
|
39771
40184
|
};
|
|
39772
40185
|
}
|
|
39773
40186
|
if (key === "platforms" || key === "target_platforms" || key === "targetPlatforms") {
|
|
@@ -39775,8 +40188,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39775
40188
|
key,
|
|
39776
40189
|
label: "Platforms",
|
|
39777
40190
|
type: "custom",
|
|
39778
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39779
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40191
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx150(PlatformSelectDisplay, { value: v }),
|
|
40192
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx150(
|
|
39780
40193
|
PlatformSelectEdit,
|
|
39781
40194
|
{
|
|
39782
40195
|
value: v,
|
|
@@ -39791,7 +40204,7 @@ function buildCampaignSeedFields(data) {
|
|
|
39791
40204
|
key,
|
|
39792
40205
|
label,
|
|
39793
40206
|
type: "custom",
|
|
39794
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40207
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx150(StringArrayDisplay, { value: v })
|
|
39795
40208
|
};
|
|
39796
40209
|
}
|
|
39797
40210
|
if (typeof value === "object" && value !== null && !Array.isArray(value) && "min" in value && "max" in value) {
|
|
@@ -39802,9 +40215,9 @@ function buildCampaignSeedFields(data) {
|
|
|
39802
40215
|
type: "custom",
|
|
39803
40216
|
renderDisplay: (v) => {
|
|
39804
40217
|
if (typeof v === "object" && v !== null) {
|
|
39805
|
-
return /* @__PURE__ */
|
|
40218
|
+
return /* @__PURE__ */ jsx150("span", { className: "text-foreground font-medium", children: `${v.min?.toLocaleString()} - ${v.max?.toLocaleString()}` });
|
|
39806
40219
|
}
|
|
39807
|
-
return /* @__PURE__ */
|
|
40220
|
+
return /* @__PURE__ */ jsx150("span", { className: "text-foreground font-medium", children: v });
|
|
39808
40221
|
}
|
|
39809
40222
|
};
|
|
39810
40223
|
}
|
|
@@ -39814,8 +40227,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39814
40227
|
key,
|
|
39815
40228
|
label,
|
|
39816
40229
|
type: "custom",
|
|
39817
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39818
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40230
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx150(ObjectDisplay, { value: v }),
|
|
40231
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx150(
|
|
39819
40232
|
Textarea,
|
|
39820
40233
|
{
|
|
39821
40234
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -39840,7 +40253,7 @@ function buildCampaignSeedFields(data) {
|
|
|
39840
40253
|
return generated;
|
|
39841
40254
|
});
|
|
39842
40255
|
}
|
|
39843
|
-
var CampaignSeedCard =
|
|
40256
|
+
var CampaignSeedCard = React108.memo(
|
|
39844
40257
|
({
|
|
39845
40258
|
selectionStatus,
|
|
39846
40259
|
isLatestMessage = true,
|
|
@@ -39863,7 +40276,7 @@ var CampaignSeedCard = React107.memo(
|
|
|
39863
40276
|
});
|
|
39864
40277
|
};
|
|
39865
40278
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
39866
|
-
return /* @__PURE__ */
|
|
40279
|
+
return /* @__PURE__ */ jsx150("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx150(
|
|
39867
40280
|
FormCard,
|
|
39868
40281
|
{
|
|
39869
40282
|
...formCardProps,
|
|
@@ -39875,9 +40288,9 @@ var CampaignSeedCard = React107.memo(
|
|
|
39875
40288
|
showTimeline: true,
|
|
39876
40289
|
isLatestMessage: effectiveIsLatest,
|
|
39877
40290
|
className,
|
|
39878
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
39879
|
-
/* @__PURE__ */
|
|
39880
|
-
/* @__PURE__ */
|
|
40291
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs111("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
40292
|
+
/* @__PURE__ */ jsx150(CircleCheck, { className: "h-3 w-3" }),
|
|
40293
|
+
/* @__PURE__ */ jsx150("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
39881
40294
|
] }) : formCardProps.footer
|
|
39882
40295
|
}
|
|
39883
40296
|
) });
|
|
@@ -39886,22 +40299,22 @@ var CampaignSeedCard = React107.memo(
|
|
|
39886
40299
|
CampaignSeedCard.displayName = "CampaignSeedCard";
|
|
39887
40300
|
|
|
39888
40301
|
// src/molecules/creator-discovery/SearchSpecCard/SearchSpecCard.tsx
|
|
39889
|
-
import
|
|
39890
|
-
import { jsx as
|
|
40302
|
+
import React109, { useMemo as useMemo7 } from "react";
|
|
40303
|
+
import { jsx as jsx151, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
39891
40304
|
var ObjectDisplay2 = ({ value }) => {
|
|
39892
40305
|
if (!value || typeof value !== "object") return null;
|
|
39893
|
-
return /* @__PURE__ */
|
|
39894
|
-
/* @__PURE__ */
|
|
40306
|
+
return /* @__PURE__ */ jsx151("div", { className: "space-y-1 pt-1", children: Object.entries(value).map(([k, v]) => /* @__PURE__ */ jsxs112("div", { className: "flex gap-2 text-sm", children: [
|
|
40307
|
+
/* @__PURE__ */ jsxs112("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
39895
40308
|
k.replace(/_/g, " "),
|
|
39896
40309
|
":"
|
|
39897
40310
|
] }),
|
|
39898
|
-
/* @__PURE__ */
|
|
40311
|
+
/* @__PURE__ */ jsx151("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
39899
40312
|
] }, k)) });
|
|
39900
40313
|
};
|
|
39901
40314
|
var StringArrayDisplay2 = ({ value }) => {
|
|
39902
40315
|
if (!Array.isArray(value) || value.length === 0)
|
|
39903
|
-
return /* @__PURE__ */
|
|
39904
|
-
return /* @__PURE__ */
|
|
40316
|
+
return /* @__PURE__ */ jsx151("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
40317
|
+
return /* @__PURE__ */ jsx151("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx151(
|
|
39905
40318
|
"div",
|
|
39906
40319
|
{
|
|
39907
40320
|
className: "flex items-center gap-2 px-3 py-1 bg-grayPill border border-foreground rounded-md text-foreground text-sm font-grotesk font-medium",
|
|
@@ -39919,8 +40332,8 @@ function buildSearchSpecFields(data) {
|
|
|
39919
40332
|
key,
|
|
39920
40333
|
label: "Keyword Bundles",
|
|
39921
40334
|
type: "custom",
|
|
39922
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39923
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40335
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(KeywordBundlesDisplay, { value: v }),
|
|
40336
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(KeywordBundlesEdit, { value: v, onChange })
|
|
39924
40337
|
};
|
|
39925
40338
|
}
|
|
39926
40339
|
if (key === "geography") {
|
|
@@ -39928,8 +40341,8 @@ function buildSearchSpecFields(data) {
|
|
|
39928
40341
|
key,
|
|
39929
40342
|
label: "Geography",
|
|
39930
40343
|
type: "custom",
|
|
39931
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39932
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40344
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(CountrySelectDisplay, { value: v }),
|
|
40345
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(CountrySelectEdit, { value: v, onChange })
|
|
39933
40346
|
};
|
|
39934
40347
|
}
|
|
39935
40348
|
if (key === "platforms" && Array.isArray(value)) {
|
|
@@ -39940,8 +40353,8 @@ function buildSearchSpecFields(data) {
|
|
|
39940
40353
|
config: {
|
|
39941
40354
|
options: data.platform_options || data.available_platforms || data.platforms_list || []
|
|
39942
40355
|
},
|
|
39943
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39944
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40356
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(PlatformSelectDisplay, { value: v }),
|
|
40357
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(
|
|
39945
40358
|
PlatformSelectEdit,
|
|
39946
40359
|
{
|
|
39947
40360
|
value: v,
|
|
@@ -39955,8 +40368,8 @@ function buildSearchSpecFields(data) {
|
|
|
39955
40368
|
key,
|
|
39956
40369
|
label: "Exclude Keywords",
|
|
39957
40370
|
type: "custom",
|
|
39958
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39959
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40371
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(StringArrayDisplay2, { value: v }),
|
|
40372
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(
|
|
39960
40373
|
Textarea,
|
|
39961
40374
|
{
|
|
39962
40375
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -39976,8 +40389,8 @@ function buildSearchSpecFields(data) {
|
|
|
39976
40389
|
key,
|
|
39977
40390
|
label,
|
|
39978
40391
|
type: "custom",
|
|
39979
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39980
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40392
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(ObjectDisplay2, { value: v }),
|
|
40393
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(
|
|
39981
40394
|
Textarea,
|
|
39982
40395
|
{
|
|
39983
40396
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -40002,7 +40415,7 @@ function buildSearchSpecFields(data) {
|
|
|
40002
40415
|
return generated;
|
|
40003
40416
|
});
|
|
40004
40417
|
}
|
|
40005
|
-
var SearchSpecCard =
|
|
40418
|
+
var SearchSpecCard = React109.memo(
|
|
40006
40419
|
({
|
|
40007
40420
|
selectionStatus,
|
|
40008
40421
|
isLatestMessage = true,
|
|
@@ -40030,7 +40443,7 @@ var SearchSpecCard = React108.memo(
|
|
|
40030
40443
|
});
|
|
40031
40444
|
};
|
|
40032
40445
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
40033
|
-
return /* @__PURE__ */
|
|
40446
|
+
return /* @__PURE__ */ jsx151("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx151(
|
|
40034
40447
|
FormCard,
|
|
40035
40448
|
{
|
|
40036
40449
|
...formCardProps,
|
|
@@ -40041,9 +40454,9 @@ var SearchSpecCard = React108.memo(
|
|
|
40041
40454
|
onProceed: handleProceed,
|
|
40042
40455
|
isLatestMessage: effectiveIsLatest,
|
|
40043
40456
|
className,
|
|
40044
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
40045
|
-
/* @__PURE__ */
|
|
40046
|
-
/* @__PURE__ */
|
|
40457
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs112("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-1", children: [
|
|
40458
|
+
/* @__PURE__ */ jsx151(CircleCheck, { className: "h-3 w-3" }),
|
|
40459
|
+
/* @__PURE__ */ jsx151("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
40047
40460
|
] }) : formCardProps.footer
|
|
40048
40461
|
}
|
|
40049
40462
|
) });
|
|
@@ -40052,7 +40465,7 @@ var SearchSpecCard = React108.memo(
|
|
|
40052
40465
|
SearchSpecCard.displayName = "SearchSpecCard";
|
|
40053
40466
|
|
|
40054
40467
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
40055
|
-
import
|
|
40468
|
+
import React110 from "react";
|
|
40056
40469
|
|
|
40057
40470
|
// src/molecules/creator-discovery/MCQCard/defaultFetchers.ts
|
|
40058
40471
|
function getBackendOrigin() {
|
|
@@ -40152,8 +40565,8 @@ async function defaultPersistSelection(sessionId, questionKey, value) {
|
|
|
40152
40565
|
}
|
|
40153
40566
|
|
|
40154
40567
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
40155
|
-
import { jsx as
|
|
40156
|
-
var MCQCard =
|
|
40568
|
+
import { jsx as jsx152, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
40569
|
+
var MCQCard = React110.memo(
|
|
40157
40570
|
({
|
|
40158
40571
|
question,
|
|
40159
40572
|
options,
|
|
@@ -40178,16 +40591,16 @@ var MCQCard = React109.memo(
|
|
|
40178
40591
|
const resolvedOptions = options || allProps.Options || allProps.opts || {};
|
|
40179
40592
|
const resolvedRecommended = recommended || allProps.Recommended || allProps.rec;
|
|
40180
40593
|
console.log("[MCQCard] FULL PROPS:", { allProps, resolvedQuestion, resolvedOptions: Object.keys(resolvedOptions || {}), resolvedRecommended });
|
|
40181
|
-
const [selectedOption, setSelectedOption] =
|
|
40182
|
-
const [isProceeded, setIsProceeded] =
|
|
40183
|
-
const fetchedSessionRef =
|
|
40184
|
-
|
|
40594
|
+
const [selectedOption, setSelectedOption] = React110.useState(propsSelectedOption);
|
|
40595
|
+
const [isProceeded, setIsProceeded] = React110.useState(false);
|
|
40596
|
+
const fetchedSessionRef = React110.useRef("");
|
|
40597
|
+
React110.useEffect(() => {
|
|
40185
40598
|
if (propsSelectedOption) {
|
|
40186
40599
|
setSelectedOption(propsSelectedOption);
|
|
40187
40600
|
setIsProceeded(true);
|
|
40188
40601
|
}
|
|
40189
40602
|
}, [propsSelectedOption]);
|
|
40190
|
-
const buildQuestionKey =
|
|
40603
|
+
const buildQuestionKey = React110.useCallback((sid, question2) => {
|
|
40191
40604
|
let hash = 2166136261;
|
|
40192
40605
|
for (let i = 0; i < question2.length; i++) {
|
|
40193
40606
|
hash ^= question2.charCodeAt(i);
|
|
@@ -40195,7 +40608,7 @@ var MCQCard = React109.memo(
|
|
|
40195
40608
|
}
|
|
40196
40609
|
return `mcq_${sid}_${hash.toString(36)}`;
|
|
40197
40610
|
}, []);
|
|
40198
|
-
|
|
40611
|
+
React110.useEffect(() => {
|
|
40199
40612
|
if (!sessionId || !resolvedQuestion) return;
|
|
40200
40613
|
const fetchKey = `${sessionId}::${resolvedQuestion}`;
|
|
40201
40614
|
if (fetchedSessionRef.current === fetchKey) return;
|
|
@@ -40258,7 +40671,7 @@ A: ${label}`);
|
|
|
40258
40671
|
key,
|
|
40259
40672
|
typeof val === "string" ? val : typeof val === "object" && val !== null ? val.label || val.description || val.id || JSON.stringify(val) : String(val ?? "")
|
|
40260
40673
|
]) : [];
|
|
40261
|
-
return /* @__PURE__ */
|
|
40674
|
+
return /* @__PURE__ */ jsxs113(
|
|
40262
40675
|
"div",
|
|
40263
40676
|
{
|
|
40264
40677
|
className: cn(
|
|
@@ -40266,11 +40679,11 @@ A: ${label}`);
|
|
|
40266
40679
|
className
|
|
40267
40680
|
),
|
|
40268
40681
|
children: [
|
|
40269
|
-
/* @__PURE__ */
|
|
40270
|
-
/* @__PURE__ */
|
|
40682
|
+
/* @__PURE__ */ jsx152("div", { className: "mb-4", children: /* @__PURE__ */ jsx152("p", { className: "text-sm text-cardText", children: resolvedQuestion || "Select an option:" }) }),
|
|
40683
|
+
/* @__PURE__ */ jsx152("div", { className: "space-y-2.5 mb-4", children: optionsEntries.map(([key, label]) => {
|
|
40271
40684
|
const isSelected = selectedOption === key;
|
|
40272
40685
|
const isRecommended = key === recommended;
|
|
40273
|
-
return /* @__PURE__ */
|
|
40686
|
+
return /* @__PURE__ */ jsx152(
|
|
40274
40687
|
"div",
|
|
40275
40688
|
{
|
|
40276
40689
|
onClick: (e) => handleOptionClick(key, e),
|
|
@@ -40281,8 +40694,8 @@ A: ${label}`);
|
|
|
40281
40694
|
!selectedOption && !isOptionsDisabled && "hover:border-gray500",
|
|
40282
40695
|
(isLoading || isOptionsDisabled) && "opacity-50 cursor-not-allowed"
|
|
40283
40696
|
),
|
|
40284
|
-
children: /* @__PURE__ */
|
|
40285
|
-
/* @__PURE__ */
|
|
40697
|
+
children: /* @__PURE__ */ jsxs113("div", { className: "flex items-start gap-3", children: [
|
|
40698
|
+
/* @__PURE__ */ jsx152("div", { className: "mt-0.5 flex-shrink-0", children: /* @__PURE__ */ jsx152(
|
|
40286
40699
|
"div",
|
|
40287
40700
|
{
|
|
40288
40701
|
className: cn(
|
|
@@ -40292,19 +40705,19 @@ A: ${label}`);
|
|
|
40292
40705
|
!selectedOption && !isOptionsDisabled && "hover:border-gold"
|
|
40293
40706
|
)
|
|
40294
40707
|
),
|
|
40295
|
-
children: isSelected && /* @__PURE__ */
|
|
40708
|
+
children: isSelected && /* @__PURE__ */ jsx152("div", { className: "w-2 h-2 rounded-full bg-gold" })
|
|
40296
40709
|
}
|
|
40297
40710
|
) }),
|
|
40298
|
-
/* @__PURE__ */
|
|
40299
|
-
isRecommended && /* @__PURE__ */
|
|
40300
|
-
/* @__PURE__ */
|
|
40711
|
+
/* @__PURE__ */ jsxs113("div", { className: "flex-1 min-w-0", children: [
|
|
40712
|
+
isRecommended && /* @__PURE__ */ jsx152("p", { className: "text-xs font-semibold text-gold mb-1", children: "Recommended" }),
|
|
40713
|
+
/* @__PURE__ */ jsx152("p", { className: "text-sm text-cardText", children: label })
|
|
40301
40714
|
] })
|
|
40302
40715
|
] })
|
|
40303
40716
|
},
|
|
40304
40717
|
key
|
|
40305
40718
|
);
|
|
40306
40719
|
}) }),
|
|
40307
|
-
/* @__PURE__ */
|
|
40720
|
+
/* @__PURE__ */ jsx152("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx152(
|
|
40308
40721
|
"button",
|
|
40309
40722
|
{
|
|
40310
40723
|
onClick: handleProceed,
|
|
@@ -40325,8 +40738,8 @@ A: ${label}`);
|
|
|
40325
40738
|
MCQCard.displayName = "MCQCard";
|
|
40326
40739
|
|
|
40327
40740
|
// src/molecules/creator-discovery/PlatformIconGroup/PlatformIconGroup.tsx
|
|
40328
|
-
import { jsx as
|
|
40329
|
-
var TikTokIcon = ({ className }) => /* @__PURE__ */
|
|
40741
|
+
import { jsx as jsx153 } from "react/jsx-runtime";
|
|
40742
|
+
var TikTokIcon = ({ className }) => /* @__PURE__ */ jsx153(Video, { className });
|
|
40330
40743
|
var PlatformIconGroup = ({
|
|
40331
40744
|
platforms,
|
|
40332
40745
|
className
|
|
@@ -40359,10 +40772,10 @@ var PlatformIconGroup = ({
|
|
|
40359
40772
|
return "text-gray-500 bg-gray-50 border-gray-100";
|
|
40360
40773
|
}
|
|
40361
40774
|
};
|
|
40362
|
-
return /* @__PURE__ */
|
|
40775
|
+
return /* @__PURE__ */ jsx153("div", { className: cn("flex gap-2", className), children: platforms.map((p, i) => {
|
|
40363
40776
|
const Icon3 = getIcon(p.platform);
|
|
40364
40777
|
if (!Icon3) return null;
|
|
40365
|
-
return /* @__PURE__ */
|
|
40778
|
+
return /* @__PURE__ */ jsx153(
|
|
40366
40779
|
"a",
|
|
40367
40780
|
{
|
|
40368
40781
|
href: p.url || "#",
|
|
@@ -40373,7 +40786,7 @@ var PlatformIconGroup = ({
|
|
|
40373
40786
|
"p-1.5 rounded-lg border transition-colors flex items-center justify-center",
|
|
40374
40787
|
getColors(p.platform)
|
|
40375
40788
|
),
|
|
40376
|
-
children: /* @__PURE__ */
|
|
40789
|
+
children: /* @__PURE__ */ jsx153(Icon3, { className: "w-4 h-4" })
|
|
40377
40790
|
},
|
|
40378
40791
|
i
|
|
40379
40792
|
);
|
|
@@ -40381,7 +40794,7 @@ var PlatformIconGroup = ({
|
|
|
40381
40794
|
};
|
|
40382
40795
|
|
|
40383
40796
|
// src/molecules/creator-discovery/CreatorProfileSummary/CreatorProfileSummary.tsx
|
|
40384
|
-
import { jsx as
|
|
40797
|
+
import { jsx as jsx154, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
40385
40798
|
var CreatorProfileSummary = ({
|
|
40386
40799
|
avatarSrc,
|
|
40387
40800
|
name,
|
|
@@ -40389,7 +40802,7 @@ var CreatorProfileSummary = ({
|
|
|
40389
40802
|
engagementRate,
|
|
40390
40803
|
className
|
|
40391
40804
|
}) => {
|
|
40392
|
-
return /* @__PURE__ */
|
|
40805
|
+
return /* @__PURE__ */ jsxs114(
|
|
40393
40806
|
"div",
|
|
40394
40807
|
{
|
|
40395
40808
|
className: cn(
|
|
@@ -40397,7 +40810,7 @@ var CreatorProfileSummary = ({
|
|
|
40397
40810
|
className
|
|
40398
40811
|
),
|
|
40399
40812
|
children: [
|
|
40400
|
-
/* @__PURE__ */
|
|
40813
|
+
/* @__PURE__ */ jsx154(
|
|
40401
40814
|
AvatarAtom,
|
|
40402
40815
|
{
|
|
40403
40816
|
id: `avatar-${name}`,
|
|
@@ -40407,8 +40820,8 @@ var CreatorProfileSummary = ({
|
|
|
40407
40820
|
className: "w-12 h-12 ring-2 ring-purple-100"
|
|
40408
40821
|
}
|
|
40409
40822
|
),
|
|
40410
|
-
/* @__PURE__ */
|
|
40411
|
-
/* @__PURE__ */
|
|
40823
|
+
/* @__PURE__ */ jsxs114("div", { className: "flex flex-col flex-1", children: [
|
|
40824
|
+
/* @__PURE__ */ jsx154(
|
|
40412
40825
|
TextAtom,
|
|
40413
40826
|
{
|
|
40414
40827
|
id: `name-${name}`,
|
|
@@ -40418,14 +40831,14 @@ var CreatorProfileSummary = ({
|
|
|
40418
40831
|
className: "text-gray-900 leading-tight"
|
|
40419
40832
|
}
|
|
40420
40833
|
),
|
|
40421
|
-
/* @__PURE__ */
|
|
40422
|
-
followerCount && /* @__PURE__ */
|
|
40423
|
-
/* @__PURE__ */
|
|
40424
|
-
/* @__PURE__ */
|
|
40834
|
+
/* @__PURE__ */ jsxs114("div", { className: "flex gap-3 mt-1", children: [
|
|
40835
|
+
followerCount && /* @__PURE__ */ jsxs114("div", { className: "flex flex-col", children: [
|
|
40836
|
+
/* @__PURE__ */ jsx154("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Followers" }),
|
|
40837
|
+
/* @__PURE__ */ jsx154("span", { className: "text-xs font-semibold text-purple-700", children: followerCount })
|
|
40425
40838
|
] }),
|
|
40426
|
-
engagementRate && /* @__PURE__ */
|
|
40427
|
-
/* @__PURE__ */
|
|
40428
|
-
/* @__PURE__ */
|
|
40839
|
+
engagementRate && /* @__PURE__ */ jsxs114("div", { className: "flex flex-col border-l border-purple-100 pl-3", children: [
|
|
40840
|
+
/* @__PURE__ */ jsx154("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Engagement" }),
|
|
40841
|
+
/* @__PURE__ */ jsx154("span", { className: "text-xs font-semibold text-indigo-600", children: engagementRate })
|
|
40429
40842
|
] })
|
|
40430
40843
|
] })
|
|
40431
40844
|
] })
|
|
@@ -40435,13 +40848,13 @@ var CreatorProfileSummary = ({
|
|
|
40435
40848
|
};
|
|
40436
40849
|
|
|
40437
40850
|
// src/molecules/creator-discovery/AudienceMetricCard/AudienceMetricCard.tsx
|
|
40438
|
-
import { jsx as
|
|
40851
|
+
import { jsx as jsx155, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
40439
40852
|
var AudienceMetricCard = ({
|
|
40440
40853
|
title,
|
|
40441
40854
|
metrics,
|
|
40442
40855
|
className
|
|
40443
40856
|
}) => {
|
|
40444
|
-
return /* @__PURE__ */
|
|
40857
|
+
return /* @__PURE__ */ jsxs115(
|
|
40445
40858
|
Card,
|
|
40446
40859
|
{
|
|
40447
40860
|
className: cn(
|
|
@@ -40449,13 +40862,13 @@ var AudienceMetricCard = ({
|
|
|
40449
40862
|
className
|
|
40450
40863
|
),
|
|
40451
40864
|
children: [
|
|
40452
|
-
/* @__PURE__ */
|
|
40453
|
-
/* @__PURE__ */
|
|
40454
|
-
/* @__PURE__ */
|
|
40455
|
-
/* @__PURE__ */
|
|
40456
|
-
/* @__PURE__ */
|
|
40865
|
+
/* @__PURE__ */ jsx155(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx155(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
40866
|
+
/* @__PURE__ */ jsx155(CardContent, { className: "space-y-4", children: metrics.map((metric, i) => /* @__PURE__ */ jsxs115("div", { className: "space-y-1.5", children: [
|
|
40867
|
+
/* @__PURE__ */ jsxs115("div", { className: "flex justify-between items-center text-sm", children: [
|
|
40868
|
+
/* @__PURE__ */ jsx155("span", { className: "font-medium text-gray-700", children: metric.label }),
|
|
40869
|
+
/* @__PURE__ */ jsx155("span", { className: "font-bold text-gray-900", children: metric.value })
|
|
40457
40870
|
] }),
|
|
40458
|
-
metric.percentage !== void 0 && /* @__PURE__ */
|
|
40871
|
+
metric.percentage !== void 0 && /* @__PURE__ */ jsx155(
|
|
40459
40872
|
ProgressAtom,
|
|
40460
40873
|
{
|
|
40461
40874
|
id: `progress-${i}`,
|
|
@@ -40472,8 +40885,8 @@ var AudienceMetricCard = ({
|
|
|
40472
40885
|
};
|
|
40473
40886
|
|
|
40474
40887
|
// src/molecules/creator-discovery/CreatorGridCard/CreatorGridCard.tsx
|
|
40475
|
-
import { jsx as
|
|
40476
|
-
var TikTokIcon2 = ({ className }) => /* @__PURE__ */
|
|
40888
|
+
import { jsx as jsx156, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
40889
|
+
var TikTokIcon2 = ({ className }) => /* @__PURE__ */ jsx156(Video, { className });
|
|
40477
40890
|
var CreatorGridCard = ({
|
|
40478
40891
|
bannerSrc,
|
|
40479
40892
|
avatarSrc,
|
|
@@ -40501,7 +40914,7 @@ var CreatorGridCard = ({
|
|
|
40501
40914
|
const safePlatforms = Array.isArray(platforms) ? platforms : [];
|
|
40502
40915
|
const safeMetrics = Array.isArray(metrics) ? metrics : [];
|
|
40503
40916
|
const displayName = typeof name === "string" ? name : String(name || "");
|
|
40504
|
-
return /* @__PURE__ */
|
|
40917
|
+
return /* @__PURE__ */ jsxs116(
|
|
40505
40918
|
Card,
|
|
40506
40919
|
{
|
|
40507
40920
|
className: cn(
|
|
@@ -40509,43 +40922,43 @@ var CreatorGridCard = ({
|
|
|
40509
40922
|
className
|
|
40510
40923
|
),
|
|
40511
40924
|
children: [
|
|
40512
|
-
/* @__PURE__ */
|
|
40513
|
-
bannerSrc ? /* @__PURE__ */
|
|
40925
|
+
/* @__PURE__ */ jsxs116("div", { className: "relative h-32 w-full overflow-hidden", children: [
|
|
40926
|
+
bannerSrc ? /* @__PURE__ */ jsx156(
|
|
40514
40927
|
"img",
|
|
40515
40928
|
{
|
|
40516
40929
|
src: bannerSrc,
|
|
40517
40930
|
alt: displayName,
|
|
40518
40931
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40519
40932
|
}
|
|
40520
|
-
) : /* @__PURE__ */
|
|
40521
|
-
/* @__PURE__ */
|
|
40933
|
+
) : /* @__PURE__ */ jsx156("div", { className: "h-full w-full bg-gradient-to-br from-purple-500 to-indigo-600" }),
|
|
40934
|
+
/* @__PURE__ */ jsx156("div", { className: "absolute inset-x-0 bottom-0 h-1/2 bg-gradient-to-t from-black/20 to-transparent" })
|
|
40522
40935
|
] }),
|
|
40523
|
-
/* @__PURE__ */
|
|
40524
|
-
/* @__PURE__ */
|
|
40525
|
-
/* @__PURE__ */
|
|
40526
|
-
/* @__PURE__ */
|
|
40936
|
+
/* @__PURE__ */ jsxs116(CardContent, { className: "relative pt-0 px-5 pb-6", children: [
|
|
40937
|
+
/* @__PURE__ */ jsx156("div", { className: "absolute -top-10 left-5", children: /* @__PURE__ */ jsxs116(Avatar, { className: "h-20 w-20 border-4 border-[var(--card-background)] shadow-lg ring-2 ring-purple-100/20", children: [
|
|
40938
|
+
/* @__PURE__ */ jsx156(AvatarImage, { src: avatarSrc, alt: displayName }),
|
|
40939
|
+
/* @__PURE__ */ jsx156(AvatarFallback, { className: "bg-purple-500/10 text-purple-500 font-bold text-xl", children: displayName.charAt(0) || "?" })
|
|
40527
40940
|
] }) }),
|
|
40528
|
-
/* @__PURE__ */
|
|
40529
|
-
/* @__PURE__ */
|
|
40530
|
-
/* @__PURE__ */
|
|
40941
|
+
/* @__PURE__ */ jsxs116("div", { className: "mt-12 flex flex-col gap-1", children: [
|
|
40942
|
+
/* @__PURE__ */ jsx156("h3", { className: "text-xl font-bold text-[var(--foreground)] truncate", children: displayName }),
|
|
40943
|
+
/* @__PURE__ */ jsxs116("p", { className: "text-sm text-[var(--foreground)]/60 font-medium", children: [
|
|
40531
40944
|
"@",
|
|
40532
40945
|
handle
|
|
40533
40946
|
] })
|
|
40534
40947
|
] }),
|
|
40535
|
-
/* @__PURE__ */
|
|
40948
|
+
/* @__PURE__ */ jsx156("div", { className: "mt-4 flex gap-2", children: safePlatforms.map((p, i) => {
|
|
40536
40949
|
const Icon3 = getIcon(p);
|
|
40537
|
-
return Icon3 ? /* @__PURE__ */
|
|
40950
|
+
return Icon3 ? /* @__PURE__ */ jsx156(
|
|
40538
40951
|
"div",
|
|
40539
40952
|
{
|
|
40540
40953
|
className: "p-1.5 rounded-lg bg-[var(--foreground)]/5 text-[var(--foreground)]/60 hover:text-purple-500 hover:bg-purple-500/10 transition-colors",
|
|
40541
|
-
children: /* @__PURE__ */
|
|
40954
|
+
children: /* @__PURE__ */ jsx156(Icon3, { className: "h-4 w-4" })
|
|
40542
40955
|
},
|
|
40543
40956
|
typeof p === "string" ? p : i
|
|
40544
40957
|
) : null;
|
|
40545
40958
|
}) }),
|
|
40546
|
-
/* @__PURE__ */
|
|
40547
|
-
/* @__PURE__ */
|
|
40548
|
-
/* @__PURE__ */
|
|
40959
|
+
/* @__PURE__ */ jsx156("div", { className: "mt-6 grid grid-cols-2 gap-4 border-t border-[var(--border-color)] pt-4", children: safeMetrics.map((m, i) => /* @__PURE__ */ jsxs116("div", { className: "flex flex-col", children: [
|
|
40960
|
+
/* @__PURE__ */ jsx156("span", { className: "text-[10px] font-bold uppercase tracking-wider text-[var(--foreground)]/40", children: m.label }),
|
|
40961
|
+
/* @__PURE__ */ jsx156("span", { className: "text-sm font-bold text-[var(--primary-color)]", children: m.value })
|
|
40549
40962
|
] }, i)) })
|
|
40550
40963
|
] })
|
|
40551
40964
|
]
|
|
@@ -40554,15 +40967,15 @@ var CreatorGridCard = ({
|
|
|
40554
40967
|
};
|
|
40555
40968
|
|
|
40556
40969
|
// src/molecules/creator-discovery/BrandAffinityGroup/BrandAffinityGroup.tsx
|
|
40557
|
-
import { jsx as
|
|
40970
|
+
import { jsx as jsx157, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
40558
40971
|
var BrandAffinityGroup = ({
|
|
40559
40972
|
brands,
|
|
40560
40973
|
className
|
|
40561
40974
|
}) => {
|
|
40562
|
-
return /* @__PURE__ */
|
|
40563
|
-
/* @__PURE__ */
|
|
40564
|
-
/* @__PURE__ */
|
|
40565
|
-
/* @__PURE__ */
|
|
40975
|
+
return /* @__PURE__ */ jsxs117("div", { className: cn("flex flex-col gap-3", className), children: [
|
|
40976
|
+
/* @__PURE__ */ jsx157("h5", { className: "text-[10px] font-bold uppercase tracking-widest text-muted-foreground", children: "Recent Collaborations" }),
|
|
40977
|
+
/* @__PURE__ */ jsx157("div", { className: "flex flex-wrap gap-4 items-center", children: brands.map((brand, i) => /* @__PURE__ */ jsxs117("div", { className: "group relative", children: [
|
|
40978
|
+
/* @__PURE__ */ jsx157("div", { className: "h-10 w-10 overflow-hidden rounded-xl bg-white border border-gray-100 p-1.5 flex items-center justify-center grayscale hover:grayscale-0 transition-all duration-300 hover:scale-110 shadow-sm hover:shadow-md", children: /* @__PURE__ */ jsx157(
|
|
40566
40979
|
"img",
|
|
40567
40980
|
{
|
|
40568
40981
|
src: brand.logoSrc,
|
|
@@ -40570,18 +40983,18 @@ var BrandAffinityGroup = ({
|
|
|
40570
40983
|
className: "max-h-full max-w-full object-contain"
|
|
40571
40984
|
}
|
|
40572
40985
|
) }),
|
|
40573
|
-
/* @__PURE__ */
|
|
40986
|
+
/* @__PURE__ */ jsx157("div", { className: "absolute -bottom-6 left-1/2 -translate-x-1/2 px-2 py-0.5 bg-gray-900 text-white text-[10px] rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-50 pointer-events-none", children: brand.name })
|
|
40574
40987
|
] }, i)) })
|
|
40575
40988
|
] });
|
|
40576
40989
|
};
|
|
40577
40990
|
|
|
40578
40991
|
// src/molecules/creator-discovery/ContentPreviewGallery/ContentPreviewGallery.tsx
|
|
40579
|
-
import { jsx as
|
|
40992
|
+
import { jsx as jsx158, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
40580
40993
|
var ContentPreviewGallery = ({
|
|
40581
40994
|
items,
|
|
40582
40995
|
className
|
|
40583
40996
|
}) => {
|
|
40584
|
-
return /* @__PURE__ */
|
|
40997
|
+
return /* @__PURE__ */ jsx158("div", { className: cn("grid grid-cols-2 gap-2", className), children: items.map((item, i) => /* @__PURE__ */ jsxs118(
|
|
40585
40998
|
"a",
|
|
40586
40999
|
{
|
|
40587
41000
|
href: item.url || "#",
|
|
@@ -40589,7 +41002,7 @@ var ContentPreviewGallery = ({
|
|
|
40589
41002
|
rel: "noopener noreferrer",
|
|
40590
41003
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100",
|
|
40591
41004
|
children: [
|
|
40592
|
-
/* @__PURE__ */
|
|
41005
|
+
/* @__PURE__ */ jsx158(
|
|
40593
41006
|
"img",
|
|
40594
41007
|
{
|
|
40595
41008
|
src: item.thumbnail,
|
|
@@ -40597,8 +41010,8 @@ var ContentPreviewGallery = ({
|
|
|
40597
41010
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40598
41011
|
}
|
|
40599
41012
|
),
|
|
40600
|
-
item.type === "video" && /* @__PURE__ */
|
|
40601
|
-
/* @__PURE__ */
|
|
41013
|
+
item.type === "video" && /* @__PURE__ */ jsx158("div", { className: "absolute inset-0 flex items-center justify-center bg-black/10 group-hover:bg-black/20 transition-colors", children: /* @__PURE__ */ jsx158("div", { className: "rounded-full bg-white/30 backdrop-blur-md p-3 text-white ring-1 ring-white/50", children: /* @__PURE__ */ jsx158(Play, { className: "h-6 w-6 fill-white" }) }) }),
|
|
41014
|
+
/* @__PURE__ */ jsx158("div", { className: "absolute inset-0 ring-1 ring-inset ring-black/10 rounded-2xl" })
|
|
40602
41015
|
]
|
|
40603
41016
|
},
|
|
40604
41017
|
i
|
|
@@ -40606,10 +41019,10 @@ var ContentPreviewGallery = ({
|
|
|
40606
41019
|
};
|
|
40607
41020
|
|
|
40608
41021
|
// src/molecules/creator-discovery/AudienceDemographicsCard/AudienceDemographicsCard.tsx
|
|
40609
|
-
import { jsx as
|
|
41022
|
+
import { jsx as jsx159, jsxs as jsxs119 } from "react/jsx-runtime";
|
|
40610
41023
|
var AudienceDemographicsCard = ({ title, data, config, demographicType, className }) => {
|
|
40611
41024
|
const chartType = demographicType === "location" ? "bar" : "pie";
|
|
40612
|
-
return /* @__PURE__ */
|
|
41025
|
+
return /* @__PURE__ */ jsxs119(
|
|
40613
41026
|
Card,
|
|
40614
41027
|
{
|
|
40615
41028
|
className: cn(
|
|
@@ -40617,8 +41030,8 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
40617
41030
|
className
|
|
40618
41031
|
),
|
|
40619
41032
|
children: [
|
|
40620
|
-
/* @__PURE__ */
|
|
40621
|
-
/* @__PURE__ */
|
|
41033
|
+
/* @__PURE__ */ jsx159(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx159(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
41034
|
+
/* @__PURE__ */ jsx159(CardContent, { children: /* @__PURE__ */ jsx159("div", { className: "h-[250px] w-full", children: /* @__PURE__ */ jsx159(
|
|
40622
41035
|
ChartAtom,
|
|
40623
41036
|
{
|
|
40624
41037
|
type: "chart",
|
|
@@ -40637,7 +41050,7 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
40637
41050
|
};
|
|
40638
41051
|
|
|
40639
41052
|
// src/molecules/creator-discovery/GrowthChartCard/GrowthChartCard.tsx
|
|
40640
|
-
import { jsx as
|
|
41053
|
+
import { jsx as jsx160, jsxs as jsxs120 } from "react/jsx-runtime";
|
|
40641
41054
|
var GrowthChartCard = ({
|
|
40642
41055
|
title,
|
|
40643
41056
|
data,
|
|
@@ -40646,7 +41059,7 @@ var GrowthChartCard = ({
|
|
|
40646
41059
|
period,
|
|
40647
41060
|
className
|
|
40648
41061
|
}) => {
|
|
40649
|
-
return /* @__PURE__ */
|
|
41062
|
+
return /* @__PURE__ */ jsxs120(
|
|
40650
41063
|
Card,
|
|
40651
41064
|
{
|
|
40652
41065
|
className: cn(
|
|
@@ -40654,15 +41067,15 @@ var GrowthChartCard = ({
|
|
|
40654
41067
|
className
|
|
40655
41068
|
),
|
|
40656
41069
|
children: [
|
|
40657
|
-
/* @__PURE__ */
|
|
40658
|
-
/* @__PURE__ */
|
|
40659
|
-
/* @__PURE__ */
|
|
40660
|
-
/* @__PURE__ */
|
|
41070
|
+
/* @__PURE__ */ jsxs120(CardHeader, { className: "flex flex-row items-center justify-between pb-2 space-y-0", children: [
|
|
41071
|
+
/* @__PURE__ */ jsxs120("div", { children: [
|
|
41072
|
+
/* @__PURE__ */ jsx160(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }),
|
|
41073
|
+
/* @__PURE__ */ jsx160("p", { className: "text-xs text-muted-foreground", children: period })
|
|
40661
41074
|
] }),
|
|
40662
|
-
/* @__PURE__ */
|
|
41075
|
+
/* @__PURE__ */ jsx160("div", { className: "bg-green-50 p-2 rounded-xl", children: /* @__PURE__ */ jsx160(TrendingUp, { className: "w-4 h-4 text-green-600" }) })
|
|
40663
41076
|
] }),
|
|
40664
|
-
/* @__PURE__ */
|
|
40665
|
-
/* @__PURE__ */
|
|
41077
|
+
/* @__PURE__ */ jsxs120(CardContent, { children: [
|
|
41078
|
+
/* @__PURE__ */ jsx160("div", { className: "h-[200px] w-full mt-4", children: /* @__PURE__ */ jsx160(
|
|
40666
41079
|
ChartAtom,
|
|
40667
41080
|
{
|
|
40668
41081
|
type: "chart",
|
|
@@ -40675,9 +41088,9 @@ var GrowthChartCard = ({
|
|
|
40675
41088
|
showLegend: false
|
|
40676
41089
|
}
|
|
40677
41090
|
) }),
|
|
40678
|
-
/* @__PURE__ */
|
|
40679
|
-
/* @__PURE__ */
|
|
40680
|
-
/* @__PURE__ */
|
|
41091
|
+
/* @__PURE__ */ jsxs120("div", { className: "mt-4 flex items-center justify-between", children: [
|
|
41092
|
+
/* @__PURE__ */ jsx160("span", { className: "text-sm font-medium text-gray-500", children: metric }),
|
|
41093
|
+
/* @__PURE__ */ jsx160("span", { className: "text-sm font-bold text-purple-600", children: "+12.5%" })
|
|
40681
41094
|
] })
|
|
40682
41095
|
] })
|
|
40683
41096
|
]
|
|
@@ -40686,24 +41099,24 @@ var GrowthChartCard = ({
|
|
|
40686
41099
|
};
|
|
40687
41100
|
|
|
40688
41101
|
// src/molecules/creator-discovery/TopPostsGrid/TopPostsGrid.tsx
|
|
40689
|
-
import { jsx as
|
|
41102
|
+
import { jsx as jsx161, jsxs as jsxs121 } from "react/jsx-runtime";
|
|
40690
41103
|
var TopPostsGrid = ({
|
|
40691
41104
|
posts,
|
|
40692
41105
|
className
|
|
40693
41106
|
}) => {
|
|
40694
|
-
return /* @__PURE__ */
|
|
41107
|
+
return /* @__PURE__ */ jsx161(
|
|
40695
41108
|
"div",
|
|
40696
41109
|
{
|
|
40697
41110
|
className: cn(
|
|
40698
41111
|
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
40699
41112
|
className
|
|
40700
41113
|
),
|
|
40701
|
-
children: posts.map((post, i) => /* @__PURE__ */
|
|
41114
|
+
children: posts.map((post, i) => /* @__PURE__ */ jsxs121(
|
|
40702
41115
|
"div",
|
|
40703
41116
|
{
|
|
40704
41117
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100 border border-purple-50",
|
|
40705
41118
|
children: [
|
|
40706
|
-
/* @__PURE__ */
|
|
41119
|
+
/* @__PURE__ */ jsx161(
|
|
40707
41120
|
"img",
|
|
40708
41121
|
{
|
|
40709
41122
|
src: post.thumbnail,
|
|
@@ -40711,25 +41124,25 @@ var TopPostsGrid = ({
|
|
|
40711
41124
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40712
41125
|
}
|
|
40713
41126
|
),
|
|
40714
|
-
/* @__PURE__ */
|
|
40715
|
-
/* @__PURE__ */
|
|
40716
|
-
/* @__PURE__ */
|
|
40717
|
-
/* @__PURE__ */
|
|
41127
|
+
/* @__PURE__ */ jsxs121("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity p-4 flex flex-col justify-end", children: [
|
|
41128
|
+
/* @__PURE__ */ jsxs121("div", { className: "flex items-center gap-4 text-white text-xs font-bold", children: [
|
|
41129
|
+
/* @__PURE__ */ jsxs121("span", { className: "flex items-center gap-1", children: [
|
|
41130
|
+
/* @__PURE__ */ jsx161(Heart, { className: "w-3 h-3 fill-white" }),
|
|
40718
41131
|
" ",
|
|
40719
41132
|
post.likes
|
|
40720
41133
|
] }),
|
|
40721
|
-
/* @__PURE__ */
|
|
40722
|
-
/* @__PURE__ */
|
|
41134
|
+
/* @__PURE__ */ jsxs121("span", { className: "flex items-center gap-1", children: [
|
|
41135
|
+
/* @__PURE__ */ jsx161(MessageCircle, { className: "w-3 h-3 fill-white" }),
|
|
40723
41136
|
" ",
|
|
40724
41137
|
post.comments
|
|
40725
41138
|
] }),
|
|
40726
|
-
/* @__PURE__ */
|
|
40727
|
-
/* @__PURE__ */
|
|
41139
|
+
/* @__PURE__ */ jsxs121("span", { className: "flex items-center gap-1", children: [
|
|
41140
|
+
/* @__PURE__ */ jsx161(ChartColumn, { className: "w-3 h-3" }),
|
|
40728
41141
|
" ",
|
|
40729
41142
|
post.engagement
|
|
40730
41143
|
] })
|
|
40731
41144
|
] }),
|
|
40732
|
-
/* @__PURE__ */
|
|
41145
|
+
/* @__PURE__ */ jsx161("span", { className: "text-[10px] text-gray-300 mt-2", children: post.date })
|
|
40733
41146
|
] })
|
|
40734
41147
|
]
|
|
40735
41148
|
},
|
|
@@ -40740,7 +41153,7 @@ var TopPostsGrid = ({
|
|
|
40740
41153
|
};
|
|
40741
41154
|
|
|
40742
41155
|
// src/molecules/creator-discovery/CreatorActionHeader/CreatorActionHeader.tsx
|
|
40743
|
-
import { jsx as
|
|
41156
|
+
import { jsx as jsx162, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
40744
41157
|
var CreatorActionHeader = ({
|
|
40745
41158
|
bannerSrc,
|
|
40746
41159
|
avatarSrc,
|
|
@@ -40749,7 +41162,7 @@ var CreatorActionHeader = ({
|
|
|
40749
41162
|
actions,
|
|
40750
41163
|
className
|
|
40751
41164
|
}) => {
|
|
40752
|
-
return /* @__PURE__ */
|
|
41165
|
+
return /* @__PURE__ */ jsxs122(
|
|
40753
41166
|
"div",
|
|
40754
41167
|
{
|
|
40755
41168
|
className: cn(
|
|
@@ -40757,8 +41170,8 @@ var CreatorActionHeader = ({
|
|
|
40757
41170
|
className
|
|
40758
41171
|
),
|
|
40759
41172
|
children: [
|
|
40760
|
-
/* @__PURE__ */
|
|
40761
|
-
bannerSrc && /* @__PURE__ */
|
|
41173
|
+
/* @__PURE__ */ jsxs122("div", { className: "h-48 w-full bg-gradient-to-r from-purple-100 to-indigo-100 relative", children: [
|
|
41174
|
+
bannerSrc && /* @__PURE__ */ jsx162(
|
|
40762
41175
|
"img",
|
|
40763
41176
|
{
|
|
40764
41177
|
src: bannerSrc,
|
|
@@ -40766,23 +41179,23 @@ var CreatorActionHeader = ({
|
|
|
40766
41179
|
alt: "Banner"
|
|
40767
41180
|
}
|
|
40768
41181
|
),
|
|
40769
|
-
/* @__PURE__ */
|
|
41182
|
+
/* @__PURE__ */ jsx162("div", { className: "absolute inset-0 bg-black/5" })
|
|
40770
41183
|
] }),
|
|
40771
|
-
/* @__PURE__ */
|
|
40772
|
-
/* @__PURE__ */
|
|
40773
|
-
/* @__PURE__ */
|
|
40774
|
-
/* @__PURE__ */
|
|
40775
|
-
/* @__PURE__ */
|
|
41184
|
+
/* @__PURE__ */ jsxs122("div", { className: "px-8 pb-8 flex flex-col md:flex-row md:items-end justify-between gap-6 -mt-12 relative z-10", children: [
|
|
41185
|
+
/* @__PURE__ */ jsxs122("div", { className: "flex flex-col md:flex-row items-start md:items-end gap-6", children: [
|
|
41186
|
+
/* @__PURE__ */ jsx162("div", { className: "p-2 bg-white rounded-[32px] shadow-lg", children: /* @__PURE__ */ jsxs122(Avatar, { className: "h-32 w-32 rounded-[24px] border-4 border-white", children: [
|
|
41187
|
+
/* @__PURE__ */ jsx162(AvatarImage, { src: avatarSrc, className: "rounded-[24px]" }),
|
|
41188
|
+
/* @__PURE__ */ jsx162(AvatarFallback, { className: "rounded-[24px] bg-purple-50 text-purple-600 text-3xl font-bold", children: name.charAt(0) })
|
|
40776
41189
|
] }) }),
|
|
40777
|
-
/* @__PURE__ */
|
|
40778
|
-
/* @__PURE__ */
|
|
40779
|
-
/* @__PURE__ */
|
|
41190
|
+
/* @__PURE__ */ jsxs122("div", { className: "mb-2", children: [
|
|
41191
|
+
/* @__PURE__ */ jsx162("h1", { className: "text-3xl font-bold text-gray-900 tracking-tight", children: name }),
|
|
41192
|
+
/* @__PURE__ */ jsxs122("p", { className: "text-purple-600 font-medium tracking-wide", children: [
|
|
40780
41193
|
"@",
|
|
40781
41194
|
handle
|
|
40782
41195
|
] })
|
|
40783
41196
|
] })
|
|
40784
41197
|
] }),
|
|
40785
|
-
/* @__PURE__ */
|
|
41198
|
+
/* @__PURE__ */ jsx162("div", { className: "flex items-center gap-3 mb-2", children: actions.map((action, i) => /* @__PURE__ */ jsx162(
|
|
40786
41199
|
Button,
|
|
40787
41200
|
{
|
|
40788
41201
|
variant: action.variant || "default",
|
|
@@ -40801,9 +41214,9 @@ var CreatorActionHeader = ({
|
|
|
40801
41214
|
};
|
|
40802
41215
|
|
|
40803
41216
|
// src/molecules/creator-discovery/CreatorSearchBox/CreatorSearch.tsx
|
|
40804
|
-
import
|
|
40805
|
-
import { jsx as
|
|
40806
|
-
var CreatorSearch =
|
|
41217
|
+
import React111, { useMemo as useMemo8 } from "react";
|
|
41218
|
+
import { jsx as jsx163, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
41219
|
+
var CreatorSearch = React111.memo(
|
|
40807
41220
|
({
|
|
40808
41221
|
selectionStatus,
|
|
40809
41222
|
isLatestMessage = true,
|
|
@@ -40820,7 +41233,7 @@ var CreatorSearch = React110.memo(
|
|
|
40820
41233
|
...field,
|
|
40821
41234
|
renderDisplay: (val) => {
|
|
40822
41235
|
const platforms = Array.isArray(val) ? val : [val];
|
|
40823
|
-
return /* @__PURE__ */
|
|
41236
|
+
return /* @__PURE__ */ jsx163("div", { className: "flex flex-wrap gap-2", children: platforms.map((p) => /* @__PURE__ */ jsx163(
|
|
40824
41237
|
BadgeAtom,
|
|
40825
41238
|
{
|
|
40826
41239
|
id: `platform-${p}`,
|
|
@@ -40837,13 +41250,13 @@ var CreatorSearch = React110.memo(
|
|
|
40837
41250
|
if (field.key === "geography") {
|
|
40838
41251
|
return {
|
|
40839
41252
|
...field,
|
|
40840
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41253
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx163(CountrySelectDisplay, { value: val })
|
|
40841
41254
|
};
|
|
40842
41255
|
}
|
|
40843
41256
|
if (field.key === "keywordBundles") {
|
|
40844
41257
|
return {
|
|
40845
41258
|
...field,
|
|
40846
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41259
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx163(KeywordBundlesDisplay, { value: val })
|
|
40847
41260
|
};
|
|
40848
41261
|
}
|
|
40849
41262
|
if (field.key === "followerRange") {
|
|
@@ -40851,9 +41264,9 @@ var CreatorSearch = React110.memo(
|
|
|
40851
41264
|
...field,
|
|
40852
41265
|
renderDisplay: (val) => {
|
|
40853
41266
|
if (typeof val === "object" && val !== null) {
|
|
40854
|
-
return /* @__PURE__ */
|
|
41267
|
+
return /* @__PURE__ */ jsx163("span", { className: "text-white font-medium", children: `${val.min?.toLocaleString()} - ${val.max?.toLocaleString()} followers` });
|
|
40855
41268
|
}
|
|
40856
|
-
return /* @__PURE__ */
|
|
41269
|
+
return /* @__PURE__ */ jsxs123("span", { className: "text-white font-medium", children: [
|
|
40857
41270
|
val,
|
|
40858
41271
|
" followers"
|
|
40859
41272
|
] });
|
|
@@ -40863,7 +41276,7 @@ var CreatorSearch = React110.memo(
|
|
|
40863
41276
|
if (field.key === "initialCreators") {
|
|
40864
41277
|
return {
|
|
40865
41278
|
...field,
|
|
40866
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41279
|
+
renderDisplay: (val) => /* @__PURE__ */ jsxs123("span", { className: "text-white font-medium", children: [
|
|
40867
41280
|
val,
|
|
40868
41281
|
" creators"
|
|
40869
41282
|
] })
|
|
@@ -40872,7 +41285,7 @@ var CreatorSearch = React110.memo(
|
|
|
40872
41285
|
return field;
|
|
40873
41286
|
});
|
|
40874
41287
|
}, [providedFields, data]);
|
|
40875
|
-
return /* @__PURE__ */
|
|
41288
|
+
return /* @__PURE__ */ jsx163("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx163(
|
|
40876
41289
|
FormCard,
|
|
40877
41290
|
{
|
|
40878
41291
|
...formCardProps,
|
|
@@ -40881,9 +41294,9 @@ var CreatorSearch = React110.memo(
|
|
|
40881
41294
|
fields,
|
|
40882
41295
|
showTimeline: true,
|
|
40883
41296
|
className: cn("font-noto", className),
|
|
40884
|
-
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */
|
|
40885
|
-
/* @__PURE__ */
|
|
40886
|
-
/* @__PURE__ */
|
|
41297
|
+
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ jsxs123("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-[10px] font-semibold py-4 pr-6", children: [
|
|
41298
|
+
/* @__PURE__ */ jsx163(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
41299
|
+
/* @__PURE__ */ jsx163("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
40887
41300
|
] }) : formCardProps.footer
|
|
40888
41301
|
}
|
|
40889
41302
|
) });
|
|
@@ -40892,10 +41305,10 @@ var CreatorSearch = React110.memo(
|
|
|
40892
41305
|
CreatorSearch.displayName = "CreatorSearch";
|
|
40893
41306
|
|
|
40894
41307
|
// src/molecules/creator-discovery/CampaignConceptCard/CampaignConceptCard.tsx
|
|
40895
|
-
import
|
|
41308
|
+
import React112, { useMemo as useMemo9, useState as useState13 } from "react";
|
|
40896
41309
|
import { motion, AnimatePresence } from "framer-motion";
|
|
40897
|
-
import { jsx as
|
|
40898
|
-
var CampaignConceptCard =
|
|
41310
|
+
import { jsx as jsx164, jsxs as jsxs124 } from "react/jsx-runtime";
|
|
41311
|
+
var CampaignConceptCard = React112.memo(
|
|
40899
41312
|
({
|
|
40900
41313
|
index,
|
|
40901
41314
|
isRecommended,
|
|
@@ -40911,7 +41324,7 @@ var CampaignConceptCard = React111.memo(
|
|
|
40911
41324
|
onAction,
|
|
40912
41325
|
...formCardProps
|
|
40913
41326
|
}) => {
|
|
40914
|
-
const [internalIsOpen, setInternalIsOpen] =
|
|
41327
|
+
const [internalIsOpen, setInternalIsOpen] = useState13(false);
|
|
40915
41328
|
const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
|
|
40916
41329
|
const handleToggle = () => {
|
|
40917
41330
|
if (onToggle) {
|
|
@@ -40967,39 +41380,39 @@ var CampaignConceptCard = React111.memo(
|
|
|
40967
41380
|
label: "Budget Allocation",
|
|
40968
41381
|
renderDisplay: (val) => {
|
|
40969
41382
|
if (!val)
|
|
40970
|
-
return /* @__PURE__ */
|
|
41383
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40971
41384
|
if (Array.isArray(val)) {
|
|
40972
|
-
return /* @__PURE__ */
|
|
41385
|
+
return /* @__PURE__ */ jsx164("div", { className: "space-y-2", children: val.map((item, idx) => {
|
|
40973
41386
|
const label = item?.label ?? item?.key ?? `Item ${idx + 1}`;
|
|
40974
41387
|
const value = item?.value ?? item;
|
|
40975
|
-
return /* @__PURE__ */
|
|
40976
|
-
/* @__PURE__ */
|
|
41388
|
+
return /* @__PURE__ */ jsxs124("div", { className: "flex items-center gap-2", children: [
|
|
41389
|
+
/* @__PURE__ */ jsxs124("span", { className: "text-muted-foreground font-medium", children: [
|
|
40977
41390
|
idx + 1,
|
|
40978
41391
|
"."
|
|
40979
41392
|
] }),
|
|
40980
|
-
/* @__PURE__ */
|
|
40981
|
-
/* @__PURE__ */
|
|
40982
|
-
/* @__PURE__ */
|
|
41393
|
+
/* @__PURE__ */ jsx164("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md", children: String(label) }),
|
|
41394
|
+
/* @__PURE__ */ jsx164("span", { className: "text-cardText", children: "=" }),
|
|
41395
|
+
/* @__PURE__ */ jsx164("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-1 text-cardText text-sm rounded-md font-grotesk font-medium", children: formatVal(value) })
|
|
40983
41396
|
] }, idx);
|
|
40984
41397
|
}) });
|
|
40985
41398
|
}
|
|
40986
41399
|
if (typeof val === "object") {
|
|
40987
41400
|
const entries = Object.entries(val);
|
|
40988
41401
|
if (entries.length === 0)
|
|
40989
|
-
return /* @__PURE__ */
|
|
40990
|
-
return /* @__PURE__ */
|
|
40991
|
-
/* @__PURE__ */
|
|
41402
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
41403
|
+
return /* @__PURE__ */ jsx164("div", { className: "space-y-2", children: entries.map(([k, v], idx) => /* @__PURE__ */ jsxs124("div", { className: "flex items-center gap-2", children: [
|
|
41404
|
+
/* @__PURE__ */ jsxs124("span", { className: "text-muted-foreground font-medium", children: [
|
|
40992
41405
|
idx + 1,
|
|
40993
41406
|
"."
|
|
40994
41407
|
] }),
|
|
40995
|
-
/* @__PURE__ */
|
|
40996
|
-
/* @__PURE__ */
|
|
40997
|
-
/* @__PURE__ */
|
|
41408
|
+
/* @__PURE__ */ jsx164("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md", children: formatKey(k) }),
|
|
41409
|
+
/* @__PURE__ */ jsx164("span", { className: "text-cardText", children: "=" }),
|
|
41410
|
+
/* @__PURE__ */ jsx164("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-1 text-cardText text-sm rounded-md font-grotesk font-medium", children: formatVal(v) })
|
|
40998
41411
|
] }, k)) });
|
|
40999
41412
|
}
|
|
41000
|
-
return /* @__PURE__ */
|
|
41413
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-muted-foreground text-sm", children: String(val) });
|
|
41001
41414
|
},
|
|
41002
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41415
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx164(
|
|
41003
41416
|
Textarea,
|
|
41004
41417
|
{
|
|
41005
41418
|
value: typeof v === "object" ? Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n") : String(v || ""),
|
|
@@ -41024,8 +41437,8 @@ var CampaignConceptCard = React111.memo(
|
|
|
41024
41437
|
return {
|
|
41025
41438
|
...field,
|
|
41026
41439
|
label: "Geography",
|
|
41027
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
41028
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41440
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx164(CountrySelectDisplay, { value: v }),
|
|
41441
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx164(CountrySelectEdit, { value: v, onChange })
|
|
41029
41442
|
};
|
|
41030
41443
|
}
|
|
41031
41444
|
if (field.key === "estimatedCreators" || field.key === "estimated_creators") {
|
|
@@ -41034,11 +41447,11 @@ var CampaignConceptCard = React111.memo(
|
|
|
41034
41447
|
label: "Estimated Creators",
|
|
41035
41448
|
renderDisplay: (val) => {
|
|
41036
41449
|
if (!val)
|
|
41037
|
-
return /* @__PURE__ */
|
|
41450
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
41038
41451
|
const displayValue = typeof val === "object" && !Array.isArray(val) ? `${val.min ?? 0}-${val.max ?? 0}` : String(val);
|
|
41039
|
-
return /* @__PURE__ */
|
|
41452
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-cardText text-sm", children: displayValue });
|
|
41040
41453
|
},
|
|
41041
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41454
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx164(
|
|
41042
41455
|
Input,
|
|
41043
41456
|
{
|
|
41044
41457
|
value: typeof v === "object" ? `${v.min ?? 0}-${v.max ?? 0}` : String(v || ""),
|
|
@@ -41061,8 +41474,8 @@ var CampaignConceptCard = React111.memo(
|
|
|
41061
41474
|
return {
|
|
41062
41475
|
...field,
|
|
41063
41476
|
label: field.label || "Primary KPI",
|
|
41064
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41065
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41477
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx164("span", { className: "text-cardText text-sm", children: val ? String(val) : "-" }),
|
|
41478
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx164(
|
|
41066
41479
|
Input,
|
|
41067
41480
|
{
|
|
41068
41481
|
value: String(v || ""),
|
|
@@ -41079,9 +41492,9 @@ var CampaignConceptCard = React111.memo(
|
|
|
41079
41492
|
label: field.label || "Secondary KPIs",
|
|
41080
41493
|
renderDisplay: (val) => {
|
|
41081
41494
|
const display = Array.isArray(val) ? val.map(String).join(", ") : val ? String(val) : "-";
|
|
41082
|
-
return /* @__PURE__ */
|
|
41495
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-cardText text-sm", children: display });
|
|
41083
41496
|
},
|
|
41084
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41497
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx164(
|
|
41085
41498
|
Textarea,
|
|
41086
41499
|
{
|
|
41087
41500
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -41098,15 +41511,15 @@ var CampaignConceptCard = React111.memo(
|
|
|
41098
41511
|
if (field.key === "platforms" || field.key === "target_platforms" || field.key === "targetPlatforms") {
|
|
41099
41512
|
return {
|
|
41100
41513
|
...field,
|
|
41101
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
41102
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41514
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx164(PlatformSelectDisplay, { value: v }),
|
|
41515
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx164(PlatformSelectEdit, { value: v, onChange })
|
|
41103
41516
|
};
|
|
41104
41517
|
}
|
|
41105
41518
|
if (field.key === "description" || field.key === "creator_strategy" || field.key === "creatorStrategy") {
|
|
41106
41519
|
return {
|
|
41107
41520
|
...field,
|
|
41108
41521
|
type: "textarea",
|
|
41109
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41522
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx164("span", { className: "text-cardText text-sm leading-relaxed", children: val ? String(val) : "-" })
|
|
41110
41523
|
};
|
|
41111
41524
|
}
|
|
41112
41525
|
return {
|
|
@@ -41114,10 +41527,10 @@ var CampaignConceptCard = React111.memo(
|
|
|
41114
41527
|
renderDisplay: (val) => {
|
|
41115
41528
|
if (Array.isArray(val)) {
|
|
41116
41529
|
if (val.length === 0)
|
|
41117
|
-
return /* @__PURE__ */
|
|
41118
|
-
return /* @__PURE__ */
|
|
41530
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
41531
|
+
return /* @__PURE__ */ jsx164("div", { className: "flex flex-wrap gap-2 pt-1", children: val.map((item, idx) => {
|
|
41119
41532
|
const label = typeof item === "object" && item !== null ? item.label || item.value || item.name || JSON.stringify(item) : String(item);
|
|
41120
|
-
return /* @__PURE__ */
|
|
41533
|
+
return /* @__PURE__ */ jsx164(
|
|
41121
41534
|
"span",
|
|
41122
41535
|
{
|
|
41123
41536
|
className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md",
|
|
@@ -41128,14 +41541,14 @@ var CampaignConceptCard = React111.memo(
|
|
|
41128
41541
|
}) });
|
|
41129
41542
|
}
|
|
41130
41543
|
if (typeof val === "object" && val !== null) {
|
|
41131
|
-
return /* @__PURE__ */
|
|
41544
|
+
return /* @__PURE__ */ jsx164("div", { className: "text-muted-foreground text-xs font-mono bg-paperBackground p-2 rounded mt-1 overflow-auto max-h-24", children: Object.entries(val).map(([k, v]) => `${k.replace(/_/g, " ")}: ${v}`).join("\n") });
|
|
41132
41545
|
}
|
|
41133
|
-
return /* @__PURE__ */
|
|
41546
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-cardText text-sm", children: val !== void 0 && val !== null ? String(val) : "-" });
|
|
41134
41547
|
}
|
|
41135
41548
|
};
|
|
41136
41549
|
});
|
|
41137
41550
|
}, [providedFields, data]);
|
|
41138
|
-
return /* @__PURE__ */
|
|
41551
|
+
return /* @__PURE__ */ jsxs124(
|
|
41139
41552
|
"div",
|
|
41140
41553
|
{
|
|
41141
41554
|
className: cn(
|
|
@@ -41144,31 +41557,31 @@ var CampaignConceptCard = React111.memo(
|
|
|
41144
41557
|
className
|
|
41145
41558
|
),
|
|
41146
41559
|
children: [
|
|
41147
|
-
/* @__PURE__ */
|
|
41560
|
+
/* @__PURE__ */ jsxs124(
|
|
41148
41561
|
"div",
|
|
41149
41562
|
{
|
|
41150
41563
|
className: "px-4 py-2.5 relative flex items-center justify-between cursor-pointer select-none",
|
|
41151
41564
|
onClick: handleToggle,
|
|
41152
41565
|
children: [
|
|
41153
|
-
/* @__PURE__ */
|
|
41154
|
-
/* @__PURE__ */
|
|
41566
|
+
/* @__PURE__ */ jsxs124("div", { className: "flex-1", children: [
|
|
41567
|
+
/* @__PURE__ */ jsxs124("h3", { className: "text-cardText font-semibold text-sm", children: [
|
|
41155
41568
|
"Concept ",
|
|
41156
41569
|
index !== void 0 ? index : "",
|
|
41157
41570
|
" :",
|
|
41158
41571
|
" ",
|
|
41159
41572
|
typeof cardTitle === "object" ? JSON.stringify(cardTitle) : String(cardTitle)
|
|
41160
41573
|
] }),
|
|
41161
|
-
/* @__PURE__ */
|
|
41162
|
-
isRecommended && /* @__PURE__ */
|
|
41163
|
-
!effectiveIsLatest && selectionStatus && /* @__PURE__ */
|
|
41574
|
+
/* @__PURE__ */ jsxs124("div", { className: "flex flex-wrap gap-2", children: [
|
|
41575
|
+
isRecommended && /* @__PURE__ */ jsx164("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: "Recommended" }),
|
|
41576
|
+
!effectiveIsLatest && selectionStatus && /* @__PURE__ */ jsx164("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
41164
41577
|
] })
|
|
41165
41578
|
] }),
|
|
41166
|
-
/* @__PURE__ */
|
|
41579
|
+
/* @__PURE__ */ jsx164(
|
|
41167
41580
|
"div",
|
|
41168
41581
|
{
|
|
41169
41582
|
className: "flex items-center gap-2 ml-3",
|
|
41170
41583
|
onClick: (e) => e.stopPropagation(),
|
|
41171
|
-
children: /* @__PURE__ */
|
|
41584
|
+
children: /* @__PURE__ */ jsx164(
|
|
41172
41585
|
"button",
|
|
41173
41586
|
{
|
|
41174
41587
|
onClick: (e) => {
|
|
@@ -41179,7 +41592,7 @@ var CampaignConceptCard = React111.memo(
|
|
|
41179
41592
|
className: "p-2 bg-cardSurface hover:bg-gray200 text-cardText rounded-lg",
|
|
41180
41593
|
"aria-label": isOpen ? "Collapse" : "Expand",
|
|
41181
41594
|
title: isOpen ? "Collapse" : "Expand",
|
|
41182
|
-
children: /* @__PURE__ */
|
|
41595
|
+
children: /* @__PURE__ */ jsx164(
|
|
41183
41596
|
ChevronDown,
|
|
41184
41597
|
{
|
|
41185
41598
|
className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
|
|
@@ -41192,7 +41605,7 @@ var CampaignConceptCard = React111.memo(
|
|
|
41192
41605
|
]
|
|
41193
41606
|
}
|
|
41194
41607
|
),
|
|
41195
|
-
/* @__PURE__ */
|
|
41608
|
+
/* @__PURE__ */ jsx164(AnimatePresence, { initial: false, children: isOpen && /* @__PURE__ */ jsx164(
|
|
41196
41609
|
motion.div,
|
|
41197
41610
|
{
|
|
41198
41611
|
initial: { height: 0, opacity: 0 },
|
|
@@ -41200,8 +41613,8 @@ var CampaignConceptCard = React111.memo(
|
|
|
41200
41613
|
exit: { height: 0, opacity: 0 },
|
|
41201
41614
|
transition: { duration: 0.2, ease: "easeIn" },
|
|
41202
41615
|
className: "overflow-hidden",
|
|
41203
|
-
children: /* @__PURE__ */
|
|
41204
|
-
/* @__PURE__ */
|
|
41616
|
+
children: /* @__PURE__ */ jsxs124("div", { className: "px-3 py-2 w-full relative", children: [
|
|
41617
|
+
/* @__PURE__ */ jsx164(
|
|
41205
41618
|
"div",
|
|
41206
41619
|
{
|
|
41207
41620
|
className: "absolute left-[48px] top-[70px] bottom-[40px] w-[2px]",
|
|
@@ -41210,7 +41623,7 @@ var CampaignConceptCard = React111.memo(
|
|
|
41210
41623
|
}
|
|
41211
41624
|
}
|
|
41212
41625
|
),
|
|
41213
|
-
/* @__PURE__ */
|
|
41626
|
+
/* @__PURE__ */ jsx164(
|
|
41214
41627
|
FormCard,
|
|
41215
41628
|
{
|
|
41216
41629
|
...formCardProps,
|
|
@@ -41224,9 +41637,9 @@ var CampaignConceptCard = React111.memo(
|
|
|
41224
41637
|
hideTitle: true,
|
|
41225
41638
|
hideCopyButton: true,
|
|
41226
41639
|
className: "bg-transparent border-none shadow-none mb-0 p-0",
|
|
41227
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
41228
|
-
/* @__PURE__ */
|
|
41229
|
-
/* @__PURE__ */
|
|
41640
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs124("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
41641
|
+
/* @__PURE__ */ jsx164(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
41642
|
+
/* @__PURE__ */ jsx164("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
41230
41643
|
] }) : formCardProps.footer
|
|
41231
41644
|
}
|
|
41232
41645
|
)
|
|
@@ -41242,14 +41655,14 @@ var CampaignConceptCard = React111.memo(
|
|
|
41242
41655
|
CampaignConceptCard.displayName = "CampaignConceptCard";
|
|
41243
41656
|
|
|
41244
41657
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
41245
|
-
import { useCallback as
|
|
41658
|
+
import { useCallback as useCallback9, useState as useState21, memo } from "react";
|
|
41246
41659
|
|
|
41247
41660
|
// src/molecules/creator-discovery/CreatorWidget/CreatorImageList.tsx
|
|
41248
|
-
import { useEffect as
|
|
41249
|
-
import { Fragment as
|
|
41661
|
+
import { useEffect as useEffect9, useState as useState14 } from "react";
|
|
41662
|
+
import { Fragment as Fragment7, jsx as jsx165, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
41250
41663
|
function useMediaQuery(query) {
|
|
41251
|
-
const [matches, setMatches] =
|
|
41252
|
-
|
|
41664
|
+
const [matches, setMatches] = useState14(false);
|
|
41665
|
+
useEffect9(() => {
|
|
41253
41666
|
const media = window.matchMedia(query);
|
|
41254
41667
|
const listener = () => setMatches(media.matches);
|
|
41255
41668
|
listener();
|
|
@@ -41267,8 +41680,8 @@ function CreatorImage({
|
|
|
41267
41680
|
const processedCount = Math.floor(creatorsPercentage / 100 * totalCreators);
|
|
41268
41681
|
const isProcessed = idx < processedCount;
|
|
41269
41682
|
const isCurrentlyProcessing = idx === processedCount;
|
|
41270
|
-
return /* @__PURE__ */
|
|
41271
|
-
/* @__PURE__ */
|
|
41683
|
+
return /* @__PURE__ */ jsxs125("div", { className: "relative w-8 h-8", children: [
|
|
41684
|
+
/* @__PURE__ */ jsx165(
|
|
41272
41685
|
"img",
|
|
41273
41686
|
{
|
|
41274
41687
|
src: img,
|
|
@@ -41276,9 +41689,9 @@ function CreatorImage({
|
|
|
41276
41689
|
className: `w-8 h-8 rounded-full border-2 ${isProcessed ? "border-green-600" : "border-foreground"} object-cover transition-all duration-300`
|
|
41277
41690
|
}
|
|
41278
41691
|
),
|
|
41279
|
-
!isProcessed && /* @__PURE__ */
|
|
41280
|
-
isCurrentlyProcessing && /* @__PURE__ */
|
|
41281
|
-
/* @__PURE__ */
|
|
41692
|
+
!isProcessed && /* @__PURE__ */ jsx165("div", { className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none" }),
|
|
41693
|
+
isCurrentlyProcessing && /* @__PURE__ */ jsxs125(Fragment7, { children: [
|
|
41694
|
+
/* @__PURE__ */ jsx165(
|
|
41282
41695
|
"div",
|
|
41283
41696
|
{
|
|
41284
41697
|
className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none",
|
|
@@ -41294,7 +41707,7 @@ function CreatorImage({
|
|
|
41294
41707
|
}
|
|
41295
41708
|
}
|
|
41296
41709
|
),
|
|
41297
|
-
/* @__PURE__ */
|
|
41710
|
+
/* @__PURE__ */ jsx165("div", { className: "absolute inset-0 rounded-full border-2 border-[#9CA3AF]/30 pointer-events-none" })
|
|
41298
41711
|
] })
|
|
41299
41712
|
] });
|
|
41300
41713
|
}
|
|
@@ -41307,8 +41720,8 @@ function CreatorImageList({
|
|
|
41307
41720
|
const isMobile = useMediaQuery("(max-width: 640px)");
|
|
41308
41721
|
const isTablet = useMediaQuery("(min-width: 641px) and (max-width: 1024px)");
|
|
41309
41722
|
const visibleCount = isMobile ? 7 : isTablet ? 10 : isAgentOutput ? 6 : 15;
|
|
41310
|
-
return /* @__PURE__ */
|
|
41311
|
-
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */
|
|
41723
|
+
return /* @__PURE__ */ jsxs125("div", { className: "flex flex-nowrap sm:flex-wrap -space-x-2 w-fit", children: [
|
|
41724
|
+
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */ jsx165(
|
|
41312
41725
|
CreatorImage,
|
|
41313
41726
|
{
|
|
41314
41727
|
img,
|
|
@@ -41318,7 +41731,7 @@ function CreatorImageList({
|
|
|
41318
41731
|
},
|
|
41319
41732
|
idx
|
|
41320
41733
|
)),
|
|
41321
|
-
creatorLength > visibleCount && /* @__PURE__ */
|
|
41734
|
+
creatorLength > visibleCount && /* @__PURE__ */ jsxs125(
|
|
41322
41735
|
"div",
|
|
41323
41736
|
{
|
|
41324
41737
|
className: `relative w-8 h-8 rounded-full text-white flex items-center justify-center text-sm font-medium border-2 ${initialCreatorsPercentage === 100 ? "border-green-600 bg-sliderFill" : "border-foreground bg-black/50"}`,
|
|
@@ -41332,28 +41745,28 @@ function CreatorImageList({
|
|
|
41332
41745
|
}
|
|
41333
41746
|
|
|
41334
41747
|
// src/molecules/creator-discovery/CreatorWidget/CreatorProgressBar.tsx
|
|
41335
|
-
import { useEffect as
|
|
41748
|
+
import { useEffect as useEffect10, useState as useState15 } from "react";
|
|
41336
41749
|
import { motion as motion2, AnimatePresence as AnimatePresence2 } from "framer-motion";
|
|
41337
|
-
import { jsx as
|
|
41750
|
+
import { jsx as jsx166, jsxs as jsxs126 } from "react/jsx-runtime";
|
|
41338
41751
|
function truncateName(name, maxLength) {
|
|
41339
41752
|
if (!name || name.length <= maxLength) return name || "";
|
|
41340
41753
|
return name.substring(0, maxLength) + "...";
|
|
41341
41754
|
}
|
|
41342
41755
|
function ProgressBar({ overallPercentage }) {
|
|
41343
|
-
const [showTooltip, setShowTooltip] =
|
|
41344
|
-
|
|
41756
|
+
const [showTooltip, setShowTooltip] = useState15(true);
|
|
41757
|
+
useEffect10(() => {
|
|
41345
41758
|
if (overallPercentage && overallPercentage >= 100) {
|
|
41346
41759
|
setShowTooltip(false);
|
|
41347
41760
|
}
|
|
41348
41761
|
}, [overallPercentage]);
|
|
41349
|
-
return /* @__PURE__ */
|
|
41762
|
+
return /* @__PURE__ */ jsx166("div", { className: "relative w-full", children: /* @__PURE__ */ jsx166("div", { className: "md:w-full dark:bg-purple500 bg-gray-200 rounded-full h-[6px]", children: /* @__PURE__ */ jsx166(
|
|
41350
41763
|
motion2.div,
|
|
41351
41764
|
{
|
|
41352
41765
|
className: "bg-purple100 h-[6px] rounded-full relative",
|
|
41353
41766
|
initial: { width: 0 },
|
|
41354
41767
|
animate: { width: `${overallPercentage}%` },
|
|
41355
41768
|
transition: { duration: 0.5, ease: "easeOut" },
|
|
41356
|
-
children: /* @__PURE__ */
|
|
41769
|
+
children: /* @__PURE__ */ jsx166(AnimatePresence2, { children: showTooltip && /* @__PURE__ */ jsxs126(
|
|
41357
41770
|
motion2.div,
|
|
41358
41771
|
{
|
|
41359
41772
|
initial: { opacity: 0, y: 5 },
|
|
@@ -41363,9 +41776,9 @@ function ProgressBar({ overallPercentage }) {
|
|
|
41363
41776
|
children: [
|
|
41364
41777
|
overallPercentage ? Math.round(overallPercentage) : 0,
|
|
41365
41778
|
"%",
|
|
41366
|
-
/* @__PURE__ */
|
|
41367
|
-
/* @__PURE__ */
|
|
41368
|
-
/* @__PURE__ */
|
|
41779
|
+
/* @__PURE__ */ jsxs126("div", { className: "absolute left-1/2 top-full -translate-x-1/2", children: [
|
|
41780
|
+
/* @__PURE__ */ jsx166("div", { className: "w-0 h-0 border-l-[6px] border-r-[6px] border-t-[6px] border-transparent border-t-gray300" }),
|
|
41781
|
+
/* @__PURE__ */ jsx166("div", { className: "absolute left-1/2 top-[-1px] -translate-x-1/2 w-0 h-0 border-l-[5px] border-r-[5px] border-t-[5px] border-transparent border-t-gray50" })
|
|
41369
41782
|
] })
|
|
41370
41783
|
]
|
|
41371
41784
|
}
|
|
@@ -41377,38 +41790,38 @@ function CreatorProgressBar({
|
|
|
41377
41790
|
statusDetails,
|
|
41378
41791
|
timeRemaining: _timeRemaining
|
|
41379
41792
|
}) {
|
|
41380
|
-
return /* @__PURE__ */
|
|
41381
|
-
/* @__PURE__ */
|
|
41382
|
-
/* @__PURE__ */
|
|
41793
|
+
return /* @__PURE__ */ jsxs126("div", { children: [
|
|
41794
|
+
/* @__PURE__ */ jsx166(ProgressBar, { overallPercentage: statusDetails?.overall_percentage }),
|
|
41795
|
+
/* @__PURE__ */ jsx166("div", { className: "dark:text-gray400 text-gray-500 text-xs mt-2", children: (statusDetails?.overall_percentage ?? 0) < 100 && /* @__PURE__ */ jsx166("span", { children: statusDetails?.thinking_message ? truncateName(statusDetails.thinking_message, 200) : "Processing..." }) })
|
|
41383
41796
|
] });
|
|
41384
41797
|
}
|
|
41385
41798
|
|
|
41386
41799
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidgetSkeleton.tsx
|
|
41387
|
-
import { jsx as
|
|
41800
|
+
import { jsx as jsx167, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
41388
41801
|
function CreatorWidgetSkeleton() {
|
|
41389
|
-
return /* @__PURE__ */
|
|
41390
|
-
/* @__PURE__ */
|
|
41391
|
-
/* @__PURE__ */
|
|
41392
|
-
/* @__PURE__ */
|
|
41802
|
+
return /* @__PURE__ */ jsx167("div", { className: "bg-background dark:bg-gray50 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ jsxs127("div", { className: "p-4 md:p-6 space-y-4", children: [
|
|
41803
|
+
/* @__PURE__ */ jsx167("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: /* @__PURE__ */ jsxs127("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
41804
|
+
/* @__PURE__ */ jsx167("div", { className: "w-40 h-6 bg-purple200 rounded-md animate-pulse" }),
|
|
41805
|
+
/* @__PURE__ */ jsx167("div", { className: "w-64 h-7 bg-gray200 dark:bg-gray300 rounded animate-pulse" })
|
|
41393
41806
|
] }) }),
|
|
41394
|
-
/* @__PURE__ */
|
|
41395
|
-
/* @__PURE__ */
|
|
41396
|
-
/* @__PURE__ */
|
|
41807
|
+
/* @__PURE__ */ jsxs127("div", { className: "bg-paperBackground rounded-lg px-3 md:px-4 py-4 md:py-5 flex flex-col md:flex-row md:items-center md:justify-between gap-4 md:gap-0", children: [
|
|
41808
|
+
/* @__PURE__ */ jsxs127("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
41809
|
+
/* @__PURE__ */ jsx167("div", { className: "flex -space-x-2", children: Array.from({ length: 10 }).map((_, idx) => /* @__PURE__ */ jsx167(
|
|
41397
41810
|
"div",
|
|
41398
41811
|
{
|
|
41399
41812
|
className: "w-8 h-8 md:w-10 md:h-10 rounded-full border-2 border-gray300 bg-gray200 animate-pulse"
|
|
41400
41813
|
},
|
|
41401
41814
|
idx
|
|
41402
41815
|
)) }),
|
|
41403
|
-
/* @__PURE__ */
|
|
41816
|
+
/* @__PURE__ */ jsx167("div", { className: "space-y-2", children: /* @__PURE__ */ jsx167("div", { className: "w-full max-w-xs bg-gray200 rounded-full h-2 animate-pulse" }) })
|
|
41404
41817
|
] }),
|
|
41405
|
-
/* @__PURE__ */
|
|
41818
|
+
/* @__PURE__ */ jsx167("div", { className: "px-6 py-2 bg-gray200 rounded-[30px] animate-pulse h-10 w-48" })
|
|
41406
41819
|
] })
|
|
41407
41820
|
] }) });
|
|
41408
41821
|
}
|
|
41409
41822
|
|
|
41410
41823
|
// src/molecules/creator-discovery/CreatorWidget/CreatorCompactView.tsx
|
|
41411
|
-
import { Fragment as
|
|
41824
|
+
import { Fragment as Fragment8, jsx as jsx168, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
41412
41825
|
function CreatorCompactView({
|
|
41413
41826
|
versions,
|
|
41414
41827
|
selectedVersion,
|
|
@@ -41425,16 +41838,16 @@ function CreatorCompactView({
|
|
|
41425
41838
|
const isComplete = versionStatus === "completed" || versionStatus === "complete";
|
|
41426
41839
|
const statusTitle = isComplete ? "Creator Search Complete" : versionStatus === "failed" ? "Creator Search Failed" : "Creator Search Processing";
|
|
41427
41840
|
if (isLoading) {
|
|
41428
|
-
return /* @__PURE__ */
|
|
41841
|
+
return /* @__PURE__ */ jsx168(CreatorWidgetSkeleton, {});
|
|
41429
41842
|
}
|
|
41430
|
-
return /* @__PURE__ */
|
|
41431
|
-
/* @__PURE__ */
|
|
41432
|
-
/* @__PURE__ */
|
|
41433
|
-
/* @__PURE__ */
|
|
41434
|
-
/* @__PURE__ */
|
|
41843
|
+
return /* @__PURE__ */ jsx168("div", { className: "bg-background dark:bg-gray100 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ jsxs128("div", { className: "p-4 md:p-6 space-y-4", children: [
|
|
41844
|
+
/* @__PURE__ */ jsxs128("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: [
|
|
41845
|
+
/* @__PURE__ */ jsxs128("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
41846
|
+
/* @__PURE__ */ jsx168("h4", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] text-xs font-medium text-purpleText", children: "VERIFIED CREATORS LIST" }),
|
|
41847
|
+
/* @__PURE__ */ jsx168("h3", { className: "text-gray900 md:text-lg font-bold", children: statusTitle })
|
|
41435
41848
|
] }),
|
|
41436
|
-
versions.length > 1 && /* @__PURE__ */
|
|
41437
|
-
/* @__PURE__ */
|
|
41849
|
+
versions.length > 1 && /* @__PURE__ */ jsx168("div", { className: "relative md:self-start", children: /* @__PURE__ */ jsxs128(DropdownMenu, { children: [
|
|
41850
|
+
/* @__PURE__ */ jsxs128(
|
|
41438
41851
|
DropdownMenuTrigger,
|
|
41439
41852
|
{
|
|
41440
41853
|
disabled: !isComplete,
|
|
@@ -41442,11 +41855,11 @@ function CreatorCompactView({
|
|
|
41442
41855
|
children: [
|
|
41443
41856
|
"Version ",
|
|
41444
41857
|
selectedVersion ?? "-",
|
|
41445
|
-
/* @__PURE__ */
|
|
41858
|
+
/* @__PURE__ */ jsx168(ChevronDown, { className: "w-3 h-3 md:w-4 md:h-4 transition-transform" })
|
|
41446
41859
|
]
|
|
41447
41860
|
}
|
|
41448
41861
|
),
|
|
41449
|
-
/* @__PURE__ */
|
|
41862
|
+
/* @__PURE__ */ jsx168(DropdownMenuContent, { className: "bg-gray25 border-2 border-gray400 min-w-[120px] max-h-[150px] overflow-y-auto", children: versions.map((v) => /* @__PURE__ */ jsxs128(
|
|
41450
41863
|
DropdownMenuItem,
|
|
41451
41864
|
{
|
|
41452
41865
|
onClick: () => onVersionSelect(v),
|
|
@@ -41460,12 +41873,12 @@ function CreatorCompactView({
|
|
|
41460
41873
|
)) })
|
|
41461
41874
|
] }) })
|
|
41462
41875
|
] }),
|
|
41463
|
-
/* @__PURE__ */
|
|
41464
|
-
/* @__PURE__ */
|
|
41465
|
-
/* @__PURE__ */
|
|
41466
|
-
] }) : /* @__PURE__ */
|
|
41467
|
-
/* @__PURE__ */
|
|
41468
|
-
/* @__PURE__ */
|
|
41876
|
+
/* @__PURE__ */ jsx168("div", { className: "bg-paperBackground rounded-lg px-3 md:px-4 py-4 md:py-5 flex flex-col md:flex-row md:items-center md:justify-between gap-4 md:gap-0", children: versionStatus === "failed" ? /* @__PURE__ */ jsxs128("div", { className: "flex flex-col items-center justify-center w-full py-6 md:py-8 text-center text-red-500", children: [
|
|
41877
|
+
/* @__PURE__ */ jsx168("p", { className: "text-base md:text-lg font-semibold mb-2", children: "Creator Search Failed" }),
|
|
41878
|
+
/* @__PURE__ */ jsx168("p", { className: "text-xs md:text-sm text-gray600 px-2", children: "Something went wrong while fetching creators. Please try again later or regenerate a new version." })
|
|
41879
|
+
] }) : /* @__PURE__ */ jsxs128(Fragment8, { children: [
|
|
41880
|
+
/* @__PURE__ */ jsxs128("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
41881
|
+
/* @__PURE__ */ jsx168(
|
|
41469
41882
|
CreatorImageList,
|
|
41470
41883
|
{
|
|
41471
41884
|
creatorImages,
|
|
@@ -41474,7 +41887,7 @@ function CreatorCompactView({
|
|
|
41474
41887
|
initialCreatorsPercentage: statusDetails?.social_fetch_percentage
|
|
41475
41888
|
}
|
|
41476
41889
|
),
|
|
41477
|
-
/* @__PURE__ */
|
|
41890
|
+
/* @__PURE__ */ jsx168(
|
|
41478
41891
|
CreatorProgressBar,
|
|
41479
41892
|
{
|
|
41480
41893
|
statusDetails,
|
|
@@ -41482,7 +41895,7 @@ function CreatorCompactView({
|
|
|
41482
41895
|
}
|
|
41483
41896
|
)
|
|
41484
41897
|
] }),
|
|
41485
|
-
/* @__PURE__ */
|
|
41898
|
+
/* @__PURE__ */ jsxs128(
|
|
41486
41899
|
"button",
|
|
41487
41900
|
{
|
|
41488
41901
|
className: `px-4 py-2 text-xs md:text-sm rounded-[30px] shadow flex items-center justify-center gap-2 w-full md:w-auto md:flex-shrink-0 whitespace-nowrap ${!isComplete ? "bg-gray300 text-gray500 border-2 border-gray300 cursor-not-allowed" : "bg-purpleLight dark:bg-purple200 text-purpleText2 dark:text-purpleText border-2 border-purple100 cursor-pointer hover:bg-purpleText1 dark:hover:bg-purple100 dark:hover:text-background"}`,
|
|
@@ -41492,7 +41905,7 @@ function CreatorCompactView({
|
|
|
41492
41905
|
"View ",
|
|
41493
41906
|
creatorLength,
|
|
41494
41907
|
" Verified Creators",
|
|
41495
|
-
/* @__PURE__ */
|
|
41908
|
+
/* @__PURE__ */ jsx168(Triangle, { className: "w-3 h-3 md:w-4 md:h-4 rotate-90 font-bold" })
|
|
41496
41909
|
]
|
|
41497
41910
|
}
|
|
41498
41911
|
)
|
|
@@ -41501,7 +41914,7 @@ function CreatorCompactView({
|
|
|
41501
41914
|
}
|
|
41502
41915
|
|
|
41503
41916
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
41504
|
-
import { useState as
|
|
41917
|
+
import { useState as useState19, useEffect as useEffect12, useCallback as useCallback7 } from "react";
|
|
41505
41918
|
import ReactDOM2 from "react-dom";
|
|
41506
41919
|
import { AnimatePresence as AnimatePresence4, motion as motion5 } from "framer-motion";
|
|
41507
41920
|
|
|
@@ -41783,7 +42196,7 @@ var normalizeToIso2 = (input) => {
|
|
|
41783
42196
|
};
|
|
41784
42197
|
|
|
41785
42198
|
// src/molecules/creator-discovery/CreatorWidget/EngagedAudienceDemographics.tsx
|
|
41786
|
-
import { jsx as
|
|
42199
|
+
import { jsx as jsx169, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
41787
42200
|
function EngagedAudienceDemographics({
|
|
41788
42201
|
audienceDemographics
|
|
41789
42202
|
}) {
|
|
@@ -41801,31 +42214,31 @@ function EngagedAudienceDemographics({
|
|
|
41801
42214
|
if (hasAges) columns.push("1fr");
|
|
41802
42215
|
if (hasGenders) columns.push("0.4fr");
|
|
41803
42216
|
const gridTemplate = columns.join(" ");
|
|
41804
|
-
return /* @__PURE__ */
|
|
41805
|
-
/* @__PURE__ */
|
|
41806
|
-
/* @__PURE__ */
|
|
42217
|
+
return /* @__PURE__ */ jsxs129("div", { className: "flex flex-col gap-4", children: [
|
|
42218
|
+
/* @__PURE__ */ jsx169("div", { className: "text-purpleText text-xs", children: /* @__PURE__ */ jsx169("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "ENGAGED AUDIENCE" }) }),
|
|
42219
|
+
/* @__PURE__ */ jsxs129(
|
|
41807
42220
|
"div",
|
|
41808
42221
|
{
|
|
41809
42222
|
className: "flex flex-col sm:col-span-3 sm:grid gap-6",
|
|
41810
42223
|
style: { gridTemplateColumns: gridTemplate },
|
|
41811
42224
|
children: [
|
|
41812
|
-
hasCities && /* @__PURE__ */
|
|
41813
|
-
/* @__PURE__ */
|
|
41814
|
-
/* @__PURE__ */
|
|
41815
|
-
([code, value]) => /* @__PURE__ */
|
|
42225
|
+
hasCities && /* @__PURE__ */ jsxs129("div", { children: [
|
|
42226
|
+
/* @__PURE__ */ jsx169("h4", { className: "text-xs text-gray700 mb-3", children: "Cities" }),
|
|
42227
|
+
/* @__PURE__ */ jsx169("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.cities || {}).map(
|
|
42228
|
+
([code, value]) => /* @__PURE__ */ jsxs129(
|
|
41816
42229
|
"div",
|
|
41817
42230
|
{
|
|
41818
42231
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41819
42232
|
children: [
|
|
41820
|
-
/* @__PURE__ */
|
|
41821
|
-
/* @__PURE__ */
|
|
42233
|
+
/* @__PURE__ */ jsx169("span", { className: "w-[90px]", children: /* @__PURE__ */ jsx169("div", { className: "flex gap-1 items-center", children: /* @__PURE__ */ jsx169("span", { children: code.split(",")[0] }) }) }),
|
|
42234
|
+
/* @__PURE__ */ jsx169("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx169(
|
|
41822
42235
|
"div",
|
|
41823
42236
|
{
|
|
41824
42237
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41825
42238
|
style: { width: `${value}%` }
|
|
41826
42239
|
}
|
|
41827
42240
|
) }),
|
|
41828
|
-
/* @__PURE__ */
|
|
42241
|
+
/* @__PURE__ */ jsxs129("span", { className: "w-10 text-right font-medium", children: [
|
|
41829
42242
|
value,
|
|
41830
42243
|
"%"
|
|
41831
42244
|
] })
|
|
@@ -41835,29 +42248,29 @@ function EngagedAudienceDemographics({
|
|
|
41835
42248
|
)
|
|
41836
42249
|
) })
|
|
41837
42250
|
] }),
|
|
41838
|
-
hasCountries && /* @__PURE__ */
|
|
41839
|
-
/* @__PURE__ */
|
|
41840
|
-
/* @__PURE__ */
|
|
42251
|
+
hasCountries && /* @__PURE__ */ jsxs129("div", { children: [
|
|
42252
|
+
/* @__PURE__ */ jsx169("h4", { className: "text-xs text-gray700 mb-3", children: "Countries" }),
|
|
42253
|
+
/* @__PURE__ */ jsx169("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.countries || {}).map(
|
|
41841
42254
|
([code, value]) => {
|
|
41842
42255
|
const iso2 = normalizeToIso2(code);
|
|
41843
42256
|
const meta = codeToMeta[iso2];
|
|
41844
|
-
return /* @__PURE__ */
|
|
42257
|
+
return /* @__PURE__ */ jsxs129(
|
|
41845
42258
|
"div",
|
|
41846
42259
|
{
|
|
41847
42260
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41848
42261
|
children: [
|
|
41849
|
-
/* @__PURE__ */
|
|
41850
|
-
/* @__PURE__ */
|
|
41851
|
-
/* @__PURE__ */
|
|
42262
|
+
/* @__PURE__ */ jsx169("span", { className: "w-10", children: /* @__PURE__ */ jsxs129("div", { className: "flex gap-1 items-center", children: [
|
|
42263
|
+
/* @__PURE__ */ jsx169("span", { className: "text-base", children: meta?.flag }),
|
|
42264
|
+
/* @__PURE__ */ jsx169("span", { children: code })
|
|
41852
42265
|
] }) }),
|
|
41853
|
-
/* @__PURE__ */
|
|
42266
|
+
/* @__PURE__ */ jsx169("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx169(
|
|
41854
42267
|
"div",
|
|
41855
42268
|
{
|
|
41856
42269
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41857
42270
|
style: { width: `${value}%` }
|
|
41858
42271
|
}
|
|
41859
42272
|
) }),
|
|
41860
|
-
/* @__PURE__ */
|
|
42273
|
+
/* @__PURE__ */ jsxs129("span", { className: "w-10 text-right font-medium", children: [
|
|
41861
42274
|
value,
|
|
41862
42275
|
"%"
|
|
41863
42276
|
] })
|
|
@@ -41868,23 +42281,23 @@ function EngagedAudienceDemographics({
|
|
|
41868
42281
|
}
|
|
41869
42282
|
) })
|
|
41870
42283
|
] }),
|
|
41871
|
-
hasAges && /* @__PURE__ */
|
|
41872
|
-
/* @__PURE__ */
|
|
41873
|
-
/* @__PURE__ */
|
|
41874
|
-
([ageRange, value]) => /* @__PURE__ */
|
|
42284
|
+
hasAges && /* @__PURE__ */ jsxs129("div", { children: [
|
|
42285
|
+
/* @__PURE__ */ jsx169("h4", { className: "text-xs text-gray700 mb-3", children: "Ages" }),
|
|
42286
|
+
/* @__PURE__ */ jsx169("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.ages || {}).map(
|
|
42287
|
+
([ageRange, value]) => /* @__PURE__ */ jsxs129(
|
|
41875
42288
|
"div",
|
|
41876
42289
|
{
|
|
41877
42290
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41878
42291
|
children: [
|
|
41879
|
-
/* @__PURE__ */
|
|
41880
|
-
/* @__PURE__ */
|
|
42292
|
+
/* @__PURE__ */ jsx169("span", { className: "w-12", children: ageRange }),
|
|
42293
|
+
/* @__PURE__ */ jsx169("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx169(
|
|
41881
42294
|
"div",
|
|
41882
42295
|
{
|
|
41883
42296
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41884
42297
|
style: { width: `${value}%` }
|
|
41885
42298
|
}
|
|
41886
42299
|
) }),
|
|
41887
|
-
/* @__PURE__ */
|
|
42300
|
+
/* @__PURE__ */ jsxs129("span", { className: "w-10 text-right font-medium", children: [
|
|
41888
42301
|
value,
|
|
41889
42302
|
"%"
|
|
41890
42303
|
] })
|
|
@@ -41894,20 +42307,20 @@ function EngagedAudienceDemographics({
|
|
|
41894
42307
|
)
|
|
41895
42308
|
) })
|
|
41896
42309
|
] }),
|
|
41897
|
-
hasGenders && /* @__PURE__ */
|
|
41898
|
-
([gender, value]) => /* @__PURE__ */
|
|
42310
|
+
hasGenders && /* @__PURE__ */ jsx169("div", { className: "flex flex-col justify-center", children: /* @__PURE__ */ jsx169("div", { className: "flex sm:flex-col gap-3", children: Object.entries(audienceDemographics?.genders || {}).map(
|
|
42311
|
+
([gender, value]) => /* @__PURE__ */ jsxs129(
|
|
41899
42312
|
"div",
|
|
41900
42313
|
{
|
|
41901
42314
|
className: "flex flex-col justify-center text-sm",
|
|
41902
42315
|
children: [
|
|
41903
|
-
/* @__PURE__ */
|
|
41904
|
-
gender === "female" ? /* @__PURE__ */
|
|
41905
|
-
/* @__PURE__ */
|
|
42316
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
42317
|
+
gender === "female" ? /* @__PURE__ */ jsx169(Venus, { className: "text-red-500", strokeWidth: 3 }) : /* @__PURE__ */ jsx169(Mars, { className: "text-blue-500", strokeWidth: 3 }),
|
|
42318
|
+
/* @__PURE__ */ jsxs129("span", { className: "capitalize text-gray800 text-xl", children: [
|
|
41906
42319
|
value,
|
|
41907
42320
|
"%"
|
|
41908
42321
|
] })
|
|
41909
42322
|
] }),
|
|
41910
|
-
/* @__PURE__ */
|
|
42323
|
+
/* @__PURE__ */ jsx169("span", { className: "text-lg text-gray700", children: gender.charAt(0).toUpperCase() + gender.slice(1) })
|
|
41911
42324
|
]
|
|
41912
42325
|
},
|
|
41913
42326
|
gender
|
|
@@ -41920,40 +42333,40 @@ function EngagedAudienceDemographics({
|
|
|
41920
42333
|
}
|
|
41921
42334
|
|
|
41922
42335
|
// src/molecules/creator-discovery/CreatorWidget/PlatformIcons.tsx
|
|
41923
|
-
import { jsx as
|
|
42336
|
+
import { jsx as jsx170 } from "react/jsx-runtime";
|
|
41924
42337
|
function InstagramIcon({ className }) {
|
|
41925
|
-
return /* @__PURE__ */
|
|
42338
|
+
return /* @__PURE__ */ jsx170(
|
|
41926
42339
|
"svg",
|
|
41927
42340
|
{
|
|
41928
42341
|
className,
|
|
41929
42342
|
viewBox: "0 0 24 24",
|
|
41930
42343
|
fill: "currentColor",
|
|
41931
42344
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41932
|
-
children: /* @__PURE__ */
|
|
42345
|
+
children: /* @__PURE__ */ jsx170("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" })
|
|
41933
42346
|
}
|
|
41934
42347
|
);
|
|
41935
42348
|
}
|
|
41936
42349
|
function YouTubeIcon({ className }) {
|
|
41937
|
-
return /* @__PURE__ */
|
|
42350
|
+
return /* @__PURE__ */ jsx170(
|
|
41938
42351
|
"svg",
|
|
41939
42352
|
{
|
|
41940
42353
|
className,
|
|
41941
42354
|
viewBox: "0 0 24 24",
|
|
41942
42355
|
fill: "currentColor",
|
|
41943
42356
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41944
|
-
children: /* @__PURE__ */
|
|
42357
|
+
children: /* @__PURE__ */ jsx170("path", { d: "M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" })
|
|
41945
42358
|
}
|
|
41946
42359
|
);
|
|
41947
42360
|
}
|
|
41948
42361
|
function TikTokIcon3({ className }) {
|
|
41949
|
-
return /* @__PURE__ */
|
|
42362
|
+
return /* @__PURE__ */ jsx170(
|
|
41950
42363
|
"svg",
|
|
41951
42364
|
{
|
|
41952
42365
|
className,
|
|
41953
42366
|
viewBox: "0 0 24 24",
|
|
41954
42367
|
fill: "currentColor",
|
|
41955
42368
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41956
|
-
children: /* @__PURE__ */
|
|
42369
|
+
children: /* @__PURE__ */ jsx170("path", { d: "M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z" })
|
|
41957
42370
|
}
|
|
41958
42371
|
);
|
|
41959
42372
|
}
|
|
@@ -41987,8 +42400,8 @@ function getPlatformIconColor(platform) {
|
|
|
41987
42400
|
}
|
|
41988
42401
|
|
|
41989
42402
|
// src/molecules/creator-discovery/CreatorWidget/PostCard.tsx
|
|
41990
|
-
import { useState as
|
|
41991
|
-
import { Fragment as
|
|
42403
|
+
import { useState as useState16 } from "react";
|
|
42404
|
+
import { Fragment as Fragment9, jsx as jsx171, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
41992
42405
|
var formatFollowerCount = (count) => {
|
|
41993
42406
|
if (count >= 1e6) {
|
|
41994
42407
|
const millions = count / 1e6;
|
|
@@ -42001,15 +42414,15 @@ var formatFollowerCount = (count) => {
|
|
|
42001
42414
|
return Math.floor(count).toString();
|
|
42002
42415
|
};
|
|
42003
42416
|
function PostCard({ post, platformUsername }) {
|
|
42004
|
-
const [expanded, setExpanded] =
|
|
42005
|
-
const [errored, setErrored] =
|
|
42417
|
+
const [expanded, setExpanded] = useState16(false);
|
|
42418
|
+
const [errored, setErrored] = useState16(false);
|
|
42006
42419
|
const thumbnail = post.thumbnail_url || post.thumbnail || post.image || "";
|
|
42007
42420
|
const likes = post.engagement?.likes ?? post.likes ?? null;
|
|
42008
42421
|
const comments = post.engagement?.comments ?? post.comments ?? null;
|
|
42009
42422
|
const views = post.engagement?.views ?? post.engagement?.plays ?? post.views ?? post.plays ?? null;
|
|
42010
42423
|
const impressions = post.impressions ?? null;
|
|
42011
42424
|
const reach = post.reach ?? null;
|
|
42012
|
-
return /* @__PURE__ */
|
|
42425
|
+
return /* @__PURE__ */ jsxs130(
|
|
42013
42426
|
"div",
|
|
42014
42427
|
{
|
|
42015
42428
|
className: "rounded-xl overflow-hidden border border-gray500 bg-transparent shadow-sm cursor-pointer",
|
|
@@ -42018,7 +42431,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
42018
42431
|
window.open(post.url, "_blank", "noopener,noreferrer");
|
|
42019
42432
|
},
|
|
42020
42433
|
children: [
|
|
42021
|
-
/* @__PURE__ */
|
|
42434
|
+
/* @__PURE__ */ jsx171("div", { className: "w-full aspect-square relative bg-gray25", children: thumbnail && !errored ? /* @__PURE__ */ jsx171(
|
|
42022
42435
|
"img",
|
|
42023
42436
|
{
|
|
42024
42437
|
src: thumbnail,
|
|
@@ -42026,55 +42439,55 @@ function PostCard({ post, platformUsername }) {
|
|
|
42026
42439
|
className: "w-full h-full object-cover",
|
|
42027
42440
|
onError: () => setErrored(true)
|
|
42028
42441
|
}
|
|
42029
|
-
) : /* @__PURE__ */
|
|
42030
|
-
/* @__PURE__ */
|
|
42031
|
-
/* @__PURE__ */
|
|
42032
|
-
likes !== null && /* @__PURE__ */
|
|
42033
|
-
/* @__PURE__ */
|
|
42442
|
+
) : /* @__PURE__ */ jsx171("div", { className: "w-full h-full flex items-center justify-center text-gray500 text-sm", children: "No preview" }) }),
|
|
42443
|
+
/* @__PURE__ */ jsxs130("div", { className: "p-3", children: [
|
|
42444
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex items-center gap-4 text-sm text-gray600 mb-2", children: [
|
|
42445
|
+
likes !== null && /* @__PURE__ */ jsxs130("div", { className: "flex items-center gap-1", children: [
|
|
42446
|
+
/* @__PURE__ */ jsx171("span", { children: formatFollowerCount(likes) }),
|
|
42034
42447
|
" ",
|
|
42035
|
-
/* @__PURE__ */
|
|
42448
|
+
/* @__PURE__ */ jsx171(Heart, { size: 14 })
|
|
42036
42449
|
] }),
|
|
42037
|
-
comments !== null && /* @__PURE__ */
|
|
42038
|
-
/* @__PURE__ */
|
|
42450
|
+
comments !== null && /* @__PURE__ */ jsxs130("div", { className: "flex items-center gap-1", children: [
|
|
42451
|
+
/* @__PURE__ */ jsx171("span", { children: formatFollowerCount(comments) }),
|
|
42039
42452
|
" ",
|
|
42040
|
-
/* @__PURE__ */
|
|
42453
|
+
/* @__PURE__ */ jsx171(MessageCircle, { size: 14 })
|
|
42041
42454
|
] }),
|
|
42042
|
-
views !== null && /* @__PURE__ */
|
|
42043
|
-
/* @__PURE__ */
|
|
42455
|
+
views !== null && /* @__PURE__ */ jsxs130("div", { className: "flex items-center gap-1", children: [
|
|
42456
|
+
/* @__PURE__ */ jsx171("span", { children: formatFollowerCount(views) }),
|
|
42044
42457
|
" ",
|
|
42045
|
-
/* @__PURE__ */
|
|
42458
|
+
/* @__PURE__ */ jsx171(Eye, { size: 14 })
|
|
42046
42459
|
] })
|
|
42047
42460
|
] }),
|
|
42048
|
-
/* @__PURE__ */
|
|
42049
|
-
impressions !== null && /* @__PURE__ */
|
|
42050
|
-
/* @__PURE__ */
|
|
42461
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex gap-4 text-sm text-gray800 mb-2", children: [
|
|
42462
|
+
impressions !== null && /* @__PURE__ */ jsxs130("div", { children: [
|
|
42463
|
+
/* @__PURE__ */ jsx171("span", { className: "text-gray500 font-bold", children: formatFollowerCount(impressions) }),
|
|
42051
42464
|
" ",
|
|
42052
42465
|
"est.Impressions"
|
|
42053
42466
|
] }),
|
|
42054
|
-
reach !== null && /* @__PURE__ */
|
|
42055
|
-
/* @__PURE__ */
|
|
42467
|
+
reach !== null && /* @__PURE__ */ jsxs130("div", { children: [
|
|
42468
|
+
/* @__PURE__ */ jsx171("span", { className: "text-gray500 font-bold", children: formatFollowerCount(reach) }),
|
|
42056
42469
|
" ",
|
|
42057
42470
|
"est.Reach"
|
|
42058
42471
|
] })
|
|
42059
42472
|
] }),
|
|
42060
|
-
/* @__PURE__ */
|
|
42061
|
-
platformUsername && /* @__PURE__ */
|
|
42473
|
+
/* @__PURE__ */ jsxs130("div", { className: "text-sm mb-1", children: [
|
|
42474
|
+
platformUsername && /* @__PURE__ */ jsxs130("div", { className: "text-md font-semibold text-gray500", children: [
|
|
42062
42475
|
"@",
|
|
42063
42476
|
platformUsername
|
|
42064
42477
|
] }),
|
|
42065
42478
|
["instagram", "tiktok"].includes(
|
|
42066
42479
|
post.platform?.toLowerCase() || ""
|
|
42067
|
-
) ? /* @__PURE__ */
|
|
42480
|
+
) ? /* @__PURE__ */ jsx171(Fragment9, { children: (() => {
|
|
42068
42481
|
const text = post.title || post.description || "";
|
|
42069
|
-
return /* @__PURE__ */
|
|
42070
|
-
/* @__PURE__ */
|
|
42482
|
+
return /* @__PURE__ */ jsxs130(Fragment9, { children: [
|
|
42483
|
+
/* @__PURE__ */ jsx171(
|
|
42071
42484
|
"div",
|
|
42072
42485
|
{
|
|
42073
42486
|
className: `text-gray900 font-light mt-2 text-sm ${!expanded ? "line-clamp-3" : ""}`,
|
|
42074
42487
|
children: text
|
|
42075
42488
|
}
|
|
42076
42489
|
),
|
|
42077
|
-
text.length > 100 && /* @__PURE__ */
|
|
42490
|
+
text.length > 100 && /* @__PURE__ */ jsx171(
|
|
42078
42491
|
"button",
|
|
42079
42492
|
{
|
|
42080
42493
|
onClick: (e) => {
|
|
@@ -42086,9 +42499,9 @@ function PostCard({ post, platformUsername }) {
|
|
|
42086
42499
|
}
|
|
42087
42500
|
)
|
|
42088
42501
|
] });
|
|
42089
|
-
})() }) : /* @__PURE__ */
|
|
42090
|
-
post.title && /* @__PURE__ */
|
|
42091
|
-
post.description && /* @__PURE__ */
|
|
42502
|
+
})() }) : /* @__PURE__ */ jsxs130(Fragment9, { children: [
|
|
42503
|
+
post.title && /* @__PURE__ */ jsx171("div", { className: "text-gray900 font-light", children: post.title }),
|
|
42504
|
+
post.description && /* @__PURE__ */ jsx171(
|
|
42092
42505
|
"div",
|
|
42093
42506
|
{
|
|
42094
42507
|
className: "mt-2 text-sm text-gray900 overflow-hidden font-light",
|
|
@@ -42096,7 +42509,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
42096
42509
|
children: post.description
|
|
42097
42510
|
}
|
|
42098
42511
|
),
|
|
42099
|
-
post.description && post.description.length > 200 && /* @__PURE__ */
|
|
42512
|
+
post.description && post.description.length > 200 && /* @__PURE__ */ jsx171(
|
|
42100
42513
|
"button",
|
|
42101
42514
|
{
|
|
42102
42515
|
onClick: (e) => {
|
|
@@ -42116,7 +42529,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
42116
42529
|
}
|
|
42117
42530
|
|
|
42118
42531
|
// src/molecules/creator-discovery/CreatorWidget/PlatformPostsSection.tsx
|
|
42119
|
-
import { jsx as
|
|
42532
|
+
import { jsx as jsx172, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
42120
42533
|
var formatFollowerCount2 = (count) => {
|
|
42121
42534
|
if (count >= 1e6) {
|
|
42122
42535
|
const millions = count / 1e6;
|
|
@@ -42140,18 +42553,18 @@ function PlatformMetricsBanner({
|
|
|
42140
42553
|
const platformName = getPlatformName(platform);
|
|
42141
42554
|
const bgColor = getPlatformBgColor(platform);
|
|
42142
42555
|
const IconComponent = getPlatformIcon(platform);
|
|
42143
|
-
return /* @__PURE__ */
|
|
42556
|
+
return /* @__PURE__ */ jsxs131(
|
|
42144
42557
|
"div",
|
|
42145
42558
|
{
|
|
42146
42559
|
className: "\n flex overflow-x-auto gap-6 rounded-l-xl py-4 px-4 shadow-sm\n md:grid md:grid-cols-[0.5fr_1fr_1fr_1fr_1fr] md:items-center md:gap-0 md:px-0 md:ml-8\n ",
|
|
42147
42560
|
style: { backgroundColor: bgColor },
|
|
42148
42561
|
children: [
|
|
42149
|
-
/* @__PURE__ */
|
|
42150
|
-
/* @__PURE__ */
|
|
42151
|
-
/* @__PURE__ */
|
|
42562
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col items-center min-w-[90px] md:min-w-0", children: [
|
|
42563
|
+
/* @__PURE__ */ jsx172(IconComponent, { className: "w-5 h-5 md:w-6 md:h-6 text-gray900" }),
|
|
42564
|
+
/* @__PURE__ */ jsx172("span", { className: "text-lg md:text-xl font-bold text-gray900", children: platform === "youtubeMetrics" ? formatFollowerCount2(metrics.subscribers || 0) : formatFollowerCount2(metrics.followers || 0) })
|
|
42152
42565
|
] }),
|
|
42153
|
-
/* @__PURE__ */
|
|
42154
|
-
/* @__PURE__ */
|
|
42566
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col items-start min-w-[130px] md:min-w-0", children: [
|
|
42567
|
+
/* @__PURE__ */ jsxs131(
|
|
42155
42568
|
"span",
|
|
42156
42569
|
{
|
|
42157
42570
|
className: "text-base md:text-lg dark:text-white max-w-[90%] truncate cursor-default",
|
|
@@ -42162,22 +42575,22 @@ function PlatformMetricsBanner({
|
|
|
42162
42575
|
]
|
|
42163
42576
|
}
|
|
42164
42577
|
),
|
|
42165
|
-
/* @__PURE__ */
|
|
42578
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs md:text-sm text-gray900 opacity-90", children: platformName })
|
|
42166
42579
|
] }),
|
|
42167
|
-
/* @__PURE__ */
|
|
42168
|
-
/* @__PURE__ */
|
|
42580
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
42581
|
+
/* @__PURE__ */ jsxs131("span", { className: "text-sm md:text-md font-semibold text-gray900", children: [
|
|
42169
42582
|
(metrics.engagementRate * 100).toFixed(2),
|
|
42170
42583
|
"%"
|
|
42171
42584
|
] }),
|
|
42172
|
-
/* @__PURE__ */
|
|
42585
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs text-gray900 opacity-80", children: "Engagement Rate" })
|
|
42173
42586
|
] }),
|
|
42174
|
-
/* @__PURE__ */
|
|
42175
|
-
/* @__PURE__ */
|
|
42176
|
-
/* @__PURE__ */
|
|
42587
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
42588
|
+
/* @__PURE__ */ jsx172("span", { className: "text-sm md:text-md font-semibold text-gray900", children: Math.round(metrics.avgLikes)?.toLocaleString() }),
|
|
42589
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Likes" })
|
|
42177
42590
|
] }),
|
|
42178
|
-
/* @__PURE__ */
|
|
42179
|
-
/* @__PURE__ */
|
|
42180
|
-
/* @__PURE__ */
|
|
42591
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
42592
|
+
/* @__PURE__ */ jsx172("span", { className: "text-sm md:text-md font-semibold text-gray900", children: Math.round(metrics.avgComments)?.toLocaleString() }),
|
|
42593
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Comments" })
|
|
42181
42594
|
] })
|
|
42182
42595
|
]
|
|
42183
42596
|
}
|
|
@@ -42188,16 +42601,16 @@ function PlatformPostsSection({
|
|
|
42188
42601
|
posts = []
|
|
42189
42602
|
}) {
|
|
42190
42603
|
if (!platformMetrics) return null;
|
|
42191
|
-
return /* @__PURE__ */
|
|
42604
|
+
return /* @__PURE__ */ jsx172("div", { className: "flex flex-col gap-4", children: /* @__PURE__ */ jsx172("div", { className: "flex flex-col gap-8", children: Object.entries(platformMetrics || {}).map(
|
|
42192
42605
|
([platform, metrics]) => {
|
|
42193
42606
|
if (!metrics) return null;
|
|
42194
42607
|
if (metrics.followers === 0 && metrics.subscribers === 0)
|
|
42195
42608
|
return null;
|
|
42196
42609
|
const platformPosts = filterPostsByPlatform(posts, platform);
|
|
42197
42610
|
const platformUsername = metrics.username ?? metrics.channelName ?? "";
|
|
42198
|
-
return /* @__PURE__ */
|
|
42199
|
-
/* @__PURE__ */
|
|
42200
|
-
platformPosts.length > 0 && /* @__PURE__ */
|
|
42611
|
+
return /* @__PURE__ */ jsxs131("div", { className: "w-full flex flex-col gap-8", children: [
|
|
42612
|
+
/* @__PURE__ */ jsx172(PlatformMetricsBanner, { platform, metrics }),
|
|
42613
|
+
platformPosts.length > 0 && /* @__PURE__ */ jsx172("div", { className: "pr-6 sm:ml-8 sm:pr-7", children: /* @__PURE__ */ jsx172("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: platformPosts.map((post, idx) => /* @__PURE__ */ jsx172(
|
|
42201
42614
|
PostCard,
|
|
42202
42615
|
{
|
|
42203
42616
|
post,
|
|
@@ -42211,10 +42624,10 @@ function PlatformPostsSection({
|
|
|
42211
42624
|
}
|
|
42212
42625
|
|
|
42213
42626
|
// src/molecules/creator-discovery/CreatorWidget/BrandCollaborationsList.tsx
|
|
42214
|
-
import { useState as
|
|
42627
|
+
import { useState as useState17 } from "react";
|
|
42215
42628
|
import ReactDOM from "react-dom";
|
|
42216
42629
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
42217
|
-
import { Fragment as
|
|
42630
|
+
import { Fragment as Fragment10, jsx as jsx173, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
42218
42631
|
var getSentimentRank = (score) => {
|
|
42219
42632
|
if (score >= 80) {
|
|
42220
42633
|
return {
|
|
@@ -42259,8 +42672,8 @@ function BrandMentionDetails({
|
|
|
42259
42672
|
) || [];
|
|
42260
42673
|
if (typeof window === "undefined") return null;
|
|
42261
42674
|
return ReactDOM.createPortal(
|
|
42262
|
-
/* @__PURE__ */
|
|
42263
|
-
/* @__PURE__ */
|
|
42675
|
+
/* @__PURE__ */ jsx173(AnimatePresence3, { mode: "sync", children: open && /* @__PURE__ */ jsxs132(Fragment10, { children: [
|
|
42676
|
+
/* @__PURE__ */ jsx173(
|
|
42264
42677
|
motion3.div,
|
|
42265
42678
|
{
|
|
42266
42679
|
initial: { opacity: 0 },
|
|
@@ -42275,7 +42688,7 @@ function BrandMentionDetails({
|
|
|
42275
42688
|
},
|
|
42276
42689
|
"brand-overlay"
|
|
42277
42690
|
),
|
|
42278
|
-
/* @__PURE__ */
|
|
42691
|
+
/* @__PURE__ */ jsxs132(
|
|
42279
42692
|
motion3.div,
|
|
42280
42693
|
{
|
|
42281
42694
|
initial: { opacity: 0, scale: 0.95 },
|
|
@@ -42285,42 +42698,42 @@ function BrandMentionDetails({
|
|
|
42285
42698
|
className: "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[90] w-full max-w-lg bg-background rounded-xl border border-gray300 shadow-2xl",
|
|
42286
42699
|
onClick: (e) => e.stopPropagation(),
|
|
42287
42700
|
children: [
|
|
42288
|
-
/* @__PURE__ */
|
|
42289
|
-
/* @__PURE__ */
|
|
42701
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex justify-between items-center p-4 border-b border-gray300", children: [
|
|
42702
|
+
/* @__PURE__ */ jsxs132("h3", { className: "text-lg font-bold text-gray900", children: [
|
|
42290
42703
|
"Brand Mention Details: ",
|
|
42291
42704
|
selectedBrand
|
|
42292
42705
|
] }),
|
|
42293
|
-
/* @__PURE__ */
|
|
42706
|
+
/* @__PURE__ */ jsx173(
|
|
42294
42707
|
"button",
|
|
42295
42708
|
{
|
|
42296
42709
|
onClick: onClose,
|
|
42297
42710
|
className: "p-1 rounded-full hover:bg-gray200 transition-colors",
|
|
42298
|
-
children: /* @__PURE__ */
|
|
42711
|
+
children: /* @__PURE__ */ jsx173(X, { className: "w-4 h-4" })
|
|
42299
42712
|
}
|
|
42300
42713
|
)
|
|
42301
42714
|
] }),
|
|
42302
|
-
/* @__PURE__ */
|
|
42303
|
-
brandStats && /* @__PURE__ */
|
|
42304
|
-
/* @__PURE__ */
|
|
42305
|
-
/* @__PURE__ */
|
|
42306
|
-
/* @__PURE__ */
|
|
42307
|
-
/* @__PURE__ */
|
|
42308
|
-
/* @__PURE__ */
|
|
42715
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex flex-col gap-6 max-h-[70vh] overflow-y-auto p-4", children: [
|
|
42716
|
+
brandStats && /* @__PURE__ */ jsxs132("div", { className: "bg-gray25 border-2 border-gray200 rounded-xl p-4", children: [
|
|
42717
|
+
/* @__PURE__ */ jsx173("h3", { className: "text-lg font-bold text-gray900 mb-4", children: "Overview" }),
|
|
42718
|
+
/* @__PURE__ */ jsxs132("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
42719
|
+
/* @__PURE__ */ jsxs132("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42720
|
+
/* @__PURE__ */ jsx173("div", { className: "text-xs text-gray600", children: "Total Mentions" }),
|
|
42721
|
+
/* @__PURE__ */ jsx173("div", { className: "text-2xl font-bold text-gray900", children: brandStats.mentions })
|
|
42309
42722
|
] }),
|
|
42310
|
-
/* @__PURE__ */
|
|
42311
|
-
/* @__PURE__ */
|
|
42312
|
-
/* @__PURE__ */
|
|
42723
|
+
/* @__PURE__ */ jsxs132("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42724
|
+
/* @__PURE__ */ jsx173("div", { className: "text-xs text-gray600", children: "Posts Count" }),
|
|
42725
|
+
/* @__PURE__ */ jsx173("div", { className: "text-2xl font-bold text-gray900", children: brandStats.postCount })
|
|
42313
42726
|
] }),
|
|
42314
|
-
/* @__PURE__ */
|
|
42315
|
-
/* @__PURE__ */
|
|
42316
|
-
/* @__PURE__ */
|
|
42727
|
+
/* @__PURE__ */ jsxs132("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42728
|
+
/* @__PURE__ */ jsx173("div", { className: "text-xs text-gray600", children: "Avg Engagement" }),
|
|
42729
|
+
/* @__PURE__ */ jsxs132("div", { className: "text-2xl font-bold text-gray900", children: [
|
|
42317
42730
|
brandStats.averageEngagementRate?.toFixed(2),
|
|
42318
42731
|
"%"
|
|
42319
42732
|
] })
|
|
42320
42733
|
] }),
|
|
42321
|
-
/* @__PURE__ */
|
|
42322
|
-
/* @__PURE__ */
|
|
42323
|
-
/* @__PURE__ */
|
|
42734
|
+
/* @__PURE__ */ jsxs132("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42735
|
+
/* @__PURE__ */ jsx173("div", { className: "text-xs text-gray600", children: "Effectiveness" }),
|
|
42736
|
+
/* @__PURE__ */ jsxs132(
|
|
42324
42737
|
"div",
|
|
42325
42738
|
{
|
|
42326
42739
|
className: `text-2xl font-bold ${getSentimentRank(brandStats.effectivenessPercent).scoreColor}`,
|
|
@@ -42332,8 +42745,8 @@ function BrandMentionDetails({
|
|
|
42332
42745
|
)
|
|
42333
42746
|
] })
|
|
42334
42747
|
] }),
|
|
42335
|
-
/* @__PURE__ */
|
|
42336
|
-
(type, idx) => /* @__PURE__ */
|
|
42748
|
+
/* @__PURE__ */ jsx173("div", { className: "mt-3 flex gap-2 flex-wrap", children: brandStats.collaborationTypes?.map(
|
|
42749
|
+
(type, idx) => /* @__PURE__ */ jsx173(
|
|
42337
42750
|
"span",
|
|
42338
42751
|
{
|
|
42339
42752
|
className: "px-3 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]",
|
|
@@ -42343,55 +42756,55 @@ function BrandMentionDetails({
|
|
|
42343
42756
|
)
|
|
42344
42757
|
) })
|
|
42345
42758
|
] }),
|
|
42346
|
-
/* @__PURE__ */
|
|
42347
|
-
/* @__PURE__ */
|
|
42759
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42760
|
+
/* @__PURE__ */ jsxs132("h3", { className: "text-lg font-bold text-gray900 mb-3", children: [
|
|
42348
42761
|
"Individual Mentions (",
|
|
42349
42762
|
brandMentions.length,
|
|
42350
42763
|
")"
|
|
42351
42764
|
] }),
|
|
42352
|
-
/* @__PURE__ */
|
|
42765
|
+
/* @__PURE__ */ jsx173("div", { className: "flex flex-col gap-3", children: brandMentions.map((mention, index) => {
|
|
42353
42766
|
const IconComponent = getPlatformIcon(mention?.platform);
|
|
42354
|
-
return /* @__PURE__ */
|
|
42767
|
+
return /* @__PURE__ */ jsxs132(
|
|
42355
42768
|
"div",
|
|
42356
42769
|
{
|
|
42357
42770
|
className: "bg-gray50 border-2 border-gray200 rounded-xl p-4 hover:border-purple100 transition-colors",
|
|
42358
42771
|
children: [
|
|
42359
|
-
/* @__PURE__ */
|
|
42360
|
-
/* @__PURE__ */
|
|
42361
|
-
/* @__PURE__ */
|
|
42362
|
-
/* @__PURE__ */
|
|
42772
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex items-center justify-between mb-3", children: [
|
|
42773
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex items-center gap-2", children: [
|
|
42774
|
+
/* @__PURE__ */ jsx173(IconComponent, { className: "w-5 h-5 text-gray900" }),
|
|
42775
|
+
/* @__PURE__ */ jsx173("span", { className: "text-sm font-medium text-gray700 capitalize", children: mention.platform })
|
|
42363
42776
|
] }),
|
|
42364
|
-
/* @__PURE__ */
|
|
42365
|
-
/* @__PURE__ */
|
|
42366
|
-
/* @__PURE__ */
|
|
42777
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex items-center gap-2", children: [
|
|
42778
|
+
/* @__PURE__ */ jsx173("span", { className: "px-2 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]", children: mention.collaborationType }),
|
|
42779
|
+
/* @__PURE__ */ jsxs132("span", { className: "text-xs text-gray600", children: [
|
|
42367
42780
|
Math.round(mention.confidence * 100),
|
|
42368
42781
|
"% confidence"
|
|
42369
42782
|
] })
|
|
42370
42783
|
] })
|
|
42371
42784
|
] }),
|
|
42372
|
-
/* @__PURE__ */
|
|
42373
|
-
/* @__PURE__ */
|
|
42785
|
+
/* @__PURE__ */ jsxs132("div", { className: "mb-2", children: [
|
|
42786
|
+
/* @__PURE__ */ jsxs132("span", { className: "text-xs text-gray500", children: [
|
|
42374
42787
|
"Post ID:",
|
|
42375
42788
|
" "
|
|
42376
42789
|
] }),
|
|
42377
|
-
/* @__PURE__ */
|
|
42790
|
+
/* @__PURE__ */ jsx173("span", { className: "text-xs font-mono text-gray700", children: mention.post_id })
|
|
42378
42791
|
] }),
|
|
42379
|
-
/* @__PURE__ */
|
|
42380
|
-
/* @__PURE__ */
|
|
42381
|
-
/* @__PURE__ */
|
|
42792
|
+
/* @__PURE__ */ jsxs132("div", { className: "bg-background rounded-lg p-3 border border-gray300", children: [
|
|
42793
|
+
/* @__PURE__ */ jsx173("div", { className: "text-xs text-gray600 mb-1", children: "Evidence:" }),
|
|
42794
|
+
/* @__PURE__ */ jsxs132("p", { className: "text-sm text-gray800 italic", children: [
|
|
42382
42795
|
"\u201C",
|
|
42383
42796
|
mention.evidence,
|
|
42384
42797
|
"\u201D"
|
|
42385
42798
|
] })
|
|
42386
42799
|
] }),
|
|
42387
|
-
/* @__PURE__ */
|
|
42800
|
+
/* @__PURE__ */ jsxs132("div", { className: "mt-2 text-xs text-gray500", children: [
|
|
42388
42801
|
"Source:",
|
|
42389
42802
|
" ",
|
|
42390
|
-
/* @__PURE__ */
|
|
42391
|
-
mention.handle && /* @__PURE__ */
|
|
42803
|
+
/* @__PURE__ */ jsx173("span", { className: "font-medium", children: mention.source }),
|
|
42804
|
+
mention.handle && /* @__PURE__ */ jsxs132("span", { className: "ml-2", children: [
|
|
42392
42805
|
"Handle:",
|
|
42393
42806
|
" ",
|
|
42394
|
-
/* @__PURE__ */
|
|
42807
|
+
/* @__PURE__ */ jsx173("span", { className: "font-medium", children: mention.handle })
|
|
42395
42808
|
] })
|
|
42396
42809
|
] })
|
|
42397
42810
|
]
|
|
@@ -42400,7 +42813,7 @@ function BrandMentionDetails({
|
|
|
42400
42813
|
);
|
|
42401
42814
|
}) })
|
|
42402
42815
|
] }),
|
|
42403
|
-
brandMentions.length === 0 && /* @__PURE__ */
|
|
42816
|
+
brandMentions.length === 0 && /* @__PURE__ */ jsx173("div", { className: "text-center py-8 text-gray500", children: "No mentions found for this brand" })
|
|
42404
42817
|
] })
|
|
42405
42818
|
]
|
|
42406
42819
|
},
|
|
@@ -42413,16 +42826,16 @@ function BrandMentionDetails({
|
|
|
42413
42826
|
function BrandCollaborationsList({
|
|
42414
42827
|
brandBreakdown
|
|
42415
42828
|
}) {
|
|
42416
|
-
const [openDetails, setOpenDetails] =
|
|
42417
|
-
const [selectedBrand, setSelectedBrand] =
|
|
42829
|
+
const [openDetails, setOpenDetails] = useState17(false);
|
|
42830
|
+
const [selectedBrand, setSelectedBrand] = useState17("");
|
|
42418
42831
|
if (!brandBreakdown?.insights?.brandBreakdown || brandBreakdown.insights.brandBreakdown.length === 0) {
|
|
42419
42832
|
return null;
|
|
42420
42833
|
}
|
|
42421
|
-
return /* @__PURE__ */
|
|
42422
|
-
/* @__PURE__ */
|
|
42423
|
-
/* @__PURE__ */
|
|
42424
|
-
/* @__PURE__ */
|
|
42425
|
-
(item, index) => /* @__PURE__ */
|
|
42834
|
+
return /* @__PURE__ */ jsxs132(Fragment10, { children: [
|
|
42835
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42836
|
+
/* @__PURE__ */ jsx173("div", { className: "text-purpleText text-xs mb-2", children: /* @__PURE__ */ jsx173("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "BRAND MENTIONS" }) }),
|
|
42837
|
+
/* @__PURE__ */ jsx173("div", { className: "flex flex-col gap-2 max-h-[220px] overflow-y-auto", children: brandBreakdown.insights.brandBreakdown.map(
|
|
42838
|
+
(item, index) => /* @__PURE__ */ jsxs132(
|
|
42426
42839
|
"div",
|
|
42427
42840
|
{
|
|
42428
42841
|
className: "flex gap-4 bg-gray50 border-2 border-gray25 rounded-xl px-3 py-3 shadow-sm cursor-pointer hover:border-purple100 transition-colors",
|
|
@@ -42432,17 +42845,17 @@ function BrandCollaborationsList({
|
|
|
42432
42845
|
setOpenDetails(true);
|
|
42433
42846
|
},
|
|
42434
42847
|
children: [
|
|
42435
|
-
/* @__PURE__ */
|
|
42436
|
-
/* @__PURE__ */
|
|
42437
|
-
/* @__PURE__ */
|
|
42438
|
-
/* @__PURE__ */
|
|
42439
|
-
/* @__PURE__ */
|
|
42440
|
-
/* @__PURE__ */
|
|
42848
|
+
/* @__PURE__ */ jsx173("div", { className: "w-10 h-10 rounded-full bg-gray200 flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx173("span", { className: "text-sm font-bold text-gray700", children: item.brand?.charAt(0)?.toUpperCase() || "?" }) }),
|
|
42849
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex flex-col gap-1", children: [
|
|
42850
|
+
/* @__PURE__ */ jsx173("div", { className: "text-gray900 text-sm", children: item.brand }),
|
|
42851
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex gap-2 text-xs text-gray600", children: [
|
|
42852
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42853
|
+
/* @__PURE__ */ jsx173("span", { className: "text-gray900", children: item?.mentions }),
|
|
42441
42854
|
" ",
|
|
42442
42855
|
"Mention"
|
|
42443
42856
|
] }),
|
|
42444
|
-
/* @__PURE__ */
|
|
42445
|
-
/* @__PURE__ */
|
|
42857
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42858
|
+
/* @__PURE__ */ jsx173(
|
|
42446
42859
|
"span",
|
|
42447
42860
|
{
|
|
42448
42861
|
className: `${getSentimentRank(item.effectivenessPercent).scoreColor} font-bold`,
|
|
@@ -42460,7 +42873,7 @@ function BrandCollaborationsList({
|
|
|
42460
42873
|
)
|
|
42461
42874
|
) })
|
|
42462
42875
|
] }),
|
|
42463
|
-
/* @__PURE__ */
|
|
42876
|
+
/* @__PURE__ */ jsx173(
|
|
42464
42877
|
BrandMentionDetails,
|
|
42465
42878
|
{
|
|
42466
42879
|
open: openDetails,
|
|
@@ -42473,9 +42886,9 @@ function BrandCollaborationsList({
|
|
|
42473
42886
|
}
|
|
42474
42887
|
|
|
42475
42888
|
// src/molecules/creator-discovery/CreatorWidget/CreatorGridView.tsx
|
|
42476
|
-
import { useState as
|
|
42889
|
+
import { useState as useState18, useMemo as useMemo10, useRef as useRef8, useCallback as useCallback6, useEffect as useEffect11 } from "react";
|
|
42477
42890
|
import { motion as motion4 } from "framer-motion";
|
|
42478
|
-
import { jsx as
|
|
42891
|
+
import { jsx as jsx174, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
42479
42892
|
var formatFollowerCount3 = (count) => {
|
|
42480
42893
|
if (count >= 1e6) {
|
|
42481
42894
|
const millions = count / 1e6;
|
|
@@ -42522,20 +42935,20 @@ var itemsExplanation = [
|
|
|
42522
42935
|
{ key: "brandSafety", label: "Brand Safety" }
|
|
42523
42936
|
];
|
|
42524
42937
|
function CreatorGridViewCard({ creator }) {
|
|
42525
|
-
const [isExpanded, setIsExpanded] =
|
|
42526
|
-
const [showFullDescription, setShowFullDescription] =
|
|
42527
|
-
const [isDescriptionOverflowing, setIsDescriptionOverflowing] =
|
|
42528
|
-
const descriptionRef =
|
|
42529
|
-
const cardRef =
|
|
42530
|
-
const checkDescriptionOverflow =
|
|
42938
|
+
const [isExpanded, setIsExpanded] = useState18(false);
|
|
42939
|
+
const [showFullDescription, setShowFullDescription] = useState18(false);
|
|
42940
|
+
const [isDescriptionOverflowing, setIsDescriptionOverflowing] = useState18(false);
|
|
42941
|
+
const descriptionRef = useRef8(null);
|
|
42942
|
+
const cardRef = useRef8(null);
|
|
42943
|
+
const checkDescriptionOverflow = useCallback6(() => {
|
|
42531
42944
|
const el = descriptionRef.current;
|
|
42532
42945
|
if (!el) return;
|
|
42533
42946
|
setIsDescriptionOverflowing(el.scrollHeight > el.clientHeight + 1);
|
|
42534
42947
|
}, []);
|
|
42535
|
-
|
|
42948
|
+
useEffect11(() => {
|
|
42536
42949
|
checkDescriptionOverflow();
|
|
42537
42950
|
}, [checkDescriptionOverflow, isExpanded, showFullDescription]);
|
|
42538
|
-
|
|
42951
|
+
useEffect11(() => {
|
|
42539
42952
|
const onResize = () => checkDescriptionOverflow();
|
|
42540
42953
|
window.addEventListener("resize", onResize);
|
|
42541
42954
|
return () => window.removeEventListener("resize", onResize);
|
|
@@ -42576,7 +42989,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42576
42989
|
};
|
|
42577
42990
|
const iso2 = normalizeToIso2(creator.country);
|
|
42578
42991
|
const meta = codeToMeta[iso2];
|
|
42579
|
-
return /* @__PURE__ */
|
|
42992
|
+
return /* @__PURE__ */ jsx174(
|
|
42580
42993
|
motion4.div,
|
|
42581
42994
|
{
|
|
42582
42995
|
ref: cardRef,
|
|
@@ -42587,10 +43000,10 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42587
43000
|
className: `bg-paperBackground dark:bg-gray50 rounded-[10px] border border-gray300 hover:border-purple100 shadow-sm cursor-pointer transition-all duration-300 ease-in-out ${isExpanded ? "col-span-full border-purple100" : ""}`,
|
|
42588
43001
|
style: isExpanded ? { gridColumn: "1 / -1" } : {},
|
|
42589
43002
|
onClick: toggleExpanded,
|
|
42590
|
-
children: /* @__PURE__ */
|
|
42591
|
-
/* @__PURE__ */
|
|
42592
|
-
/* @__PURE__ */
|
|
42593
|
-
creator.profile_pic ? /* @__PURE__ */
|
|
43003
|
+
children: /* @__PURE__ */ jsxs133("div", { className: "flex", children: [
|
|
43004
|
+
/* @__PURE__ */ jsxs133("div", { className: `${isExpanded ? "w-1/3" : "w-full"}`, children: [
|
|
43005
|
+
/* @__PURE__ */ jsxs133("div", { className: "relative w-full aspect-square mb-2", children: [
|
|
43006
|
+
creator.profile_pic ? /* @__PURE__ */ jsx174(
|
|
42594
43007
|
"img",
|
|
42595
43008
|
{
|
|
42596
43009
|
src: creator.profile_pic,
|
|
@@ -42598,15 +43011,15 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42598
43011
|
className: "w-full h-full object-cover bg-primary/10",
|
|
42599
43012
|
style: { borderRadius: "10px 10px 0 0" }
|
|
42600
43013
|
}
|
|
42601
|
-
) : /* @__PURE__ */
|
|
43014
|
+
) : /* @__PURE__ */ jsx174(
|
|
42602
43015
|
"div",
|
|
42603
43016
|
{
|
|
42604
43017
|
className: "w-full h-full bg-primary/10 flex items-center justify-center",
|
|
42605
43018
|
style: { borderRadius: "10px 10px 0 0" },
|
|
42606
|
-
children: /* @__PURE__ */
|
|
43019
|
+
children: /* @__PURE__ */ jsx174("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" })
|
|
42607
43020
|
}
|
|
42608
43021
|
),
|
|
42609
|
-
/* @__PURE__ */
|
|
43022
|
+
/* @__PURE__ */ jsx174(
|
|
42610
43023
|
"div",
|
|
42611
43024
|
{
|
|
42612
43025
|
className: `absolute bottom-2 right-2 ${getSentimentRank2(creator.sentiment?.matchScore || 0).bgColor} ${getSentimentRank2(creator.sentiment?.matchScore || 0).textColor} px-2 py-1 rounded-md text-md font-medium`,
|
|
@@ -42614,34 +43027,34 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42614
43027
|
}
|
|
42615
43028
|
)
|
|
42616
43029
|
] }),
|
|
42617
|
-
/* @__PURE__ */
|
|
42618
|
-
/* @__PURE__ */
|
|
42619
|
-
/* @__PURE__ */
|
|
43030
|
+
/* @__PURE__ */ jsxs133("div", { className: "px-3 pb-1", children: [
|
|
43031
|
+
/* @__PURE__ */ jsxs133("div", { children: [
|
|
43032
|
+
/* @__PURE__ */ jsx174(
|
|
42620
43033
|
"h3",
|
|
42621
43034
|
{
|
|
42622
43035
|
className: `${isExpanded ? "text-md" : "text-sm"} font-normal text-gray900 mb-1 line-clamp-2 text-start`,
|
|
42623
43036
|
children: creator.name || "Unnamed"
|
|
42624
43037
|
}
|
|
42625
43038
|
),
|
|
42626
|
-
/* @__PURE__ */
|
|
43039
|
+
/* @__PURE__ */ jsxs133(
|
|
42627
43040
|
"div",
|
|
42628
43041
|
{
|
|
42629
43042
|
className: `${isExpanded ? "text-sm" : "text-xs"} text-gray700 mb-1 text-start flex items-center gap-1`,
|
|
42630
43043
|
children: [
|
|
42631
|
-
/* @__PURE__ */
|
|
42632
|
-
/* @__PURE__ */
|
|
43044
|
+
/* @__PURE__ */ jsx174("span", { className: "text-base", children: meta?.flag }),
|
|
43045
|
+
/* @__PURE__ */ jsx174("span", { children: meta?.name || creator.country || "Unknown" })
|
|
42633
43046
|
]
|
|
42634
43047
|
}
|
|
42635
43048
|
),
|
|
42636
|
-
isExpanded && creator?.sentiment?.detailedScores && /* @__PURE__ */
|
|
43049
|
+
isExpanded && creator?.sentiment?.detailedScores && /* @__PURE__ */ jsx174("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsx174("div", { className: "mt-2 w-[150px] flex gap-2", children: Object.entries(creator.sentiment.detailedScores).map(
|
|
42637
43050
|
([key, value]) => {
|
|
42638
43051
|
const itemRank = getSentimentRank2(value);
|
|
42639
|
-
return /* @__PURE__ */
|
|
43052
|
+
return /* @__PURE__ */ jsxs133(
|
|
42640
43053
|
"div",
|
|
42641
43054
|
{
|
|
42642
43055
|
className: "flex flex-col items-center w-[100px]",
|
|
42643
43056
|
children: [
|
|
42644
|
-
/* @__PURE__ */
|
|
43057
|
+
/* @__PURE__ */ jsxs133(
|
|
42645
43058
|
"span",
|
|
42646
43059
|
{
|
|
42647
43060
|
className: `text-[14px] font-bold ${itemRank.scoreColor}`,
|
|
@@ -42651,7 +43064,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42651
43064
|
]
|
|
42652
43065
|
}
|
|
42653
43066
|
),
|
|
42654
|
-
/* @__PURE__ */
|
|
43067
|
+
/* @__PURE__ */ jsx174("div", { className: "flex items-center justify-center gap-1 w-full", children: /* @__PURE__ */ jsx174("span", { className: "text-xs dark:text-gray500 text-center px-1", children: itemsExplanation.find(
|
|
42655
43068
|
(item) => item.key === key
|
|
42656
43069
|
)?.label }) })
|
|
42657
43070
|
]
|
|
@@ -42661,20 +43074,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42661
43074
|
}
|
|
42662
43075
|
) }) })
|
|
42663
43076
|
] }),
|
|
42664
|
-
!isExpanded && /* @__PURE__ */
|
|
42665
|
-
({ platform, icon: Icon3, followers }) => /* @__PURE__ */
|
|
43077
|
+
!isExpanded && /* @__PURE__ */ jsx174("div", { className: "flex gap-2 justify-between", children: platformStats.map(
|
|
43078
|
+
({ platform, icon: Icon3, followers }) => /* @__PURE__ */ jsxs133(
|
|
42666
43079
|
"div",
|
|
42667
43080
|
{
|
|
42668
43081
|
className: "flex flex-col items-center gap-1",
|
|
42669
43082
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
42670
43083
|
children: [
|
|
42671
|
-
/* @__PURE__ */
|
|
43084
|
+
/* @__PURE__ */ jsx174(
|
|
42672
43085
|
Icon3,
|
|
42673
43086
|
{
|
|
42674
43087
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
42675
43088
|
}
|
|
42676
43089
|
),
|
|
42677
|
-
/* @__PURE__ */
|
|
43090
|
+
/* @__PURE__ */ jsx174("span", { className: "text-xs dark:text-gray500", children: followers > 0 && formatFollowerCount3(followers) })
|
|
42678
43091
|
]
|
|
42679
43092
|
},
|
|
42680
43093
|
platform
|
|
@@ -42682,20 +43095,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42682
43095
|
) })
|
|
42683
43096
|
] })
|
|
42684
43097
|
] }),
|
|
42685
|
-
isExpanded && /* @__PURE__ */
|
|
42686
|
-
/* @__PURE__ */
|
|
42687
|
-
/* @__PURE__ */
|
|
43098
|
+
isExpanded && /* @__PURE__ */ jsx174("div", { className: "flex-1 border-l border-gray300 p-6 overflow-hidden transition-all duration-300 ease-in-out", children: /* @__PURE__ */ jsxs133("div", { className: "space-y-4", children: [
|
|
43099
|
+
/* @__PURE__ */ jsxs133("div", { children: [
|
|
43100
|
+
/* @__PURE__ */ jsxs133(
|
|
42688
43101
|
"div",
|
|
42689
43102
|
{
|
|
42690
43103
|
ref: descriptionRef,
|
|
42691
43104
|
className: `${showFullDescription ? "" : "max-h-[80px] overflow-hidden"} relative`,
|
|
42692
43105
|
children: [
|
|
42693
|
-
/* @__PURE__ */
|
|
42694
|
-
!showFullDescription && isDescriptionOverflowing && /* @__PURE__ */
|
|
43106
|
+
/* @__PURE__ */ jsx174("p", { className: "text-sm text-gray700 leading-relaxed", children: creator.description || "No description provided." }),
|
|
43107
|
+
!showFullDescription && isDescriptionOverflowing && /* @__PURE__ */ jsx174("div", { className: "pointer-events-none absolute bottom-0 left-0 right-0 h-10 bg-gradient-to-t from-gray25 to-transparent" })
|
|
42695
43108
|
]
|
|
42696
43109
|
}
|
|
42697
43110
|
),
|
|
42698
|
-
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */
|
|
43111
|
+
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */ jsx174(
|
|
42699
43112
|
"button",
|
|
42700
43113
|
{
|
|
42701
43114
|
onClick: (e) => {
|
|
@@ -42707,38 +43120,38 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42707
43120
|
}
|
|
42708
43121
|
)
|
|
42709
43122
|
] }),
|
|
42710
|
-
/* @__PURE__ */
|
|
42711
|
-
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */
|
|
42712
|
-
/* @__PURE__ */
|
|
43123
|
+
/* @__PURE__ */ jsx174("div", { className: "flex gap-6 justify-start items-center", children: platformStats.map(
|
|
43124
|
+
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */ jsxs133("div", { className: "flex items-center gap-3", children: [
|
|
43125
|
+
/* @__PURE__ */ jsxs133(
|
|
42713
43126
|
"div",
|
|
42714
43127
|
{
|
|
42715
43128
|
className: "flex items-center gap-1",
|
|
42716
43129
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
42717
43130
|
children: [
|
|
42718
|
-
/* @__PURE__ */
|
|
43131
|
+
/* @__PURE__ */ jsx174(
|
|
42719
43132
|
Icon3,
|
|
42720
43133
|
{
|
|
42721
43134
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
42722
43135
|
}
|
|
42723
43136
|
),
|
|
42724
|
-
/* @__PURE__ */
|
|
43137
|
+
/* @__PURE__ */ jsx174("span", { className: "text-xs dark:text-gray500", children: followers > 0 ? formatFollowerCount3(followers) : "0" })
|
|
42725
43138
|
]
|
|
42726
43139
|
}
|
|
42727
43140
|
),
|
|
42728
|
-
/* @__PURE__ */
|
|
42729
|
-
/* @__PURE__ */
|
|
42730
|
-
/* @__PURE__ */
|
|
43141
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex items-center gap-1", children: [
|
|
43142
|
+
/* @__PURE__ */ jsx174(ChartColumn, { className: "w-5 h-5 dark:text-gray500" }),
|
|
43143
|
+
/* @__PURE__ */ jsxs133("span", { className: "text-sm dark:text-gray500 w-[40px]", children: [
|
|
42731
43144
|
(engagement * 100).toFixed(1),
|
|
42732
43145
|
"%"
|
|
42733
43146
|
] })
|
|
42734
43147
|
] })
|
|
42735
43148
|
] }, platform)
|
|
42736
43149
|
) }),
|
|
42737
|
-
creator.posts?.length > 0 && /* @__PURE__ */
|
|
42738
|
-
/* @__PURE__ */
|
|
42739
|
-
/* @__PURE__ */
|
|
43150
|
+
creator.posts?.length > 0 && /* @__PURE__ */ jsxs133("div", { className: "w-full overflow-hidden", children: [
|
|
43151
|
+
/* @__PURE__ */ jsx174("h3", { className: "mb-2 text-sm font-medium text-gray900", children: "Recent Posts" }),
|
|
43152
|
+
/* @__PURE__ */ jsx174("div", { className: "flex gap-3 overflow-x-auto", children: creator.posts.filter(
|
|
42740
43153
|
(post) => post.thumbnail || post.thumbnail_url
|
|
42741
|
-
).slice(0, 8).map((post, idx) => /* @__PURE__ */
|
|
43154
|
+
).slice(0, 8).map((post, idx) => /* @__PURE__ */ jsx174(
|
|
42742
43155
|
"a",
|
|
42743
43156
|
{
|
|
42744
43157
|
href: post.url || "#",
|
|
@@ -42746,7 +43159,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42746
43159
|
rel: "noopener noreferrer",
|
|
42747
43160
|
className: "block flex-shrink-0",
|
|
42748
43161
|
onClick: (e) => e.stopPropagation(),
|
|
42749
|
-
children: /* @__PURE__ */
|
|
43162
|
+
children: /* @__PURE__ */ jsx174(
|
|
42750
43163
|
"img",
|
|
42751
43164
|
{
|
|
42752
43165
|
src: post.thumbnail_url || post.thumbnail,
|
|
@@ -42758,9 +43171,9 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42758
43171
|
idx
|
|
42759
43172
|
)) })
|
|
42760
43173
|
] }),
|
|
42761
|
-
creator?.sentiment?.aiReasoning && /* @__PURE__ */
|
|
42762
|
-
/* @__PURE__ */
|
|
42763
|
-
/* @__PURE__ */
|
|
43174
|
+
creator?.sentiment?.aiReasoning && /* @__PURE__ */ jsxs133("div", { className: "text-gray700 max-h-[200px] overflow-auto", children: [
|
|
43175
|
+
/* @__PURE__ */ jsx174("h4", { className: "font-semibold text-sm", children: "AI Analysis" }),
|
|
43176
|
+
/* @__PURE__ */ jsx174("p", { className: "text-sm", children: creator.sentiment.aiReasoning })
|
|
42764
43177
|
] })
|
|
42765
43178
|
] }) })
|
|
42766
43179
|
] })
|
|
@@ -42770,11 +43183,11 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42770
43183
|
function CreatorGridView({
|
|
42771
43184
|
creatorData
|
|
42772
43185
|
}) {
|
|
42773
|
-
return /* @__PURE__ */
|
|
43186
|
+
return /* @__PURE__ */ jsx174("div", { className: "grid grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4 [&>*]:transition-all [&>*]:duration-300 auto-rows-min relative grid-flow-dense", children: creatorData.map((creator) => /* @__PURE__ */ jsx174(CreatorGridViewCard, { creator }, creator._id)) });
|
|
42774
43187
|
}
|
|
42775
43188
|
|
|
42776
43189
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
42777
|
-
import { Fragment as
|
|
43190
|
+
import { Fragment as Fragment11, jsx as jsx175, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
42778
43191
|
var formatFollowerCount4 = (count) => {
|
|
42779
43192
|
if (count >= 1e6) {
|
|
42780
43193
|
const millions = count / 1e6;
|
|
@@ -42868,12 +43281,12 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42868
43281
|
{
|
|
42869
43282
|
key: "platforms",
|
|
42870
43283
|
title: "Platforms",
|
|
42871
|
-
content: /* @__PURE__ */
|
|
43284
|
+
content: /* @__PURE__ */ jsx175("div", { className: "flex flex-wrap gap-2", children: (spec.platforms || []).filter((p) => ["instagram", "youtube", "tiktok"].includes(p.toLowerCase())).map((p, idx) => /* @__PURE__ */ jsx175("span", { className: `${tagClass} flex items-center justify-center`, children: p.charAt(0).toUpperCase() + p.slice(1).toLowerCase() }, idx)) })
|
|
42872
43285
|
},
|
|
42873
43286
|
{
|
|
42874
43287
|
key: "follower_range",
|
|
42875
43288
|
title: "Follower Range",
|
|
42876
|
-
content: /* @__PURE__ */
|
|
43289
|
+
content: /* @__PURE__ */ jsxs134("div", { className: `inline-block ${tagClass} font-grotesk`, children: [
|
|
42877
43290
|
formatFollowerCount4(spec?.follower_range?.min ?? 0),
|
|
42878
43291
|
" -",
|
|
42879
43292
|
" ",
|
|
@@ -42883,7 +43296,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42883
43296
|
{
|
|
42884
43297
|
key: "geography",
|
|
42885
43298
|
title: "Geography",
|
|
42886
|
-
content: /* @__PURE__ */
|
|
43299
|
+
content: /* @__PURE__ */ jsx175("div", { className: `inline-block ${tagClass} font-grotesk`, children: /* @__PURE__ */ jsx175(
|
|
42887
43300
|
"div",
|
|
42888
43301
|
{
|
|
42889
43302
|
className: "max-w-[200px] overflow-x-auto whitespace-nowrap",
|
|
@@ -42897,7 +43310,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42897
43310
|
e.currentTarget.style.overflow = "hidden";
|
|
42898
43311
|
e.currentTarget.scrollLeft = 0;
|
|
42899
43312
|
},
|
|
42900
|
-
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */
|
|
43313
|
+
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */ jsxs134("span", { children: [
|
|
42901
43314
|
g,
|
|
42902
43315
|
idx < spec.geography.length - 1 ? ", " : ""
|
|
42903
43316
|
] }, idx))
|
|
@@ -42907,13 +43320,13 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42907
43320
|
{
|
|
42908
43321
|
key: "keyword_bundles",
|
|
42909
43322
|
title: "Keyword",
|
|
42910
|
-
content: /* @__PURE__ */
|
|
43323
|
+
content: /* @__PURE__ */ jsx175("div", { className: "flex gap-2 font-grotesk font-medium max-w-[500px] overflow-x-auto whitespace-nowrap", style: { scrollbarWidth: "none" }, children: priorityOneBundles.length === 0 ? /* @__PURE__ */ jsx175("div", { className: `${textClass} text-white/70`, children: "No priority 1 keywords" }) : priorityOneBundles.map((kw, idx) => /* @__PURE__ */ jsx175("span", { className: tagClass, children: kw }, idx)) })
|
|
42911
43324
|
}
|
|
42912
43325
|
];
|
|
42913
43326
|
const itemsToShow = ["platforms", "follower_range", "geography", "keyword_bundles"];
|
|
42914
|
-
return /* @__PURE__ */
|
|
42915
|
-
/* @__PURE__ */
|
|
42916
|
-
/* @__PURE__ */
|
|
43327
|
+
return /* @__PURE__ */ jsx175("div", { className: "mt-3", children: /* @__PURE__ */ jsx175("div", { className: "flex gap-4 pr-[30px] overflow-x-auto", style: { scrollbarWidth: "none" }, children: items.filter(({ key }) => itemsToShow.includes(key) && spec?.[key] !== void 0 && spec?.[key] !== null).map(({ key, title, content }) => /* @__PURE__ */ jsxs134("div", { className: "flex-none p-5 bg-paperBackground rounded-lg", children: [
|
|
43328
|
+
/* @__PURE__ */ jsx175("div", { className: "text-purpleText text-sm mb-4", children: /* @__PURE__ */ jsx175("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: title.toUpperCase() }) }),
|
|
43329
|
+
/* @__PURE__ */ jsx175("div", { className: `flex text-gray900 ${textClass}`, children: content })
|
|
42917
43330
|
] }, key)) }) });
|
|
42918
43331
|
}
|
|
42919
43332
|
function SentimentScoreRank({
|
|
@@ -42922,16 +43335,16 @@ function SentimentScoreRank({
|
|
|
42922
43335
|
showMinialView = false
|
|
42923
43336
|
}) {
|
|
42924
43337
|
const sentimentScoreRank = getSentimentRank3(score);
|
|
42925
|
-
return /* @__PURE__ */
|
|
42926
|
-
score !== void 0 && /* @__PURE__ */
|
|
43338
|
+
return /* @__PURE__ */ jsx175("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsxs134("div", { className: `flex flex-col justify-end ${showMinialView ? "w-[120px]" : "w-[150px]"} text-sm`, children: [
|
|
43339
|
+
score !== void 0 && /* @__PURE__ */ jsx175("div", { className: "flex justify-center items-center mb-2", children: /* @__PURE__ */ jsx175(
|
|
42927
43340
|
"span",
|
|
42928
43341
|
{
|
|
42929
43342
|
className: `${isValidationComplete ? sentimentScoreRank.bgColor : "bg-gray500"} ${isValidationComplete ? sentimentScoreRank.textColor : "text-gray200"} text-center rounded-md ${showMinialView ? "text-xs px-[6px] py-[2px]" : "text-sm px-2 py-[2px]"}`,
|
|
42930
43343
|
children: isValidationComplete ? sentimentScoreRank.rank : "Unranked"
|
|
42931
43344
|
}
|
|
42932
43345
|
) }),
|
|
42933
|
-
/* @__PURE__ */
|
|
42934
|
-
!showMinialView && /* @__PURE__ */
|
|
43346
|
+
/* @__PURE__ */ jsx175("div", { className: `flex justify-center ${showMinialView ? "text-[24px]" : "text-[28px]"} font-bold mb-3 ${sentimentScoreRank.scoreColor}`, children: isValidationComplete ? score >= 0 ? `${score}%` : "0%" : /* @__PURE__ */ jsx175("div", { className: "flex items-center justify-center py-2", children: /* @__PURE__ */ jsx175("div", { className: "w-6 h-6 border-2 border-purple100 border-t-transparent rounded-full animate-spin" }) }) }),
|
|
43347
|
+
!showMinialView && /* @__PURE__ */ jsx175("p", { className: "text-gray600 dark:text-gray500 text-center", children: "Match Score" })
|
|
42935
43348
|
] }) });
|
|
42936
43349
|
}
|
|
42937
43350
|
function BrandMentionPerformance({ creator }) {
|
|
@@ -42946,14 +43359,14 @@ function BrandMentionPerformance({ creator }) {
|
|
|
42946
43359
|
{ title: "Effectiveness", subtitle: "compared to all posts", value: `${insights?.effectivenessPercent || 0} %` },
|
|
42947
43360
|
{ title: "Saturation Rate", subtitle: "on brand mention", value: `${insights?.saturationRate || 0} %` }
|
|
42948
43361
|
];
|
|
42949
|
-
return /* @__PURE__ */
|
|
42950
|
-
/* @__PURE__ */
|
|
42951
|
-
/* @__PURE__ */
|
|
42952
|
-
/* @__PURE__ */
|
|
42953
|
-
/* @__PURE__ */
|
|
42954
|
-
/* @__PURE__ */
|
|
43362
|
+
return /* @__PURE__ */ jsxs134("div", { children: [
|
|
43363
|
+
/* @__PURE__ */ jsx175("div", { className: "text-purpleText text-xs mb-4", children: /* @__PURE__ */ jsx175("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "BRAND MENTION PERFORMANCE" }) }),
|
|
43364
|
+
/* @__PURE__ */ jsx175("div", { className: "flex flex-col gap-3", children: metrics.map((item) => /* @__PURE__ */ jsxs134("div", { className: "flex justify-between items-center text-gray700 text-sm", children: [
|
|
43365
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex flex-col gap-1", children: [
|
|
43366
|
+
/* @__PURE__ */ jsx175("h5", { children: item.title }),
|
|
43367
|
+
/* @__PURE__ */ jsx175("p", { className: "text-xs", children: item.subtitle })
|
|
42955
43368
|
] }),
|
|
42956
|
-
/* @__PURE__ */
|
|
43369
|
+
/* @__PURE__ */ jsx175("p", { className: "text-purpleText text-lg", children: item.value })
|
|
42957
43370
|
] }, item.title)) })
|
|
42958
43371
|
] });
|
|
42959
43372
|
}
|
|
@@ -42961,19 +43374,19 @@ function CreatorFitSummary({ creator, showBrandPerformance }) {
|
|
|
42961
43374
|
const hasDeepAnalysis = creator?.sentiment?.deepAnalysis?.deepAnalysis;
|
|
42962
43375
|
const title = hasDeepAnalysis ? "CREATOR DEEP ANALYSIS" : "CREATOR FIT SUMMARY";
|
|
42963
43376
|
const content = hasDeepAnalysis ? creator.sentiment.deepAnalysis.deepAnalysis : creator?.sentiment?.aiReasoning || "No data available.";
|
|
42964
|
-
return /* @__PURE__ */
|
|
42965
|
-
/* @__PURE__ */
|
|
42966
|
-
/* @__PURE__ */
|
|
43377
|
+
return /* @__PURE__ */ jsxs134("div", { className: showBrandPerformance ? "col-span-1" : "col-span-2", children: [
|
|
43378
|
+
/* @__PURE__ */ jsx175("div", { className: "text-purpleText text-xs mb-4", children: /* @__PURE__ */ jsx175("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: title }) }),
|
|
43379
|
+
/* @__PURE__ */ jsx175("div", { className: "max-h-[140px] overflow-y-auto slim-scrollbar", children: /* @__PURE__ */ jsx175("p", { className: "text-gray700 text-sm", children: content }) })
|
|
42967
43380
|
] });
|
|
42968
43381
|
}
|
|
42969
43382
|
function ProfileSection({ creator, isValidationComplete }) {
|
|
42970
43383
|
const username = creator.platformMetrics?.instagramMetrics?.username ? `@${creator.platformMetrics.instagramMetrics.username}` : creator.platformMetrics?.youtubeMetrics?.channelName ? `@${creator.platformMetrics.youtubeMetrics.channelName}` : creator.platformMetrics?.tiktokMetrics?.username ? `@${creator.platformMetrics.tiktokMetrics.username}` : "";
|
|
42971
43384
|
const iso2 = normalizeToIso2(creator.country);
|
|
42972
43385
|
const meta = codeToMeta[iso2];
|
|
42973
|
-
return /* @__PURE__ */
|
|
42974
|
-
/* @__PURE__ */
|
|
42975
|
-
/* @__PURE__ */
|
|
42976
|
-
/* @__PURE__ */
|
|
43386
|
+
return /* @__PURE__ */ jsxs134("div", { className: "flex items-start gap-1 md:gap-6", children: [
|
|
43387
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex flex-col items-center gap-6", children: [
|
|
43388
|
+
/* @__PURE__ */ jsx175("div", { className: "w-[5rem] h-[5rem] rounded-[10px] bg-primary/10 flex items-center justify-center flex-shrink-0 relative overflow-hidden", children: creator.profile_pic ? /* @__PURE__ */ jsxs134(Fragment11, { children: [
|
|
43389
|
+
/* @__PURE__ */ jsx175(
|
|
42977
43390
|
"img",
|
|
42978
43391
|
{
|
|
42979
43392
|
src: creator.profile_pic,
|
|
@@ -42981,24 +43394,24 @@ function ProfileSection({ creator, isValidationComplete }) {
|
|
|
42981
43394
|
className: "object-cover w-[5rem] h-[5rem] rounded-[15px]"
|
|
42982
43395
|
}
|
|
42983
43396
|
),
|
|
42984
|
-
creator?.profile?.isVerified && /* @__PURE__ */
|
|
43397
|
+
creator?.profile?.isVerified && /* @__PURE__ */ jsx175(
|
|
42985
43398
|
BadgeCheck,
|
|
42986
43399
|
{
|
|
42987
43400
|
size: 35,
|
|
42988
43401
|
className: "absolute -top-2 -right-2 text-blue-500 drop-shadow-sm fill-blue-300"
|
|
42989
43402
|
}
|
|
42990
43403
|
)
|
|
42991
|
-
] }) : /* @__PURE__ */
|
|
42992
|
-
/* @__PURE__ */
|
|
43404
|
+
] }) : /* @__PURE__ */ jsx175("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" }) }),
|
|
43405
|
+
/* @__PURE__ */ jsx175("div", { className: "block sm:hidden", children: /* @__PURE__ */ jsx175(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete, showMinialView: true }) })
|
|
42993
43406
|
] }),
|
|
42994
|
-
/* @__PURE__ */
|
|
42995
|
-
/* @__PURE__ */
|
|
42996
|
-
username && /* @__PURE__ */
|
|
42997
|
-
/* @__PURE__ */
|
|
42998
|
-
/* @__PURE__ */
|
|
42999
|
-
/* @__PURE__ */
|
|
43407
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex flex-col gap-3 truncate", children: [
|
|
43408
|
+
/* @__PURE__ */ jsx175("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx175("h4", { className: "text-lg text-gray900 max-w-[150px]", title: creator.name, children: truncateName2(creator.name, 100) }) }),
|
|
43409
|
+
username && /* @__PURE__ */ jsx175("div", { className: "text-xs text-gray700", children: username }),
|
|
43410
|
+
/* @__PURE__ */ jsxs134("div", { className: "text-sm text-gray700 flex items-center gap-2", children: [
|
|
43411
|
+
/* @__PURE__ */ jsx175("span", { className: "text-base", children: meta?.flag }),
|
|
43412
|
+
/* @__PURE__ */ jsx175("span", { children: meta?.name || creator.country || "Unknown" })
|
|
43000
43413
|
] }),
|
|
43001
|
-
/* @__PURE__ */
|
|
43414
|
+
/* @__PURE__ */ jsx175("div", { className: "text-xs text-gray700 text-wrap", children: truncateName2(creator.description, 100) })
|
|
43002
43415
|
] })
|
|
43003
43416
|
] });
|
|
43004
43417
|
}
|
|
@@ -43006,7 +43419,7 @@ function CreatorCardExpandedSection({
|
|
|
43006
43419
|
creator
|
|
43007
43420
|
}) {
|
|
43008
43421
|
const hasBrandBreakdown = creator?.brandCollaborations?.insights?.brandBreakdown && creator?.sentiment?.deepAnalysis;
|
|
43009
|
-
return /* @__PURE__ */
|
|
43422
|
+
return /* @__PURE__ */ jsxs134(
|
|
43010
43423
|
motion5.div,
|
|
43011
43424
|
{
|
|
43012
43425
|
initial: { y: 20, opacity: 0 },
|
|
@@ -43014,21 +43427,21 @@ function CreatorCardExpandedSection({
|
|
|
43014
43427
|
transition: { duration: 0.3, delay: 0.1 },
|
|
43015
43428
|
className: "md:mt-6 space-y-5",
|
|
43016
43429
|
children: [
|
|
43017
|
-
/* @__PURE__ */
|
|
43018
|
-
/* @__PURE__ */
|
|
43430
|
+
/* @__PURE__ */ jsxs134("div", { className: "md:grid md:grid-cols-[1.3fr_1fr_2fr_120px] gap-8 py-4 pr-7", children: [
|
|
43431
|
+
/* @__PURE__ */ jsx175("div", { className: "col-span-4 sm:col-span-1", children: hasBrandBreakdown ? /* @__PURE__ */ jsx175(
|
|
43019
43432
|
BrandCollaborationsList,
|
|
43020
43433
|
{
|
|
43021
43434
|
brandBreakdown: creator?.brandCollaborations
|
|
43022
43435
|
}
|
|
43023
|
-
) : /* @__PURE__ */
|
|
43024
|
-
/* @__PURE__ */
|
|
43436
|
+
) : /* @__PURE__ */ jsx175("div", { className: "hidden sm:block" }) }),
|
|
43437
|
+
/* @__PURE__ */ jsx175("div", { className: "col-span-4 sm:col-span-3", children: creator?.audienceDemographics ? /* @__PURE__ */ jsx175(
|
|
43025
43438
|
EngagedAudienceDemographics,
|
|
43026
43439
|
{
|
|
43027
43440
|
audienceDemographics: creator.audienceDemographics
|
|
43028
43441
|
}
|
|
43029
43442
|
) : null })
|
|
43030
43443
|
] }),
|
|
43031
|
-
/* @__PURE__ */
|
|
43444
|
+
/* @__PURE__ */ jsx175(
|
|
43032
43445
|
PlatformPostsSection,
|
|
43033
43446
|
{
|
|
43034
43447
|
platformMetrics: creator.platformMetrics,
|
|
@@ -43043,14 +43456,14 @@ function CreatorCard({
|
|
|
43043
43456
|
creator,
|
|
43044
43457
|
isValidationComplete
|
|
43045
43458
|
}) {
|
|
43046
|
-
const [detailsExpanded, setDetailsExpanded] =
|
|
43459
|
+
const [detailsExpanded, setDetailsExpanded] = useState19(false);
|
|
43047
43460
|
const hasValidBrandMention = (() => {
|
|
43048
43461
|
const insights = creator?.brandCollaborations?.insights;
|
|
43049
43462
|
if (!insights) return false;
|
|
43050
43463
|
const isValid2 = (val) => val !== null && val !== void 0 && val !== 0 && val !== "0" && val !== "" && !Number.isNaN(val);
|
|
43051
43464
|
return isValid2(insights.averageBrandEngagementRate) || isValid2(insights.effectivenessPercent) || isValid2(insights.saturationRate);
|
|
43052
43465
|
})();
|
|
43053
|
-
return /* @__PURE__ */
|
|
43466
|
+
return /* @__PURE__ */ jsxs134(
|
|
43054
43467
|
motion5.div,
|
|
43055
43468
|
{
|
|
43056
43469
|
layout: true,
|
|
@@ -43061,20 +43474,20 @@ function CreatorCard({
|
|
|
43061
43474
|
className: `flex flex-col bg-paperBackground rounded-[25px] py-5 pl-7 border-2 shadow-sm cursor-pointer transition-all ${detailsExpanded ? "border-purple100" : "border-gray300"}`,
|
|
43062
43475
|
onClick: () => setDetailsExpanded((prev) => !prev),
|
|
43063
43476
|
children: [
|
|
43064
|
-
/* @__PURE__ */
|
|
43065
|
-
/* @__PURE__ */
|
|
43066
|
-
hasValidBrandMention && /* @__PURE__ */
|
|
43067
|
-
/* @__PURE__ */
|
|
43068
|
-
/* @__PURE__ */
|
|
43477
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex flex-col gap-4 sm:grid sm:grid-cols-[1.3fr_1fr_2fr_120px] gap-8 items-start w-full pr-7", children: [
|
|
43478
|
+
/* @__PURE__ */ jsx175(ProfileSection, { creator, isValidationComplete }),
|
|
43479
|
+
hasValidBrandMention && /* @__PURE__ */ jsx175(BrandMentionPerformance, { creator }),
|
|
43480
|
+
/* @__PURE__ */ jsx175(CreatorFitSummary, { creator, showBrandPerformance: hasValidBrandMention }),
|
|
43481
|
+
/* @__PURE__ */ jsx175("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx175(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete }) })
|
|
43069
43482
|
] }),
|
|
43070
|
-
/* @__PURE__ */
|
|
43483
|
+
/* @__PURE__ */ jsx175(AnimatePresence4, { children: detailsExpanded && /* @__PURE__ */ jsx175(
|
|
43071
43484
|
motion5.div,
|
|
43072
43485
|
{
|
|
43073
43486
|
initial: { height: 0, opacity: 0 },
|
|
43074
43487
|
animate: { height: "auto", opacity: 1, transition: { height: { duration: 0.4, ease: [0.04, 0.62, 0.23, 0.98] }, opacity: { duration: 0.3, delay: 0.1 } } },
|
|
43075
43488
|
exit: { height: 0, opacity: 0, transition: { height: { duration: 0.3, ease: [0.04, 0.62, 0.23, 0.98] }, opacity: { duration: 0.2 } } },
|
|
43076
43489
|
className: "overflow-hidden mt-4",
|
|
43077
|
-
children: /* @__PURE__ */
|
|
43490
|
+
children: /* @__PURE__ */ jsx175(CreatorCardExpandedSection, { creator })
|
|
43078
43491
|
}
|
|
43079
43492
|
) })
|
|
43080
43493
|
]
|
|
@@ -43085,19 +43498,19 @@ function CreatorDisplay({
|
|
|
43085
43498
|
creators,
|
|
43086
43499
|
isValidationComplete
|
|
43087
43500
|
}) {
|
|
43088
|
-
const [viewMode, setViewMode] =
|
|
43089
|
-
return /* @__PURE__ */
|
|
43090
|
-
/* @__PURE__ */
|
|
43091
|
-
/* @__PURE__ */
|
|
43501
|
+
const [viewMode, setViewMode] = useState19("list");
|
|
43502
|
+
return /* @__PURE__ */ jsxs134("div", { className: "px-4", children: [
|
|
43503
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex justify-end items-center my-3 gap-1", children: [
|
|
43504
|
+
/* @__PURE__ */ jsxs134("span", { className: "text-xs text-gray600 mr-2", children: [
|
|
43092
43505
|
creators.length,
|
|
43093
43506
|
" creators"
|
|
43094
43507
|
] }),
|
|
43095
|
-
/* @__PURE__ */
|
|
43508
|
+
/* @__PURE__ */ jsx175(
|
|
43096
43509
|
"button",
|
|
43097
43510
|
{
|
|
43098
43511
|
className: `h-7 w-7 flex items-center justify-center rounded ${viewMode === "list" ? "bg-gray200" : ""}`,
|
|
43099
43512
|
onClick: () => setViewMode("list"),
|
|
43100
|
-
children: /* @__PURE__ */
|
|
43513
|
+
children: /* @__PURE__ */ jsx175(
|
|
43101
43514
|
AlignJustify,
|
|
43102
43515
|
{
|
|
43103
43516
|
className: `h-5 w-5 ${viewMode === "list" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -43105,12 +43518,12 @@ function CreatorDisplay({
|
|
|
43105
43518
|
)
|
|
43106
43519
|
}
|
|
43107
43520
|
),
|
|
43108
|
-
/* @__PURE__ */
|
|
43521
|
+
/* @__PURE__ */ jsx175(
|
|
43109
43522
|
"button",
|
|
43110
43523
|
{
|
|
43111
43524
|
className: `h-7 w-7 flex items-center justify-center rounded ${viewMode === "grid" ? "bg-gray200" : ""}`,
|
|
43112
43525
|
onClick: () => setViewMode("grid"),
|
|
43113
|
-
children: /* @__PURE__ */
|
|
43526
|
+
children: /* @__PURE__ */ jsx175(
|
|
43114
43527
|
LayoutGrid,
|
|
43115
43528
|
{
|
|
43116
43529
|
className: `h-5 w-5 ${viewMode === "grid" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -43119,43 +43532,43 @@ function CreatorDisplay({
|
|
|
43119
43532
|
}
|
|
43120
43533
|
)
|
|
43121
43534
|
] }),
|
|
43122
|
-
creators.length > 0 ? viewMode === "list" ? /* @__PURE__ */
|
|
43123
|
-
/* @__PURE__ */
|
|
43124
|
-
/* @__PURE__ */
|
|
43125
|
-
/* @__PURE__ */
|
|
43535
|
+
creators.length > 0 ? viewMode === "list" ? /* @__PURE__ */ jsx175("div", { className: "space-y-4", children: creators.map((creator) => /* @__PURE__ */ jsx175(CreatorCard, { creator, isValidationComplete }, creator._id)) }) : /* @__PURE__ */ jsx175(CreatorGridView, { creatorData: creators }) : /* @__PURE__ */ jsxs134("div", { className: "text-center py-8 bg-gray100 rounded-lg border border-gray300", children: [
|
|
43536
|
+
/* @__PURE__ */ jsx175("div", { className: "w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-3", children: /* @__PURE__ */ jsx175(Users, { className: "w-6 h-6 text-primary" }) }),
|
|
43537
|
+
/* @__PURE__ */ jsx175("h3", { className: "text-base font-medium text-gray900", children: "No creators found" }),
|
|
43538
|
+
/* @__PURE__ */ jsx175("p", { className: "mt-1 text-sm text-gray600", children: "Try adjusting your search criteria" })
|
|
43126
43539
|
] })
|
|
43127
43540
|
] });
|
|
43128
43541
|
}
|
|
43129
43542
|
function CreatorCardSkeleton() {
|
|
43130
|
-
return /* @__PURE__ */
|
|
43131
|
-
/* @__PURE__ */
|
|
43132
|
-
/* @__PURE__ */
|
|
43133
|
-
/* @__PURE__ */
|
|
43134
|
-
/* @__PURE__ */
|
|
43135
|
-
/* @__PURE__ */
|
|
43136
|
-
/* @__PURE__ */
|
|
43137
|
-
/* @__PURE__ */
|
|
43543
|
+
return /* @__PURE__ */ jsx175("div", { className: "bg-paperBackground rounded-[25px] py-5 pl-7 pr-7 border-2 border-gray300 shadow-sm", children: /* @__PURE__ */ jsxs134("div", { className: "flex flex-col gap-4 sm:grid sm:grid-cols-[1.3fr_1fr_2fr_120px] gap-8 items-start w-full", children: [
|
|
43544
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex items-start gap-1 md:gap-6", children: [
|
|
43545
|
+
/* @__PURE__ */ jsx175("div", { className: "w-[5rem] h-[5rem] rounded-[10px] bg-gray200 animate-pulse" }),
|
|
43546
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex flex-col gap-3", children: [
|
|
43547
|
+
/* @__PURE__ */ jsx175("div", { className: "h-5 w-36 rounded bg-gray200 animate-pulse" }),
|
|
43548
|
+
/* @__PURE__ */ jsx175("div", { className: "h-3 w-24 rounded bg-gray200 animate-pulse" }),
|
|
43549
|
+
/* @__PURE__ */ jsx175("div", { className: "h-3 w-32 rounded bg-gray200 animate-pulse" }),
|
|
43550
|
+
/* @__PURE__ */ jsx175("div", { className: "h-3 w-44 rounded bg-gray200 animate-pulse" })
|
|
43138
43551
|
] })
|
|
43139
43552
|
] }),
|
|
43140
|
-
/* @__PURE__ */
|
|
43141
|
-
/* @__PURE__ */
|
|
43142
|
-
/* @__PURE__ */
|
|
43143
|
-
/* @__PURE__ */
|
|
43553
|
+
/* @__PURE__ */ jsxs134("div", { className: "space-y-3 w-full", children: [
|
|
43554
|
+
/* @__PURE__ */ jsx175("div", { className: "h-4 w-32 rounded bg-gray200 animate-pulse" }),
|
|
43555
|
+
/* @__PURE__ */ jsx175("div", { className: "h-4 w-28 rounded bg-gray200 animate-pulse" }),
|
|
43556
|
+
/* @__PURE__ */ jsx175("div", { className: "h-4 w-24 rounded bg-gray200 animate-pulse" })
|
|
43144
43557
|
] }),
|
|
43145
|
-
/* @__PURE__ */
|
|
43146
|
-
/* @__PURE__ */
|
|
43147
|
-
/* @__PURE__ */
|
|
43148
|
-
/* @__PURE__ */
|
|
43149
|
-
/* @__PURE__ */
|
|
43558
|
+
/* @__PURE__ */ jsxs134("div", { className: "space-y-3 w-full", children: [
|
|
43559
|
+
/* @__PURE__ */ jsx175("div", { className: "h-4 w-40 rounded bg-gray200 animate-pulse" }),
|
|
43560
|
+
/* @__PURE__ */ jsx175("div", { className: "h-3 w-full rounded bg-gray200 animate-pulse" }),
|
|
43561
|
+
/* @__PURE__ */ jsx175("div", { className: "h-3 w-[90%] rounded bg-gray200 animate-pulse" }),
|
|
43562
|
+
/* @__PURE__ */ jsx175("div", { className: "h-3 w-[75%] rounded bg-gray200 animate-pulse" })
|
|
43150
43563
|
] }),
|
|
43151
|
-
/* @__PURE__ */
|
|
43152
|
-
/* @__PURE__ */
|
|
43153
|
-
/* @__PURE__ */
|
|
43564
|
+
/* @__PURE__ */ jsxs134("div", { className: "hidden md:flex flex-col items-center justify-center gap-3", children: [
|
|
43565
|
+
/* @__PURE__ */ jsx175("div", { className: "h-6 w-16 rounded bg-gray200 animate-pulse" }),
|
|
43566
|
+
/* @__PURE__ */ jsx175("div", { className: "h-4 w-20 rounded bg-gray200 animate-pulse" })
|
|
43154
43567
|
] })
|
|
43155
43568
|
] }) });
|
|
43156
43569
|
}
|
|
43157
43570
|
function CreatorDisplaySkeleton() {
|
|
43158
|
-
return /* @__PURE__ */
|
|
43571
|
+
return /* @__PURE__ */ jsx175("div", { className: "px-4 py-4 space-y-4", children: Array.from({ length: 3 }).map((_, idx) => /* @__PURE__ */ jsx175(CreatorCardSkeleton, {}, idx)) });
|
|
43159
43572
|
}
|
|
43160
43573
|
function CreatorExpandedPanel({
|
|
43161
43574
|
isOpen,
|
|
@@ -43166,10 +43579,10 @@ function CreatorExpandedPanel({
|
|
|
43166
43579
|
searchSpec,
|
|
43167
43580
|
fetchCreatorDetails
|
|
43168
43581
|
}) {
|
|
43169
|
-
const [creators, setCreators] =
|
|
43170
|
-
const [loading, setLoading] =
|
|
43582
|
+
const [creators, setCreators] = useState19([]);
|
|
43583
|
+
const [loading, setLoading] = useState19(false);
|
|
43171
43584
|
const fetcher = fetchCreatorDetails ?? defaultFetchCreatorDetails;
|
|
43172
|
-
const loadCreators =
|
|
43585
|
+
const loadCreators = useCallback7(async () => {
|
|
43173
43586
|
if (!creatorIds.length) return;
|
|
43174
43587
|
setLoading(true);
|
|
43175
43588
|
try {
|
|
@@ -43181,15 +43594,15 @@ function CreatorExpandedPanel({
|
|
|
43181
43594
|
setLoading(false);
|
|
43182
43595
|
}
|
|
43183
43596
|
}, [creatorIds, sessionId, version, fetcher]);
|
|
43184
|
-
|
|
43597
|
+
useEffect12(() => {
|
|
43185
43598
|
if (isOpen && creatorIds.length > 0) {
|
|
43186
43599
|
loadCreators();
|
|
43187
43600
|
}
|
|
43188
43601
|
}, [isOpen, loadCreators]);
|
|
43189
43602
|
if (typeof window === "undefined") return null;
|
|
43190
43603
|
return ReactDOM2.createPortal(
|
|
43191
|
-
/* @__PURE__ */
|
|
43192
|
-
/* @__PURE__ */
|
|
43604
|
+
/* @__PURE__ */ jsx175(AnimatePresence4, { mode: "sync", children: isOpen && /* @__PURE__ */ jsxs134(Fragment11, { children: [
|
|
43605
|
+
/* @__PURE__ */ jsx175(
|
|
43193
43606
|
motion5.div,
|
|
43194
43607
|
{
|
|
43195
43608
|
initial: { opacity: 0 },
|
|
@@ -43204,7 +43617,7 @@ function CreatorExpandedPanel({
|
|
|
43204
43617
|
},
|
|
43205
43618
|
"overlay"
|
|
43206
43619
|
),
|
|
43207
|
-
/* @__PURE__ */
|
|
43620
|
+
/* @__PURE__ */ jsx175(
|
|
43208
43621
|
motion5.div,
|
|
43209
43622
|
{
|
|
43210
43623
|
initial: { x: "100%" },
|
|
@@ -43212,19 +43625,19 @@ function CreatorExpandedPanel({
|
|
|
43212
43625
|
exit: { x: "100%" },
|
|
43213
43626
|
transition: { type: "spring", damping: 30, stiffness: 400 },
|
|
43214
43627
|
className: "fixed top-0 right-0 h-full w-full max-w-7xl bg-background dark:bg-gray25 z-[70] shadow-2xl overflow-y-auto border border-gray300",
|
|
43215
|
-
children: /* @__PURE__ */
|
|
43216
|
-
/* @__PURE__ */
|
|
43217
|
-
/* @__PURE__ */
|
|
43218
|
-
/* @__PURE__ */
|
|
43219
|
-
/* @__PURE__ */
|
|
43220
|
-
/* @__PURE__ */
|
|
43221
|
-
/* @__PURE__ */
|
|
43628
|
+
children: /* @__PURE__ */ jsxs134("div", { className: "py-4 font-noto", children: [
|
|
43629
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex justify-between items-center w-full mb-4 pl-2", children: [
|
|
43630
|
+
/* @__PURE__ */ jsx175("button", { onClick: onClose, className: "p-2 rounded-full transition-colors", children: /* @__PURE__ */ jsx175(X, { className: "w-5 h-5" }) }),
|
|
43631
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex-1 flex flex-col w-[80%]", children: [
|
|
43632
|
+
/* @__PURE__ */ jsx175("div", { className: "flex flex-col md:flex-row justify-between gap-2 md:gap-0 md:items-center pr-16", children: /* @__PURE__ */ jsxs134("div", { className: "flex flex-col", children: [
|
|
43633
|
+
/* @__PURE__ */ jsx175("div", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] mb-2", children: /* @__PURE__ */ jsx175("h4", { className: "text-xs font-medium text-purpleText", children: "VERIFIED SEARCH RESULTS" }) }),
|
|
43634
|
+
/* @__PURE__ */ jsx175("h2", { className: "text-xl font-bold mb-1", children: "Creators Search Results" })
|
|
43222
43635
|
] }) }),
|
|
43223
|
-
searchSpec && /* @__PURE__ */
|
|
43636
|
+
searchSpec && /* @__PURE__ */ jsx175(SearchSpecDisplay, { spec: searchSpec })
|
|
43224
43637
|
] })
|
|
43225
43638
|
] }),
|
|
43226
|
-
/* @__PURE__ */
|
|
43227
|
-
loading ? /* @__PURE__ */
|
|
43639
|
+
/* @__PURE__ */ jsx175("div", { className: "border-b border-gray300" }),
|
|
43640
|
+
loading ? /* @__PURE__ */ jsx175(CreatorDisplaySkeleton, {}) : /* @__PURE__ */ jsx175(CreatorDisplay, { creators, isValidationComplete: version !== void 0 })
|
|
43228
43641
|
] })
|
|
43229
43642
|
},
|
|
43230
43643
|
"creator-panel"
|
|
@@ -43235,7 +43648,7 @@ function CreatorExpandedPanel({
|
|
|
43235
43648
|
}
|
|
43236
43649
|
|
|
43237
43650
|
// src/molecules/creator-discovery/CreatorWidget/useCreatorWidgetPolling.ts
|
|
43238
|
-
import { useState as
|
|
43651
|
+
import { useState as useState20, useEffect as useEffect13, useCallback as useCallback8, useMemo as useMemo11, useRef as useRef9 } from "react";
|
|
43239
43652
|
var DEFAULT_POLLING_CONFIG = {
|
|
43240
43653
|
pollInterval: 5e3,
|
|
43241
43654
|
maxDuration: 15 * 60 * 1e3,
|
|
@@ -43256,18 +43669,18 @@ function useCreatorWidgetPolling({
|
|
|
43256
43669
|
() => ({ ...DEFAULT_POLLING_CONFIG, ...pollingConfig }),
|
|
43257
43670
|
[pollingConfig]
|
|
43258
43671
|
);
|
|
43259
|
-
const [versionData, setVersionData] =
|
|
43260
|
-
const [totalVersions, setTotalVersions] =
|
|
43261
|
-
const [selectedVersion, setSelectedVersion] =
|
|
43262
|
-
const [isLoadingVersion, setIsLoadingVersion] =
|
|
43263
|
-
const [isValidationComplete, setIsValidationComplete] =
|
|
43264
|
-
const [versionStatus, setVersionStatus] =
|
|
43265
|
-
const [statusDetails, setStatusDetails] =
|
|
43266
|
-
const [timeDisplay, setTimeDisplay] =
|
|
43267
|
-
const [loadingStatus, setLoadingStatus] =
|
|
43268
|
-
const remainingTimeRef =
|
|
43672
|
+
const [versionData, setVersionData] = useState20(null);
|
|
43673
|
+
const [totalVersions, setTotalVersions] = useState20(0);
|
|
43674
|
+
const [selectedVersion, setSelectedVersion] = useState20();
|
|
43675
|
+
const [isLoadingVersion, setIsLoadingVersion] = useState20(false);
|
|
43676
|
+
const [isValidationComplete, setIsValidationComplete] = useState20(false);
|
|
43677
|
+
const [versionStatus, setVersionStatus] = useState20("checking");
|
|
43678
|
+
const [statusDetails, setStatusDetails] = useState20();
|
|
43679
|
+
const [timeDisplay, setTimeDisplay] = useState20("");
|
|
43680
|
+
const [loadingStatus, setLoadingStatus] = useState20(true);
|
|
43681
|
+
const remainingTimeRef = useRef9(0);
|
|
43269
43682
|
const requestedVersion = selectedVersion ?? currentVersion ?? versionData?.currentVersion;
|
|
43270
|
-
const fetchVersionData =
|
|
43683
|
+
const fetchVersionData = useCallback8(async () => {
|
|
43271
43684
|
if (!sessionId) return;
|
|
43272
43685
|
if (!versionData) setIsLoadingVersion(true);
|
|
43273
43686
|
try {
|
|
@@ -43288,17 +43701,17 @@ function useCreatorWidgetPolling({
|
|
|
43288
43701
|
setIsLoadingVersion(false);
|
|
43289
43702
|
}
|
|
43290
43703
|
}, [sessionId, requestedVersion, isValidationComplete, fetchVersions, versionData]);
|
|
43291
|
-
|
|
43704
|
+
useEffect13(() => {
|
|
43292
43705
|
fetchVersionData();
|
|
43293
43706
|
}, [sessionId, requestedVersion, isValidationComplete]);
|
|
43294
|
-
|
|
43707
|
+
useEffect13(() => {
|
|
43295
43708
|
if (totalVersions > 0 || !sessionId) return;
|
|
43296
43709
|
const interval = setInterval(() => {
|
|
43297
43710
|
if (totalVersions === 0) fetchVersionData();
|
|
43298
43711
|
}, config.pollInterval);
|
|
43299
43712
|
return () => clearInterval(interval);
|
|
43300
43713
|
}, [totalVersions, sessionId, fetchVersionData, config.pollInterval]);
|
|
43301
|
-
|
|
43714
|
+
useEffect13(() => {
|
|
43302
43715
|
if (!selectedVersion && !requestedVersion) return;
|
|
43303
43716
|
const activeVersion = selectedVersion ?? requestedVersion;
|
|
43304
43717
|
let isMounted = true;
|
|
@@ -43408,7 +43821,7 @@ function useCreatorWidgetPolling({
|
|
|
43408
43821
|
}
|
|
43409
43822
|
|
|
43410
43823
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
43411
|
-
import { jsx as
|
|
43824
|
+
import { jsx as jsx176, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
43412
43825
|
function CreatorWidgetInner({
|
|
43413
43826
|
sessionId,
|
|
43414
43827
|
currentVersion,
|
|
@@ -43421,7 +43834,7 @@ function CreatorWidgetInner({
|
|
|
43421
43834
|
onAction,
|
|
43422
43835
|
className
|
|
43423
43836
|
}) {
|
|
43424
|
-
const [isExpanded, setIsExpanded] =
|
|
43837
|
+
const [isExpanded, setIsExpanded] = useState21(false);
|
|
43425
43838
|
const {
|
|
43426
43839
|
versionNumbers,
|
|
43427
43840
|
selectedVersion,
|
|
@@ -43442,11 +43855,11 @@ function CreatorWidgetInner({
|
|
|
43442
43855
|
pollingConfig,
|
|
43443
43856
|
onStatusChange
|
|
43444
43857
|
});
|
|
43445
|
-
const handleVersionSelect =
|
|
43858
|
+
const handleVersionSelect = useCallback9(
|
|
43446
43859
|
(version) => setSelectedVersion(version),
|
|
43447
43860
|
[setSelectedVersion]
|
|
43448
43861
|
);
|
|
43449
|
-
const handleViewCreators =
|
|
43862
|
+
const handleViewCreators = useCallback9(() => {
|
|
43450
43863
|
setIsExpanded(true);
|
|
43451
43864
|
onAction?.({
|
|
43452
43865
|
type: "view-creators",
|
|
@@ -43456,8 +43869,8 @@ function CreatorWidgetInner({
|
|
|
43456
43869
|
searchSpec
|
|
43457
43870
|
});
|
|
43458
43871
|
}, [onAction, sessionId, creatorIds, selectedVersion, searchSpec]);
|
|
43459
|
-
return /* @__PURE__ */
|
|
43460
|
-
/* @__PURE__ */
|
|
43872
|
+
return /* @__PURE__ */ jsxs135("div", { className, children: [
|
|
43873
|
+
/* @__PURE__ */ jsx176(
|
|
43461
43874
|
CreatorCompactView,
|
|
43462
43875
|
{
|
|
43463
43876
|
versions: versionNumbers,
|
|
@@ -43473,7 +43886,7 @@ function CreatorWidgetInner({
|
|
|
43473
43886
|
isLoading
|
|
43474
43887
|
}
|
|
43475
43888
|
),
|
|
43476
|
-
/* @__PURE__ */
|
|
43889
|
+
/* @__PURE__ */ jsx176(
|
|
43477
43890
|
CreatorExpandedPanel,
|
|
43478
43891
|
{
|
|
43479
43892
|
isOpen: isExpanded,
|
|
@@ -43781,7 +44194,7 @@ __export(ui_exports, {
|
|
|
43781
44194
|
// src/components/ui/button-group.tsx
|
|
43782
44195
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
43783
44196
|
import { cva as cva8 } from "class-variance-authority";
|
|
43784
|
-
import { jsx as
|
|
44197
|
+
import { jsx as jsx177 } from "react/jsx-runtime";
|
|
43785
44198
|
var buttonGroupVariants = cva8(
|
|
43786
44199
|
"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
|
|
43787
44200
|
{
|
|
@@ -43801,7 +44214,7 @@ function ButtonGroup({
|
|
|
43801
44214
|
orientation,
|
|
43802
44215
|
...props
|
|
43803
44216
|
}) {
|
|
43804
|
-
return /* @__PURE__ */
|
|
44217
|
+
return /* @__PURE__ */ jsx177(
|
|
43805
44218
|
"div",
|
|
43806
44219
|
{
|
|
43807
44220
|
role: "group",
|
|
@@ -43818,7 +44231,7 @@ function ButtonGroupText({
|
|
|
43818
44231
|
...props
|
|
43819
44232
|
}) {
|
|
43820
44233
|
const Comp = asChild ? Slot4 : "div";
|
|
43821
|
-
return /* @__PURE__ */
|
|
44234
|
+
return /* @__PURE__ */ jsx177(
|
|
43822
44235
|
Comp,
|
|
43823
44236
|
{
|
|
43824
44237
|
className: cn(
|
|
@@ -43834,7 +44247,7 @@ function ButtonGroupSeparator({
|
|
|
43834
44247
|
orientation = "vertical",
|
|
43835
44248
|
...props
|
|
43836
44249
|
}) {
|
|
43837
|
-
return /* @__PURE__ */
|
|
44250
|
+
return /* @__PURE__ */ jsx177(
|
|
43838
44251
|
Separator2,
|
|
43839
44252
|
{
|
|
43840
44253
|
"data-slot": "button-group-separator",
|
|
@@ -43850,9 +44263,9 @@ function ButtonGroupSeparator({
|
|
|
43850
44263
|
|
|
43851
44264
|
// src/components/ui/empty.tsx
|
|
43852
44265
|
import { cva as cva9 } from "class-variance-authority";
|
|
43853
|
-
import { jsx as
|
|
44266
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
43854
44267
|
function Empty({ className, ...props }) {
|
|
43855
|
-
return /* @__PURE__ */
|
|
44268
|
+
return /* @__PURE__ */ jsx178(
|
|
43856
44269
|
"div",
|
|
43857
44270
|
{
|
|
43858
44271
|
"data-slot": "empty",
|
|
@@ -43865,7 +44278,7 @@ function Empty({ className, ...props }) {
|
|
|
43865
44278
|
);
|
|
43866
44279
|
}
|
|
43867
44280
|
function EmptyHeader({ className, ...props }) {
|
|
43868
|
-
return /* @__PURE__ */
|
|
44281
|
+
return /* @__PURE__ */ jsx178(
|
|
43869
44282
|
"div",
|
|
43870
44283
|
{
|
|
43871
44284
|
"data-slot": "empty-header",
|
|
@@ -43896,7 +44309,7 @@ function EmptyMedia({
|
|
|
43896
44309
|
variant = "default",
|
|
43897
44310
|
...props
|
|
43898
44311
|
}) {
|
|
43899
|
-
return /* @__PURE__ */
|
|
44312
|
+
return /* @__PURE__ */ jsx178(
|
|
43900
44313
|
"div",
|
|
43901
44314
|
{
|
|
43902
44315
|
"data-slot": "empty-icon",
|
|
@@ -43907,7 +44320,7 @@ function EmptyMedia({
|
|
|
43907
44320
|
);
|
|
43908
44321
|
}
|
|
43909
44322
|
function EmptyTitle({ className, ...props }) {
|
|
43910
|
-
return /* @__PURE__ */
|
|
44323
|
+
return /* @__PURE__ */ jsx178(
|
|
43911
44324
|
"div",
|
|
43912
44325
|
{
|
|
43913
44326
|
"data-slot": "empty-title",
|
|
@@ -43917,7 +44330,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
43917
44330
|
);
|
|
43918
44331
|
}
|
|
43919
44332
|
function EmptyDescription({ className, ...props }) {
|
|
43920
|
-
return /* @__PURE__ */
|
|
44333
|
+
return /* @__PURE__ */ jsx178(
|
|
43921
44334
|
"div",
|
|
43922
44335
|
{
|
|
43923
44336
|
"data-slot": "empty-description",
|
|
@@ -43930,7 +44343,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
43930
44343
|
);
|
|
43931
44344
|
}
|
|
43932
44345
|
function EmptyContent({ className, ...props }) {
|
|
43933
|
-
return /* @__PURE__ */
|
|
44346
|
+
return /* @__PURE__ */ jsx178(
|
|
43934
44347
|
"div",
|
|
43935
44348
|
{
|
|
43936
44349
|
"data-slot": "empty-content",
|
|
@@ -43946,9 +44359,9 @@ function EmptyContent({ className, ...props }) {
|
|
|
43946
44359
|
// src/components/ui/field.tsx
|
|
43947
44360
|
import { useMemo as useMemo12 } from "react";
|
|
43948
44361
|
import { cva as cva10 } from "class-variance-authority";
|
|
43949
|
-
import { jsx as
|
|
44362
|
+
import { jsx as jsx179, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
43950
44363
|
function FieldSet({ className, ...props }) {
|
|
43951
|
-
return /* @__PURE__ */
|
|
44364
|
+
return /* @__PURE__ */ jsx179(
|
|
43952
44365
|
"fieldset",
|
|
43953
44366
|
{
|
|
43954
44367
|
"data-slot": "field-set",
|
|
@@ -43966,7 +44379,7 @@ function FieldLegend({
|
|
|
43966
44379
|
variant = "legend",
|
|
43967
44380
|
...props
|
|
43968
44381
|
}) {
|
|
43969
|
-
return /* @__PURE__ */
|
|
44382
|
+
return /* @__PURE__ */ jsx179(
|
|
43970
44383
|
"legend",
|
|
43971
44384
|
{
|
|
43972
44385
|
"data-slot": "field-legend",
|
|
@@ -43982,7 +44395,7 @@ function FieldLegend({
|
|
|
43982
44395
|
);
|
|
43983
44396
|
}
|
|
43984
44397
|
function FieldGroup({ className, ...props }) {
|
|
43985
|
-
return /* @__PURE__ */
|
|
44398
|
+
return /* @__PURE__ */ jsx179(
|
|
43986
44399
|
"div",
|
|
43987
44400
|
{
|
|
43988
44401
|
"data-slot": "field-group",
|
|
@@ -44022,7 +44435,7 @@ function Field({
|
|
|
44022
44435
|
orientation = "vertical",
|
|
44023
44436
|
...props
|
|
44024
44437
|
}) {
|
|
44025
|
-
return /* @__PURE__ */
|
|
44438
|
+
return /* @__PURE__ */ jsx179(
|
|
44026
44439
|
"div",
|
|
44027
44440
|
{
|
|
44028
44441
|
role: "group",
|
|
@@ -44034,7 +44447,7 @@ function Field({
|
|
|
44034
44447
|
);
|
|
44035
44448
|
}
|
|
44036
44449
|
function FieldContent({ className, ...props }) {
|
|
44037
|
-
return /* @__PURE__ */
|
|
44450
|
+
return /* @__PURE__ */ jsx179(
|
|
44038
44451
|
"div",
|
|
44039
44452
|
{
|
|
44040
44453
|
"data-slot": "field-content",
|
|
@@ -44050,7 +44463,7 @@ function FieldLabel({
|
|
|
44050
44463
|
className,
|
|
44051
44464
|
...props
|
|
44052
44465
|
}) {
|
|
44053
|
-
return /* @__PURE__ */
|
|
44466
|
+
return /* @__PURE__ */ jsx179(
|
|
44054
44467
|
Label,
|
|
44055
44468
|
{
|
|
44056
44469
|
"data-slot": "field-label",
|
|
@@ -44065,7 +44478,7 @@ function FieldLabel({
|
|
|
44065
44478
|
);
|
|
44066
44479
|
}
|
|
44067
44480
|
function FieldTitle({ className, ...props }) {
|
|
44068
|
-
return /* @__PURE__ */
|
|
44481
|
+
return /* @__PURE__ */ jsx179(
|
|
44069
44482
|
"div",
|
|
44070
44483
|
{
|
|
44071
44484
|
"data-slot": "field-label",
|
|
@@ -44078,7 +44491,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
44078
44491
|
);
|
|
44079
44492
|
}
|
|
44080
44493
|
function FieldDescription({ className, ...props }) {
|
|
44081
|
-
return /* @__PURE__ */
|
|
44494
|
+
return /* @__PURE__ */ jsx179(
|
|
44082
44495
|
"p",
|
|
44083
44496
|
{
|
|
44084
44497
|
"data-slot": "field-description",
|
|
@@ -44097,7 +44510,7 @@ function FieldSeparator({
|
|
|
44097
44510
|
className,
|
|
44098
44511
|
...props
|
|
44099
44512
|
}) {
|
|
44100
|
-
return /* @__PURE__ */
|
|
44513
|
+
return /* @__PURE__ */ jsxs136(
|
|
44101
44514
|
"div",
|
|
44102
44515
|
{
|
|
44103
44516
|
"data-slot": "field-separator",
|
|
@@ -44108,8 +44521,8 @@ function FieldSeparator({
|
|
|
44108
44521
|
),
|
|
44109
44522
|
...props,
|
|
44110
44523
|
children: [
|
|
44111
|
-
/* @__PURE__ */
|
|
44112
|
-
children && /* @__PURE__ */
|
|
44524
|
+
/* @__PURE__ */ jsx179(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
44525
|
+
children && /* @__PURE__ */ jsx179(
|
|
44113
44526
|
"span",
|
|
44114
44527
|
{
|
|
44115
44528
|
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
@@ -44137,14 +44550,14 @@ function FieldError({
|
|
|
44137
44550
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
44138
44551
|
return errors[0].message;
|
|
44139
44552
|
}
|
|
44140
|
-
return /* @__PURE__ */
|
|
44141
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
44553
|
+
return /* @__PURE__ */ jsx179("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
44554
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx179("li", { children: error.message }, index)
|
|
44142
44555
|
) });
|
|
44143
44556
|
}, [children, errors]);
|
|
44144
44557
|
if (!content) {
|
|
44145
44558
|
return null;
|
|
44146
44559
|
}
|
|
44147
|
-
return /* @__PURE__ */
|
|
44560
|
+
return /* @__PURE__ */ jsx179(
|
|
44148
44561
|
"div",
|
|
44149
44562
|
{
|
|
44150
44563
|
role: "alert",
|
|
@@ -44158,9 +44571,9 @@ function FieldError({
|
|
|
44158
44571
|
|
|
44159
44572
|
// src/components/ui/input-group.tsx
|
|
44160
44573
|
import { cva as cva11 } from "class-variance-authority";
|
|
44161
|
-
import { jsx as
|
|
44574
|
+
import { jsx as jsx180 } from "react/jsx-runtime";
|
|
44162
44575
|
function InputGroup({ className, ...props }) {
|
|
44163
|
-
return /* @__PURE__ */
|
|
44576
|
+
return /* @__PURE__ */ jsx180(
|
|
44164
44577
|
"div",
|
|
44165
44578
|
{
|
|
44166
44579
|
"data-slot": "input-group",
|
|
@@ -44204,7 +44617,7 @@ function InputGroupAddon({
|
|
|
44204
44617
|
align = "inline-start",
|
|
44205
44618
|
...props
|
|
44206
44619
|
}) {
|
|
44207
|
-
return /* @__PURE__ */
|
|
44620
|
+
return /* @__PURE__ */ jsx180(
|
|
44208
44621
|
"div",
|
|
44209
44622
|
{
|
|
44210
44623
|
role: "group",
|
|
@@ -44244,7 +44657,7 @@ function InputGroupButton({
|
|
|
44244
44657
|
size = "xs",
|
|
44245
44658
|
...props
|
|
44246
44659
|
}) {
|
|
44247
|
-
return /* @__PURE__ */
|
|
44660
|
+
return /* @__PURE__ */ jsx180(
|
|
44248
44661
|
Button,
|
|
44249
44662
|
{
|
|
44250
44663
|
type,
|
|
@@ -44256,7 +44669,7 @@ function InputGroupButton({
|
|
|
44256
44669
|
);
|
|
44257
44670
|
}
|
|
44258
44671
|
function InputGroupText({ className, ...props }) {
|
|
44259
|
-
return /* @__PURE__ */
|
|
44672
|
+
return /* @__PURE__ */ jsx180(
|
|
44260
44673
|
"span",
|
|
44261
44674
|
{
|
|
44262
44675
|
className: cn(
|
|
@@ -44271,7 +44684,7 @@ function InputGroupInput({
|
|
|
44271
44684
|
className,
|
|
44272
44685
|
...props
|
|
44273
44686
|
}) {
|
|
44274
|
-
return /* @__PURE__ */
|
|
44687
|
+
return /* @__PURE__ */ jsx180(
|
|
44275
44688
|
Input,
|
|
44276
44689
|
{
|
|
44277
44690
|
"data-slot": "input-group-control",
|
|
@@ -44287,7 +44700,7 @@ function InputGroupTextarea({
|
|
|
44287
44700
|
className,
|
|
44288
44701
|
...props
|
|
44289
44702
|
}) {
|
|
44290
|
-
return /* @__PURE__ */
|
|
44703
|
+
return /* @__PURE__ */ jsx180(
|
|
44291
44704
|
Textarea,
|
|
44292
44705
|
{
|
|
44293
44706
|
"data-slot": "input-group-control",
|
|
@@ -44303,9 +44716,9 @@ function InputGroupTextarea({
|
|
|
44303
44716
|
// src/components/ui/item.tsx
|
|
44304
44717
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
44305
44718
|
import { cva as cva12 } from "class-variance-authority";
|
|
44306
|
-
import { jsx as
|
|
44719
|
+
import { jsx as jsx181 } from "react/jsx-runtime";
|
|
44307
44720
|
function ItemGroup({ className, ...props }) {
|
|
44308
|
-
return /* @__PURE__ */
|
|
44721
|
+
return /* @__PURE__ */ jsx181(
|
|
44309
44722
|
"div",
|
|
44310
44723
|
{
|
|
44311
44724
|
role: "list",
|
|
@@ -44319,7 +44732,7 @@ function ItemSeparator({
|
|
|
44319
44732
|
className,
|
|
44320
44733
|
...props
|
|
44321
44734
|
}) {
|
|
44322
|
-
return /* @__PURE__ */
|
|
44735
|
+
return /* @__PURE__ */ jsx181(
|
|
44323
44736
|
Separator2,
|
|
44324
44737
|
{
|
|
44325
44738
|
"data-slot": "item-separator",
|
|
@@ -44357,7 +44770,7 @@ function Item8({
|
|
|
44357
44770
|
...props
|
|
44358
44771
|
}) {
|
|
44359
44772
|
const Comp = asChild ? Slot5 : "div";
|
|
44360
|
-
return /* @__PURE__ */
|
|
44773
|
+
return /* @__PURE__ */ jsx181(
|
|
44361
44774
|
Comp,
|
|
44362
44775
|
{
|
|
44363
44776
|
"data-slot": "item",
|
|
@@ -44388,7 +44801,7 @@ function ItemMedia({
|
|
|
44388
44801
|
variant = "default",
|
|
44389
44802
|
...props
|
|
44390
44803
|
}) {
|
|
44391
|
-
return /* @__PURE__ */
|
|
44804
|
+
return /* @__PURE__ */ jsx181(
|
|
44392
44805
|
"div",
|
|
44393
44806
|
{
|
|
44394
44807
|
"data-slot": "item-media",
|
|
@@ -44399,7 +44812,7 @@ function ItemMedia({
|
|
|
44399
44812
|
);
|
|
44400
44813
|
}
|
|
44401
44814
|
function ItemContent({ className, ...props }) {
|
|
44402
|
-
return /* @__PURE__ */
|
|
44815
|
+
return /* @__PURE__ */ jsx181(
|
|
44403
44816
|
"div",
|
|
44404
44817
|
{
|
|
44405
44818
|
"data-slot": "item-content",
|
|
@@ -44412,7 +44825,7 @@ function ItemContent({ className, ...props }) {
|
|
|
44412
44825
|
);
|
|
44413
44826
|
}
|
|
44414
44827
|
function ItemTitle({ className, ...props }) {
|
|
44415
|
-
return /* @__PURE__ */
|
|
44828
|
+
return /* @__PURE__ */ jsx181(
|
|
44416
44829
|
"div",
|
|
44417
44830
|
{
|
|
44418
44831
|
"data-slot": "item-title",
|
|
@@ -44425,7 +44838,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
44425
44838
|
);
|
|
44426
44839
|
}
|
|
44427
44840
|
function ItemDescription({ className, ...props }) {
|
|
44428
|
-
return /* @__PURE__ */
|
|
44841
|
+
return /* @__PURE__ */ jsx181(
|
|
44429
44842
|
"p",
|
|
44430
44843
|
{
|
|
44431
44844
|
"data-slot": "item-description",
|
|
@@ -44439,7 +44852,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
44439
44852
|
);
|
|
44440
44853
|
}
|
|
44441
44854
|
function ItemActions({ className, ...props }) {
|
|
44442
|
-
return /* @__PURE__ */
|
|
44855
|
+
return /* @__PURE__ */ jsx181(
|
|
44443
44856
|
"div",
|
|
44444
44857
|
{
|
|
44445
44858
|
"data-slot": "item-actions",
|
|
@@ -44449,7 +44862,7 @@ function ItemActions({ className, ...props }) {
|
|
|
44449
44862
|
);
|
|
44450
44863
|
}
|
|
44451
44864
|
function ItemHeader({ className, ...props }) {
|
|
44452
|
-
return /* @__PURE__ */
|
|
44865
|
+
return /* @__PURE__ */ jsx181(
|
|
44453
44866
|
"div",
|
|
44454
44867
|
{
|
|
44455
44868
|
"data-slot": "item-header",
|
|
@@ -44462,7 +44875,7 @@ function ItemHeader({ className, ...props }) {
|
|
|
44462
44875
|
);
|
|
44463
44876
|
}
|
|
44464
44877
|
function ItemFooter({ className, ...props }) {
|
|
44465
|
-
return /* @__PURE__ */
|
|
44878
|
+
return /* @__PURE__ */ jsx181(
|
|
44466
44879
|
"div",
|
|
44467
44880
|
{
|
|
44468
44881
|
"data-slot": "item-footer",
|
|
@@ -44476,9 +44889,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
44476
44889
|
}
|
|
44477
44890
|
|
|
44478
44891
|
// src/components/ui/kbd.tsx
|
|
44479
|
-
import { jsx as
|
|
44892
|
+
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
44480
44893
|
function Kbd({ className, ...props }) {
|
|
44481
|
-
return /* @__PURE__ */
|
|
44894
|
+
return /* @__PURE__ */ jsx182(
|
|
44482
44895
|
"kbd",
|
|
44483
44896
|
{
|
|
44484
44897
|
"data-slot": "kbd",
|
|
@@ -44493,7 +44906,7 @@ function Kbd({ className, ...props }) {
|
|
|
44493
44906
|
);
|
|
44494
44907
|
}
|
|
44495
44908
|
function KbdGroup({ className, ...props }) {
|
|
44496
|
-
return /* @__PURE__ */
|
|
44909
|
+
return /* @__PURE__ */ jsx182(
|
|
44497
44910
|
"kbd",
|
|
44498
44911
|
{
|
|
44499
44912
|
"data-slot": "kbd-group",
|
|
@@ -44504,16 +44917,16 @@ function KbdGroup({ className, ...props }) {
|
|
|
44504
44917
|
}
|
|
44505
44918
|
|
|
44506
44919
|
// src/components/ui/sidebar.tsx
|
|
44507
|
-
import * as
|
|
44920
|
+
import * as React114 from "react";
|
|
44508
44921
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
44509
44922
|
import { cva as cva13 } from "class-variance-authority";
|
|
44510
44923
|
|
|
44511
44924
|
// src/hooks/use-mobile.tsx
|
|
44512
|
-
import * as
|
|
44925
|
+
import * as React113 from "react";
|
|
44513
44926
|
var MOBILE_BREAKPOINT = 768;
|
|
44514
44927
|
function useIsMobile() {
|
|
44515
|
-
const [isMobile, setIsMobile] =
|
|
44516
|
-
|
|
44928
|
+
const [isMobile, setIsMobile] = React113.useState(void 0);
|
|
44929
|
+
React113.useEffect(() => {
|
|
44517
44930
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
44518
44931
|
const onChange = () => {
|
|
44519
44932
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -44526,22 +44939,22 @@ function useIsMobile() {
|
|
|
44526
44939
|
}
|
|
44527
44940
|
|
|
44528
44941
|
// src/components/ui/sidebar.tsx
|
|
44529
|
-
import { jsx as
|
|
44942
|
+
import { jsx as jsx183, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
44530
44943
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
44531
44944
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
44532
44945
|
var SIDEBAR_WIDTH = "16rem";
|
|
44533
44946
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
44534
44947
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
44535
44948
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
44536
|
-
var SidebarContext =
|
|
44949
|
+
var SidebarContext = React114.createContext(null);
|
|
44537
44950
|
function useSidebar() {
|
|
44538
|
-
const context =
|
|
44951
|
+
const context = React114.useContext(SidebarContext);
|
|
44539
44952
|
if (!context) {
|
|
44540
44953
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
44541
44954
|
}
|
|
44542
44955
|
return context;
|
|
44543
44956
|
}
|
|
44544
|
-
var SidebarProvider =
|
|
44957
|
+
var SidebarProvider = React114.forwardRef(
|
|
44545
44958
|
({
|
|
44546
44959
|
defaultOpen = true,
|
|
44547
44960
|
open: openProp,
|
|
@@ -44552,10 +44965,10 @@ var SidebarProvider = React113.forwardRef(
|
|
|
44552
44965
|
...props
|
|
44553
44966
|
}, ref) => {
|
|
44554
44967
|
const isMobile = useIsMobile();
|
|
44555
|
-
const [openMobile, setOpenMobile] =
|
|
44556
|
-
const [_open, _setOpen] =
|
|
44968
|
+
const [openMobile, setOpenMobile] = React114.useState(false);
|
|
44969
|
+
const [_open, _setOpen] = React114.useState(defaultOpen);
|
|
44557
44970
|
const open = openProp ?? _open;
|
|
44558
|
-
const setOpen =
|
|
44971
|
+
const setOpen = React114.useCallback(
|
|
44559
44972
|
(value) => {
|
|
44560
44973
|
const openState = typeof value === "function" ? value(open) : value;
|
|
44561
44974
|
if (setOpenProp) {
|
|
@@ -44567,10 +44980,10 @@ var SidebarProvider = React113.forwardRef(
|
|
|
44567
44980
|
},
|
|
44568
44981
|
[setOpenProp, open]
|
|
44569
44982
|
);
|
|
44570
|
-
const toggleSidebar =
|
|
44983
|
+
const toggleSidebar = React114.useCallback(() => {
|
|
44571
44984
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
44572
44985
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
44573
|
-
|
|
44986
|
+
React114.useEffect(() => {
|
|
44574
44987
|
const handleKeyDown = (event) => {
|
|
44575
44988
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
44576
44989
|
event.preventDefault();
|
|
@@ -44581,7 +44994,7 @@ var SidebarProvider = React113.forwardRef(
|
|
|
44581
44994
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
44582
44995
|
}, [toggleSidebar]);
|
|
44583
44996
|
const state = open ? "expanded" : "collapsed";
|
|
44584
|
-
const contextValue =
|
|
44997
|
+
const contextValue = React114.useMemo(
|
|
44585
44998
|
() => ({
|
|
44586
44999
|
state,
|
|
44587
45000
|
open,
|
|
@@ -44593,7 +45006,7 @@ var SidebarProvider = React113.forwardRef(
|
|
|
44593
45006
|
}),
|
|
44594
45007
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
44595
45008
|
);
|
|
44596
|
-
return /* @__PURE__ */
|
|
45009
|
+
return /* @__PURE__ */ jsx183(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx183(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx183(
|
|
44597
45010
|
"div",
|
|
44598
45011
|
{
|
|
44599
45012
|
style: {
|
|
@@ -44613,7 +45026,7 @@ var SidebarProvider = React113.forwardRef(
|
|
|
44613
45026
|
}
|
|
44614
45027
|
);
|
|
44615
45028
|
SidebarProvider.displayName = "SidebarProvider";
|
|
44616
|
-
var Sidebar =
|
|
45029
|
+
var Sidebar = React114.forwardRef(
|
|
44617
45030
|
({
|
|
44618
45031
|
side = "left",
|
|
44619
45032
|
variant = "sidebar",
|
|
@@ -44624,7 +45037,7 @@ var Sidebar = React113.forwardRef(
|
|
|
44624
45037
|
}, ref) => {
|
|
44625
45038
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
44626
45039
|
if (collapsible === "none") {
|
|
44627
|
-
return /* @__PURE__ */
|
|
45040
|
+
return /* @__PURE__ */ jsx183(
|
|
44628
45041
|
"div",
|
|
44629
45042
|
{
|
|
44630
45043
|
className: cn(
|
|
@@ -44638,7 +45051,7 @@ var Sidebar = React113.forwardRef(
|
|
|
44638
45051
|
);
|
|
44639
45052
|
}
|
|
44640
45053
|
if (isMobile) {
|
|
44641
|
-
return /* @__PURE__ */
|
|
45054
|
+
return /* @__PURE__ */ jsx183(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs137(
|
|
44642
45055
|
SheetContent,
|
|
44643
45056
|
{
|
|
44644
45057
|
"data-sidebar": "sidebar",
|
|
@@ -44649,16 +45062,16 @@ var Sidebar = React113.forwardRef(
|
|
|
44649
45062
|
},
|
|
44650
45063
|
side,
|
|
44651
45064
|
children: [
|
|
44652
|
-
/* @__PURE__ */
|
|
44653
|
-
/* @__PURE__ */
|
|
44654
|
-
/* @__PURE__ */
|
|
45065
|
+
/* @__PURE__ */ jsxs137(SheetHeader, { className: "sr-only", children: [
|
|
45066
|
+
/* @__PURE__ */ jsx183(SheetTitle, { children: "Sidebar" }),
|
|
45067
|
+
/* @__PURE__ */ jsx183(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
44655
45068
|
] }),
|
|
44656
|
-
/* @__PURE__ */
|
|
45069
|
+
/* @__PURE__ */ jsx183("div", { className: "flex h-full w-full flex-col", children })
|
|
44657
45070
|
]
|
|
44658
45071
|
}
|
|
44659
45072
|
) });
|
|
44660
45073
|
}
|
|
44661
|
-
return /* @__PURE__ */
|
|
45074
|
+
return /* @__PURE__ */ jsxs137(
|
|
44662
45075
|
"div",
|
|
44663
45076
|
{
|
|
44664
45077
|
ref,
|
|
@@ -44668,7 +45081,7 @@ var Sidebar = React113.forwardRef(
|
|
|
44668
45081
|
"data-variant": variant,
|
|
44669
45082
|
"data-side": side,
|
|
44670
45083
|
children: [
|
|
44671
|
-
/* @__PURE__ */
|
|
45084
|
+
/* @__PURE__ */ jsx183(
|
|
44672
45085
|
"div",
|
|
44673
45086
|
{
|
|
44674
45087
|
className: cn(
|
|
@@ -44679,7 +45092,7 @@ var Sidebar = React113.forwardRef(
|
|
|
44679
45092
|
)
|
|
44680
45093
|
}
|
|
44681
45094
|
),
|
|
44682
|
-
/* @__PURE__ */
|
|
45095
|
+
/* @__PURE__ */ jsx183(
|
|
44683
45096
|
"div",
|
|
44684
45097
|
{
|
|
44685
45098
|
className: cn(
|
|
@@ -44690,7 +45103,7 @@ var Sidebar = React113.forwardRef(
|
|
|
44690
45103
|
className
|
|
44691
45104
|
),
|
|
44692
45105
|
...props,
|
|
44693
|
-
children: /* @__PURE__ */
|
|
45106
|
+
children: /* @__PURE__ */ jsx183(
|
|
44694
45107
|
"div",
|
|
44695
45108
|
{
|
|
44696
45109
|
"data-sidebar": "sidebar",
|
|
@@ -44706,9 +45119,9 @@ var Sidebar = React113.forwardRef(
|
|
|
44706
45119
|
}
|
|
44707
45120
|
);
|
|
44708
45121
|
Sidebar.displayName = "Sidebar";
|
|
44709
|
-
var SidebarTrigger =
|
|
45122
|
+
var SidebarTrigger = React114.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
44710
45123
|
const { toggleSidebar } = useSidebar();
|
|
44711
|
-
return /* @__PURE__ */
|
|
45124
|
+
return /* @__PURE__ */ jsxs137(
|
|
44712
45125
|
Button,
|
|
44713
45126
|
{
|
|
44714
45127
|
ref,
|
|
@@ -44722,16 +45135,16 @@ var SidebarTrigger = React113.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
44722
45135
|
},
|
|
44723
45136
|
...props,
|
|
44724
45137
|
children: [
|
|
44725
|
-
/* @__PURE__ */
|
|
44726
|
-
/* @__PURE__ */
|
|
45138
|
+
/* @__PURE__ */ jsx183(PanelLeft, {}),
|
|
45139
|
+
/* @__PURE__ */ jsx183("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
44727
45140
|
]
|
|
44728
45141
|
}
|
|
44729
45142
|
);
|
|
44730
45143
|
});
|
|
44731
45144
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
44732
|
-
var SidebarRail =
|
|
45145
|
+
var SidebarRail = React114.forwardRef(({ className, ...props }, ref) => {
|
|
44733
45146
|
const { toggleSidebar } = useSidebar();
|
|
44734
|
-
return /* @__PURE__ */
|
|
45147
|
+
return /* @__PURE__ */ jsx183(
|
|
44735
45148
|
"button",
|
|
44736
45149
|
{
|
|
44737
45150
|
ref,
|
|
@@ -44754,8 +45167,8 @@ var SidebarRail = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44754
45167
|
);
|
|
44755
45168
|
});
|
|
44756
45169
|
SidebarRail.displayName = "SidebarRail";
|
|
44757
|
-
var SidebarInset =
|
|
44758
|
-
return /* @__PURE__ */
|
|
45170
|
+
var SidebarInset = React114.forwardRef(({ className, ...props }, ref) => {
|
|
45171
|
+
return /* @__PURE__ */ jsx183(
|
|
44759
45172
|
"main",
|
|
44760
45173
|
{
|
|
44761
45174
|
ref,
|
|
@@ -44769,8 +45182,8 @@ var SidebarInset = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44769
45182
|
);
|
|
44770
45183
|
});
|
|
44771
45184
|
SidebarInset.displayName = "SidebarInset";
|
|
44772
|
-
var SidebarInput =
|
|
44773
|
-
return /* @__PURE__ */
|
|
45185
|
+
var SidebarInput = React114.forwardRef(({ className, ...props }, ref) => {
|
|
45186
|
+
return /* @__PURE__ */ jsx183(
|
|
44774
45187
|
Input,
|
|
44775
45188
|
{
|
|
44776
45189
|
ref,
|
|
@@ -44784,8 +45197,8 @@ var SidebarInput = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44784
45197
|
);
|
|
44785
45198
|
});
|
|
44786
45199
|
SidebarInput.displayName = "SidebarInput";
|
|
44787
|
-
var SidebarHeader =
|
|
44788
|
-
return /* @__PURE__ */
|
|
45200
|
+
var SidebarHeader = React114.forwardRef(({ className, ...props }, ref) => {
|
|
45201
|
+
return /* @__PURE__ */ jsx183(
|
|
44789
45202
|
"div",
|
|
44790
45203
|
{
|
|
44791
45204
|
ref,
|
|
@@ -44796,8 +45209,8 @@ var SidebarHeader = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44796
45209
|
);
|
|
44797
45210
|
});
|
|
44798
45211
|
SidebarHeader.displayName = "SidebarHeader";
|
|
44799
|
-
var SidebarFooter =
|
|
44800
|
-
return /* @__PURE__ */
|
|
45212
|
+
var SidebarFooter = React114.forwardRef(({ className, ...props }, ref) => {
|
|
45213
|
+
return /* @__PURE__ */ jsx183(
|
|
44801
45214
|
"div",
|
|
44802
45215
|
{
|
|
44803
45216
|
ref,
|
|
@@ -44808,8 +45221,8 @@ var SidebarFooter = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44808
45221
|
);
|
|
44809
45222
|
});
|
|
44810
45223
|
SidebarFooter.displayName = "SidebarFooter";
|
|
44811
|
-
var SidebarSeparator =
|
|
44812
|
-
return /* @__PURE__ */
|
|
45224
|
+
var SidebarSeparator = React114.forwardRef(({ className, ...props }, ref) => {
|
|
45225
|
+
return /* @__PURE__ */ jsx183(
|
|
44813
45226
|
Separator2,
|
|
44814
45227
|
{
|
|
44815
45228
|
ref,
|
|
@@ -44820,8 +45233,8 @@ var SidebarSeparator = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44820
45233
|
);
|
|
44821
45234
|
});
|
|
44822
45235
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
44823
|
-
var SidebarContent =
|
|
44824
|
-
return /* @__PURE__ */
|
|
45236
|
+
var SidebarContent = React114.forwardRef(({ className, ...props }, ref) => {
|
|
45237
|
+
return /* @__PURE__ */ jsx183(
|
|
44825
45238
|
"div",
|
|
44826
45239
|
{
|
|
44827
45240
|
ref,
|
|
@@ -44835,8 +45248,8 @@ var SidebarContent = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44835
45248
|
);
|
|
44836
45249
|
});
|
|
44837
45250
|
SidebarContent.displayName = "SidebarContent";
|
|
44838
|
-
var SidebarGroup =
|
|
44839
|
-
return /* @__PURE__ */
|
|
45251
|
+
var SidebarGroup = React114.forwardRef(({ className, ...props }, ref) => {
|
|
45252
|
+
return /* @__PURE__ */ jsx183(
|
|
44840
45253
|
"div",
|
|
44841
45254
|
{
|
|
44842
45255
|
ref,
|
|
@@ -44847,9 +45260,9 @@ var SidebarGroup = React113.forwardRef(({ className, ...props }, ref) => {
|
|
|
44847
45260
|
);
|
|
44848
45261
|
});
|
|
44849
45262
|
SidebarGroup.displayName = "SidebarGroup";
|
|
44850
|
-
var SidebarGroupLabel =
|
|
45263
|
+
var SidebarGroupLabel = React114.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
44851
45264
|
const Comp = asChild ? Slot6 : "div";
|
|
44852
|
-
return /* @__PURE__ */
|
|
45265
|
+
return /* @__PURE__ */ jsx183(
|
|
44853
45266
|
Comp,
|
|
44854
45267
|
{
|
|
44855
45268
|
ref,
|
|
@@ -44864,9 +45277,9 @@ var SidebarGroupLabel = React113.forwardRef(({ className, asChild = false, ...pr
|
|
|
44864
45277
|
);
|
|
44865
45278
|
});
|
|
44866
45279
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
44867
|
-
var SidebarGroupAction =
|
|
45280
|
+
var SidebarGroupAction = React114.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
44868
45281
|
const Comp = asChild ? Slot6 : "button";
|
|
44869
|
-
return /* @__PURE__ */
|
|
45282
|
+
return /* @__PURE__ */ jsx183(
|
|
44870
45283
|
Comp,
|
|
44871
45284
|
{
|
|
44872
45285
|
ref,
|
|
@@ -44883,7 +45296,7 @@ var SidebarGroupAction = React113.forwardRef(({ className, asChild = false, ...p
|
|
|
44883
45296
|
);
|
|
44884
45297
|
});
|
|
44885
45298
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
44886
|
-
var SidebarGroupContent =
|
|
45299
|
+
var SidebarGroupContent = React114.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx183(
|
|
44887
45300
|
"div",
|
|
44888
45301
|
{
|
|
44889
45302
|
ref,
|
|
@@ -44893,7 +45306,7 @@ var SidebarGroupContent = React113.forwardRef(({ className, ...props }, ref) =>
|
|
|
44893
45306
|
}
|
|
44894
45307
|
));
|
|
44895
45308
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
44896
|
-
var SidebarMenu =
|
|
45309
|
+
var SidebarMenu = React114.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx183(
|
|
44897
45310
|
"ul",
|
|
44898
45311
|
{
|
|
44899
45312
|
ref,
|
|
@@ -44903,7 +45316,7 @@ var SidebarMenu = React113.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
44903
45316
|
}
|
|
44904
45317
|
));
|
|
44905
45318
|
SidebarMenu.displayName = "SidebarMenu";
|
|
44906
|
-
var SidebarMenuItem =
|
|
45319
|
+
var SidebarMenuItem = React114.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx183(
|
|
44907
45320
|
"li",
|
|
44908
45321
|
{
|
|
44909
45322
|
ref,
|
|
@@ -44933,7 +45346,7 @@ var sidebarMenuButtonVariants = cva13(
|
|
|
44933
45346
|
}
|
|
44934
45347
|
}
|
|
44935
45348
|
);
|
|
44936
|
-
var SidebarMenuButton =
|
|
45349
|
+
var SidebarMenuButton = React114.forwardRef(
|
|
44937
45350
|
({
|
|
44938
45351
|
asChild = false,
|
|
44939
45352
|
isActive = false,
|
|
@@ -44945,7 +45358,7 @@ var SidebarMenuButton = React113.forwardRef(
|
|
|
44945
45358
|
}, ref) => {
|
|
44946
45359
|
const Comp = asChild ? Slot6 : "button";
|
|
44947
45360
|
const { isMobile, state } = useSidebar();
|
|
44948
|
-
const button = /* @__PURE__ */
|
|
45361
|
+
const button = /* @__PURE__ */ jsx183(
|
|
44949
45362
|
Comp,
|
|
44950
45363
|
{
|
|
44951
45364
|
ref,
|
|
@@ -44964,9 +45377,9 @@ var SidebarMenuButton = React113.forwardRef(
|
|
|
44964
45377
|
children: tooltip
|
|
44965
45378
|
};
|
|
44966
45379
|
}
|
|
44967
|
-
return /* @__PURE__ */
|
|
44968
|
-
/* @__PURE__ */
|
|
44969
|
-
/* @__PURE__ */
|
|
45380
|
+
return /* @__PURE__ */ jsxs137(Tooltip, { children: [
|
|
45381
|
+
/* @__PURE__ */ jsx183(TooltipTrigger, { asChild: true, children: button }),
|
|
45382
|
+
/* @__PURE__ */ jsx183(
|
|
44970
45383
|
TooltipContent,
|
|
44971
45384
|
{
|
|
44972
45385
|
side: "right",
|
|
@@ -44979,9 +45392,9 @@ var SidebarMenuButton = React113.forwardRef(
|
|
|
44979
45392
|
}
|
|
44980
45393
|
);
|
|
44981
45394
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
44982
|
-
var SidebarMenuAction =
|
|
45395
|
+
var SidebarMenuAction = React114.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
44983
45396
|
const Comp = asChild ? Slot6 : "button";
|
|
44984
|
-
return /* @__PURE__ */
|
|
45397
|
+
return /* @__PURE__ */ jsx183(
|
|
44985
45398
|
Comp,
|
|
44986
45399
|
{
|
|
44987
45400
|
ref,
|
|
@@ -45002,7 +45415,7 @@ var SidebarMenuAction = React113.forwardRef(({ className, asChild = false, showO
|
|
|
45002
45415
|
);
|
|
45003
45416
|
});
|
|
45004
45417
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
45005
|
-
var SidebarMenuBadge =
|
|
45418
|
+
var SidebarMenuBadge = React114.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx183(
|
|
45006
45419
|
"div",
|
|
45007
45420
|
{
|
|
45008
45421
|
ref,
|
|
@@ -45020,11 +45433,11 @@ var SidebarMenuBadge = React113.forwardRef(({ className, ...props }, ref) => /*
|
|
|
45020
45433
|
}
|
|
45021
45434
|
));
|
|
45022
45435
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
45023
|
-
var SidebarMenuSkeleton =
|
|
45024
|
-
const width =
|
|
45436
|
+
var SidebarMenuSkeleton = React114.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
45437
|
+
const width = React114.useMemo(() => {
|
|
45025
45438
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
45026
45439
|
}, []);
|
|
45027
|
-
return /* @__PURE__ */
|
|
45440
|
+
return /* @__PURE__ */ jsxs137(
|
|
45028
45441
|
"div",
|
|
45029
45442
|
{
|
|
45030
45443
|
ref,
|
|
@@ -45032,14 +45445,14 @@ var SidebarMenuSkeleton = React113.forwardRef(({ className, showIcon = false, ..
|
|
|
45032
45445
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
45033
45446
|
...props,
|
|
45034
45447
|
children: [
|
|
45035
|
-
showIcon && /* @__PURE__ */
|
|
45448
|
+
showIcon && /* @__PURE__ */ jsx183(
|
|
45036
45449
|
Skeleton,
|
|
45037
45450
|
{
|
|
45038
45451
|
className: "size-4 rounded-md",
|
|
45039
45452
|
"data-sidebar": "menu-skeleton-icon"
|
|
45040
45453
|
}
|
|
45041
45454
|
),
|
|
45042
|
-
/* @__PURE__ */
|
|
45455
|
+
/* @__PURE__ */ jsx183(
|
|
45043
45456
|
Skeleton,
|
|
45044
45457
|
{
|
|
45045
45458
|
className: "h-4 max-w-[--skeleton-width] flex-1",
|
|
@@ -45054,7 +45467,7 @@ var SidebarMenuSkeleton = React113.forwardRef(({ className, showIcon = false, ..
|
|
|
45054
45467
|
);
|
|
45055
45468
|
});
|
|
45056
45469
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
45057
|
-
var SidebarMenuSub =
|
|
45470
|
+
var SidebarMenuSub = React114.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx183(
|
|
45058
45471
|
"ul",
|
|
45059
45472
|
{
|
|
45060
45473
|
ref,
|
|
@@ -45068,11 +45481,11 @@ var SidebarMenuSub = React113.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
45068
45481
|
}
|
|
45069
45482
|
));
|
|
45070
45483
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
45071
|
-
var SidebarMenuSubItem =
|
|
45484
|
+
var SidebarMenuSubItem = React114.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx183("li", { ref, ...props }));
|
|
45072
45485
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
45073
|
-
var SidebarMenuSubButton =
|
|
45486
|
+
var SidebarMenuSubButton = React114.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
45074
45487
|
const Comp = asChild ? Slot6 : "a";
|
|
45075
|
-
return /* @__PURE__ */
|
|
45488
|
+
return /* @__PURE__ */ jsx183(
|
|
45076
45489
|
Comp,
|
|
45077
45490
|
{
|
|
45078
45491
|
ref,
|
|
@@ -45096,20 +45509,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
45096
45509
|
// src/components/ui/sonner.tsx
|
|
45097
45510
|
import { useTheme } from "next-themes";
|
|
45098
45511
|
import { Toaster as Sonner } from "sonner";
|
|
45099
|
-
import { jsx as
|
|
45512
|
+
import { jsx as jsx184 } from "react/jsx-runtime";
|
|
45100
45513
|
var Toaster = ({ ...props }) => {
|
|
45101
45514
|
const { theme = "system" } = useTheme();
|
|
45102
|
-
return /* @__PURE__ */
|
|
45515
|
+
return /* @__PURE__ */ jsx184(
|
|
45103
45516
|
Sonner,
|
|
45104
45517
|
{
|
|
45105
45518
|
theme,
|
|
45106
45519
|
className: "toaster group",
|
|
45107
45520
|
icons: {
|
|
45108
|
-
success: /* @__PURE__ */
|
|
45109
|
-
info: /* @__PURE__ */
|
|
45110
|
-
warning: /* @__PURE__ */
|
|
45111
|
-
error: /* @__PURE__ */
|
|
45112
|
-
loading: /* @__PURE__ */
|
|
45521
|
+
success: /* @__PURE__ */ jsx184(CircleCheck, { className: "h-4 w-4" }),
|
|
45522
|
+
info: /* @__PURE__ */ jsx184(Info, { className: "h-4 w-4" }),
|
|
45523
|
+
warning: /* @__PURE__ */ jsx184(TriangleAlert, { className: "h-4 w-4" }),
|
|
45524
|
+
error: /* @__PURE__ */ jsx184(OctagonX, { className: "h-4 w-4" }),
|
|
45525
|
+
loading: /* @__PURE__ */ jsx184(LoaderCircle, { className: "h-4 w-4 animate-spin" })
|
|
45113
45526
|
},
|
|
45114
45527
|
toastOptions: {
|
|
45115
45528
|
classNames: {
|
|
@@ -45125,26 +45538,26 @@ var Toaster = ({ ...props }) => {
|
|
|
45125
45538
|
};
|
|
45126
45539
|
|
|
45127
45540
|
// src/components/ui/toggle-group.tsx
|
|
45128
|
-
import * as
|
|
45541
|
+
import * as React115 from "react";
|
|
45129
45542
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
45130
|
-
import { jsx as
|
|
45131
|
-
var ToggleGroupContext =
|
|
45543
|
+
import { jsx as jsx185 } from "react/jsx-runtime";
|
|
45544
|
+
var ToggleGroupContext = React115.createContext({
|
|
45132
45545
|
size: "default",
|
|
45133
45546
|
variant: "default"
|
|
45134
45547
|
});
|
|
45135
|
-
var ToggleGroup =
|
|
45548
|
+
var ToggleGroup = React115.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx185(
|
|
45136
45549
|
ToggleGroupPrimitive.Root,
|
|
45137
45550
|
{
|
|
45138
45551
|
ref,
|
|
45139
45552
|
className: cn("flex items-center justify-center gap-1", className),
|
|
45140
45553
|
...props,
|
|
45141
|
-
children: /* @__PURE__ */
|
|
45554
|
+
children: /* @__PURE__ */ jsx185(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
45142
45555
|
}
|
|
45143
45556
|
));
|
|
45144
45557
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
45145
|
-
var ToggleGroupItem =
|
|
45146
|
-
const context =
|
|
45147
|
-
return /* @__PURE__ */
|
|
45558
|
+
var ToggleGroupItem = React115.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
45559
|
+
const context = React115.useContext(ToggleGroupContext);
|
|
45560
|
+
return /* @__PURE__ */ jsx185(
|
|
45148
45561
|
ToggleGroupPrimitive.Item,
|
|
45149
45562
|
{
|
|
45150
45563
|
ref,
|
|
@@ -45163,7 +45576,7 @@ var ToggleGroupItem = React114.forwardRef(({ className, children, variant, size,
|
|
|
45163
45576
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
45164
45577
|
|
|
45165
45578
|
// src/render/PXEngineRenderer.tsx
|
|
45166
|
-
import { jsx as
|
|
45579
|
+
import { jsx as jsx186, jsxs as jsxs138 } from "react/jsx-runtime";
|
|
45167
45580
|
var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
|
|
45168
45581
|
// Form components - require FormField + FormItem context
|
|
45169
45582
|
"FormLabel",
|
|
@@ -45268,24 +45681,24 @@ var REGISTERED_COMPONENTS = /* @__PURE__ */ new Set([
|
|
|
45268
45681
|
]);
|
|
45269
45682
|
var renderContextDependentError = (componentName, normalizedName, key) => {
|
|
45270
45683
|
const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
|
|
45271
|
-
return /* @__PURE__ */
|
|
45684
|
+
return /* @__PURE__ */ jsxs138(
|
|
45272
45685
|
"div",
|
|
45273
45686
|
{
|
|
45274
45687
|
className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
|
|
45275
45688
|
children: [
|
|
45276
|
-
/* @__PURE__ */
|
|
45277
|
-
/* @__PURE__ */
|
|
45278
|
-
/* @__PURE__ */
|
|
45279
|
-
/* @__PURE__ */
|
|
45689
|
+
/* @__PURE__ */ jsxs138("div", { className: "flex items-start gap-2", children: [
|
|
45690
|
+
/* @__PURE__ */ jsx186("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
|
|
45691
|
+
/* @__PURE__ */ jsxs138("div", { className: "flex-1", children: [
|
|
45692
|
+
/* @__PURE__ */ jsxs138("p", { className: "text-sm font-semibold text-amber-900", children: [
|
|
45280
45693
|
"Invalid Component: ",
|
|
45281
45694
|
componentName
|
|
45282
45695
|
] }),
|
|
45283
|
-
/* @__PURE__ */
|
|
45696
|
+
/* @__PURE__ */ jsx186("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
|
|
45284
45697
|
] })
|
|
45285
45698
|
] }),
|
|
45286
|
-
/* @__PURE__ */
|
|
45287
|
-
/* @__PURE__ */
|
|
45288
|
-
/* @__PURE__ */
|
|
45699
|
+
/* @__PURE__ */ jsxs138("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
|
|
45700
|
+
/* @__PURE__ */ jsx186("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
|
|
45701
|
+
/* @__PURE__ */ jsx186("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
|
|
45289
45702
|
] })
|
|
45290
45703
|
]
|
|
45291
45704
|
},
|
|
@@ -45363,12 +45776,12 @@ var PXEngineRenderer = ({
|
|
|
45363
45776
|
const root = schema.root || schema;
|
|
45364
45777
|
const renderRecursive = (component, index) => {
|
|
45365
45778
|
if (Array.isArray(component)) {
|
|
45366
|
-
return /* @__PURE__ */
|
|
45779
|
+
return /* @__PURE__ */ jsx186(React116.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
|
|
45367
45780
|
}
|
|
45368
45781
|
if (typeof component === "string" || typeof component === "number") {
|
|
45369
45782
|
return component;
|
|
45370
45783
|
}
|
|
45371
|
-
if (
|
|
45784
|
+
if (React116.isValidElement(component)) {
|
|
45372
45785
|
return component;
|
|
45373
45786
|
}
|
|
45374
45787
|
if (!component || typeof component !== "object") return null;
|
|
@@ -45450,7 +45863,7 @@ var PXEngineRenderer = ({
|
|
|
45450
45863
|
const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
|
|
45451
45864
|
const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
|
|
45452
45865
|
if (isAtomWithRenderProp) {
|
|
45453
|
-
return /* @__PURE__ */
|
|
45866
|
+
return /* @__PURE__ */ jsx186(
|
|
45454
45867
|
TargetComponent,
|
|
45455
45868
|
{
|
|
45456
45869
|
...finalProps,
|
|
@@ -45462,7 +45875,7 @@ var PXEngineRenderer = ({
|
|
|
45462
45875
|
uniqueKey
|
|
45463
45876
|
);
|
|
45464
45877
|
} else {
|
|
45465
|
-
return /* @__PURE__ */
|
|
45878
|
+
return /* @__PURE__ */ jsx186(
|
|
45466
45879
|
TargetComponent,
|
|
45467
45880
|
{
|
|
45468
45881
|
...finalProps,
|
|
@@ -45474,7 +45887,7 @@ var PXEngineRenderer = ({
|
|
|
45474
45887
|
);
|
|
45475
45888
|
}
|
|
45476
45889
|
};
|
|
45477
|
-
return /* @__PURE__ */
|
|
45890
|
+
return /* @__PURE__ */ jsx186("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
|
|
45478
45891
|
};
|
|
45479
45892
|
export {
|
|
45480
45893
|
Accordion,
|
|
@@ -45713,6 +46126,7 @@ export {
|
|
|
45713
46126
|
RatingAtom,
|
|
45714
46127
|
RecommendationCard,
|
|
45715
46128
|
ResearchBriefCard,
|
|
46129
|
+
ResearchReportJobCard,
|
|
45716
46130
|
ResizableAtom,
|
|
45717
46131
|
ResizablePanel,
|
|
45718
46132
|
ResizablePanelGroup,
|