pxengine 0.1.84 → 0.1.86
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 +1125 -874
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +65 -1
- package/dist/index.d.ts +65 -1
- package/dist/index.mjs +1104 -854
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +99 -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 React117 from "react";
|
|
9
9
|
|
|
10
10
|
// src/atoms/index.ts
|
|
11
11
|
var atoms_exports = {};
|
|
@@ -33638,6 +33638,7 @@ __export(molecules_exports, {
|
|
|
33638
33638
|
TagCloud: () => TagCloud,
|
|
33639
33639
|
TimelineCard: () => TimelineCard,
|
|
33640
33640
|
TopPostsGrid: () => TopPostsGrid,
|
|
33641
|
+
WebSearchJobCard: () => WebSearchJobCard,
|
|
33641
33642
|
defaultFetchSelections: () => defaultFetchSelections,
|
|
33642
33643
|
defaultPersistSelection: () => defaultPersistSelection,
|
|
33643
33644
|
th: () => th,
|
|
@@ -39029,7 +39030,7 @@ var PresentationJobCard = ({
|
|
|
39029
39030
|
const hasHtml = Boolean(formats.html_url);
|
|
39030
39031
|
return /* @__PURE__ */ jsxs108(Fragment5, { children: [
|
|
39031
39032
|
/* @__PURE__ */ jsx147("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxs108("div", { className: "bg-zinc-900 border border-zinc-800 rounded-2xl overflow-hidden", children: [
|
|
39032
|
-
/* @__PURE__ */ jsx147("div", { className: "h-[3px]
|
|
39033
|
+
/* @__PURE__ */ jsx147("div", { className: "h-[3px]", style: { background: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)" } }),
|
|
39033
39034
|
/* @__PURE__ */ jsxs108("div", { className: "p-5", children: [
|
|
39034
39035
|
/* @__PURE__ */ jsxs108("div", { className: "flex items-start gap-3", children: [
|
|
39035
39036
|
/* @__PURE__ */ jsx147("div", { className: "w-10 h-10 rounded-xl bg-indigo-500/10 border border-indigo-500/20 flex items-center justify-center flex-shrink-0 text-indigo-400", children: /* @__PURE__ */ jsx147(SlidesIcon, {}) }),
|
|
@@ -39240,27 +39241,30 @@ var FullscreenPreviewModal = ({ url, title, onClose }) => {
|
|
|
39240
39241
|
) })
|
|
39241
39242
|
] });
|
|
39242
39243
|
};
|
|
39243
|
-
var ResearchReportJobCard = ({
|
|
39244
|
-
|
|
39245
|
-
|
|
39246
|
-
|
|
39247
|
-
|
|
39248
|
-
|
|
39249
|
-
|
|
39250
|
-
|
|
39251
|
-
|
|
39252
|
-
|
|
39253
|
-
|
|
39254
|
-
|
|
39255
|
-
|
|
39256
|
-
|
|
39257
|
-
|
|
39258
|
-
|
|
39259
|
-
|
|
39260
|
-
|
|
39261
|
-
|
|
39262
|
-
|
|
39263
|
-
|
|
39244
|
+
var ResearchReportJobCard = (props) => {
|
|
39245
|
+
const {
|
|
39246
|
+
job_id: _job_id,
|
|
39247
|
+
title: initialTitle,
|
|
39248
|
+
status: initialStatus,
|
|
39249
|
+
topic: _initialTopic,
|
|
39250
|
+
depth: initialDepth,
|
|
39251
|
+
section_count: initialSectionCount,
|
|
39252
|
+
source_count: initialSourceCount,
|
|
39253
|
+
word_count: initialWordCount,
|
|
39254
|
+
executive_summary: initialSummary,
|
|
39255
|
+
key_findings: _initialFindings,
|
|
39256
|
+
html_url: initialHtmlUrl,
|
|
39257
|
+
theme: initialTheme,
|
|
39258
|
+
error: initialError,
|
|
39259
|
+
pollUrl,
|
|
39260
|
+
authToken,
|
|
39261
|
+
className,
|
|
39262
|
+
onComplete,
|
|
39263
|
+
onFailed,
|
|
39264
|
+
compact = false
|
|
39265
|
+
} = props;
|
|
39266
|
+
const inferredStatus = initialStatus ?? (initialHtmlUrl ? "complete" : void 0);
|
|
39267
|
+
const [status, setStatus] = useState11(inferredStatus);
|
|
39264
39268
|
const [title, setTitle] = useState11(initialTitle);
|
|
39265
39269
|
const [depth, setDepth] = useState11(initialDepth || "");
|
|
39266
39270
|
const [sectionCount, setSectionCount] = useState11(initialSectionCount ?? 0);
|
|
@@ -39280,8 +39284,9 @@ var ResearchReportJobCard = ({
|
|
|
39280
39284
|
onCompleteRef.current = onComplete;
|
|
39281
39285
|
onFailedRef.current = onFailed;
|
|
39282
39286
|
useEffect7(() => {
|
|
39283
|
-
|
|
39284
|
-
|
|
39287
|
+
const newStatus = initialStatus ?? (initialHtmlUrl ? "complete" : void 0);
|
|
39288
|
+
setStatus(newStatus);
|
|
39289
|
+
}, [initialStatus, initialHtmlUrl]);
|
|
39285
39290
|
useEffect7(() => {
|
|
39286
39291
|
if (initialTitle) setTitle(initialTitle);
|
|
39287
39292
|
}, [initialTitle]);
|
|
@@ -39406,6 +39411,31 @@ var ResearchReportJobCard = ({
|
|
|
39406
39411
|
] })
|
|
39407
39412
|
] }) }) });
|
|
39408
39413
|
}
|
|
39414
|
+
if (status === "complete" && !hasHTML) {
|
|
39415
|
+
return /* @__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: [
|
|
39416
|
+
/* @__PURE__ */ jsx148(
|
|
39417
|
+
"div",
|
|
39418
|
+
{
|
|
39419
|
+
className: "h-[3px]",
|
|
39420
|
+
style: { background: "linear-gradient(90deg, #f59e0b, #fbbf24, #fcd34d)" }
|
|
39421
|
+
}
|
|
39422
|
+
),
|
|
39423
|
+
/* @__PURE__ */ jsx148("div", { className: "p-5", children: /* @__PURE__ */ jsxs109("div", { className: "flex items-start gap-3", children: [
|
|
39424
|
+
/* @__PURE__ */ jsx148(
|
|
39425
|
+
"div",
|
|
39426
|
+
{
|
|
39427
|
+
className: "w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0 bg-amber-500/10 border border-amber-500/20",
|
|
39428
|
+
children: /* @__PURE__ */ jsx148(DocumentIcon, {})
|
|
39429
|
+
}
|
|
39430
|
+
),
|
|
39431
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex-1 min-w-0", children: [
|
|
39432
|
+
/* @__PURE__ */ jsx148("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title }),
|
|
39433
|
+
/* @__PURE__ */ jsx148("p", { className: "text-xs text-amber-400/80 mt-1", children: "Report generated but file upload failed. The content was created successfully." }),
|
|
39434
|
+
summary && /* @__PURE__ */ jsx148("p", { className: "text-xs text-zinc-500 mt-2 line-clamp-2", children: summary })
|
|
39435
|
+
] })
|
|
39436
|
+
] }) })
|
|
39437
|
+
] }) });
|
|
39438
|
+
}
|
|
39409
39439
|
const handleDownload = async () => {
|
|
39410
39440
|
if (!htmlUrl) return;
|
|
39411
39441
|
const filename = `${title.replace(/[^a-z0-9]/gi, "-").toLowerCase()}.html`;
|
|
@@ -39433,7 +39463,7 @@ var ResearchReportJobCard = ({
|
|
|
39433
39463
|
{
|
|
39434
39464
|
className: "h-[3px]",
|
|
39435
39465
|
style: {
|
|
39436
|
-
background:
|
|
39466
|
+
background: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)"
|
|
39437
39467
|
}
|
|
39438
39468
|
}
|
|
39439
39469
|
),
|
|
@@ -39493,7 +39523,7 @@ var ResearchReportJobCard = ({
|
|
|
39493
39523
|
)
|
|
39494
39524
|
] })
|
|
39495
39525
|
] }),
|
|
39496
|
-
hasHTML && /* @__PURE__ */ jsx148("div", { className: "mt-4", children: /* @__PURE__ */ jsxs109(
|
|
39526
|
+
hasHTML && !compact && /* @__PURE__ */ jsx148("div", { className: "mt-4", children: /* @__PURE__ */ jsxs109(
|
|
39497
39527
|
"div",
|
|
39498
39528
|
{
|
|
39499
39529
|
ref: previewRef,
|
|
@@ -39526,7 +39556,7 @@ var ResearchReportJobCard = ({
|
|
|
39526
39556
|
]
|
|
39527
39557
|
}
|
|
39528
39558
|
) }),
|
|
39529
|
-
!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 }) })
|
|
39559
|
+
!hasHTML && !compact && 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 }) })
|
|
39530
39560
|
] })
|
|
39531
39561
|
] }) }),
|
|
39532
39562
|
showPreview && hasHTML && /* @__PURE__ */ jsx148(
|
|
@@ -39540,11 +39570,205 @@ var ResearchReportJobCard = ({
|
|
|
39540
39570
|
] });
|
|
39541
39571
|
};
|
|
39542
39572
|
|
|
39573
|
+
// src/molecules/generic/WebSearchJobCard/WebSearchJobCard.tsx
|
|
39574
|
+
import { useEffect as useEffect8, useRef as useRef7, useState as useState12 } from "react";
|
|
39575
|
+
import { jsx as jsx149, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
39576
|
+
var SearchIcon = () => /* @__PURE__ */ jsxs110("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
39577
|
+
/* @__PURE__ */ jsx149("circle", { cx: "11", cy: "11", r: "8" }),
|
|
39578
|
+
/* @__PURE__ */ jsx149("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })
|
|
39579
|
+
] });
|
|
39580
|
+
var ExternalLinkIcon = () => /* @__PURE__ */ jsxs110("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
39581
|
+
/* @__PURE__ */ jsx149("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
|
|
39582
|
+
/* @__PURE__ */ jsx149("polyline", { points: "15 3 21 3 21 9" }),
|
|
39583
|
+
/* @__PURE__ */ jsx149("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
|
|
39584
|
+
] });
|
|
39585
|
+
var WebSearchJobCard = ({
|
|
39586
|
+
job_id: _job_id,
|
|
39587
|
+
title: initialTitle,
|
|
39588
|
+
status: initialStatus,
|
|
39589
|
+
query: initialQuery,
|
|
39590
|
+
result_count: initialResultCount,
|
|
39591
|
+
search_count: initialSearchCount,
|
|
39592
|
+
summary: initialSummary,
|
|
39593
|
+
results: initialResults,
|
|
39594
|
+
error: initialError,
|
|
39595
|
+
pollUrl,
|
|
39596
|
+
authToken,
|
|
39597
|
+
className,
|
|
39598
|
+
onComplete,
|
|
39599
|
+
onFailed,
|
|
39600
|
+
compact = false
|
|
39601
|
+
}) => {
|
|
39602
|
+
const [status, setStatus] = useState12(initialStatus);
|
|
39603
|
+
const [query, setQuery] = useState12(initialQuery || initialTitle || "");
|
|
39604
|
+
const [resultCount, setResultCount] = useState12(initialResultCount ?? 0);
|
|
39605
|
+
const [searchCount, setSearchCount] = useState12(initialSearchCount ?? 0);
|
|
39606
|
+
const [summary, setSummary] = useState12(initialSummary || "");
|
|
39607
|
+
const [results, setResults] = useState12(initialResults || []);
|
|
39608
|
+
const [error, setError] = useState12(initialError);
|
|
39609
|
+
const intervalRef = useRef7(null);
|
|
39610
|
+
const onCompleteRef = useRef7(onComplete);
|
|
39611
|
+
const onFailedRef = useRef7(onFailed);
|
|
39612
|
+
const hasNotifiedRef = useRef7(false);
|
|
39613
|
+
onCompleteRef.current = onComplete;
|
|
39614
|
+
onFailedRef.current = onFailed;
|
|
39615
|
+
useEffect8(() => {
|
|
39616
|
+
setStatus(initialStatus);
|
|
39617
|
+
}, [initialStatus]);
|
|
39618
|
+
useEffect8(() => {
|
|
39619
|
+
if (initialQuery) setQuery(initialQuery);
|
|
39620
|
+
}, [initialQuery]);
|
|
39621
|
+
useEffect8(() => {
|
|
39622
|
+
if (initialTitle && !initialQuery) setQuery(initialTitle);
|
|
39623
|
+
}, [initialTitle, initialQuery]);
|
|
39624
|
+
useEffect8(() => {
|
|
39625
|
+
if (initialResultCount !== void 0) setResultCount(initialResultCount);
|
|
39626
|
+
}, [initialResultCount]);
|
|
39627
|
+
useEffect8(() => {
|
|
39628
|
+
if (initialSearchCount !== void 0) setSearchCount(initialSearchCount);
|
|
39629
|
+
}, [initialSearchCount]);
|
|
39630
|
+
useEffect8(() => {
|
|
39631
|
+
if (initialSummary) setSummary(initialSummary);
|
|
39632
|
+
}, [initialSummary]);
|
|
39633
|
+
useEffect8(() => {
|
|
39634
|
+
if (initialResults) setResults(initialResults);
|
|
39635
|
+
}, [initialResults]);
|
|
39636
|
+
useEffect8(() => {
|
|
39637
|
+
if (initialError) setError(initialError);
|
|
39638
|
+
}, [initialError]);
|
|
39639
|
+
const isTerminal = status === "complete" || status === "failed";
|
|
39640
|
+
useEffect8(() => {
|
|
39641
|
+
if (isTerminal || !pollUrl) return;
|
|
39642
|
+
const poll = async () => {
|
|
39643
|
+
try {
|
|
39644
|
+
const headers = {};
|
|
39645
|
+
if (authToken) headers["Authorization"] = `Bearer ${authToken}`;
|
|
39646
|
+
const res = await fetch(pollUrl, { headers });
|
|
39647
|
+
if (!res.ok) return;
|
|
39648
|
+
const data = await res.json();
|
|
39649
|
+
const newStatus = data.status;
|
|
39650
|
+
setStatus(newStatus);
|
|
39651
|
+
if (newStatus === "complete" && data.output) {
|
|
39652
|
+
const output = data.output;
|
|
39653
|
+
setQuery(output.query || "");
|
|
39654
|
+
setResultCount(output.result_count ?? 0);
|
|
39655
|
+
setSearchCount(output.search_count ?? 0);
|
|
39656
|
+
setSummary(output.summary || "");
|
|
39657
|
+
setResults(output.results || []);
|
|
39658
|
+
if (!hasNotifiedRef.current && onCompleteRef.current) {
|
|
39659
|
+
hasNotifiedRef.current = true;
|
|
39660
|
+
onCompleteRef.current(output);
|
|
39661
|
+
}
|
|
39662
|
+
}
|
|
39663
|
+
if (newStatus === "failed") {
|
|
39664
|
+
const errorMsg = data.error || "Job failed";
|
|
39665
|
+
setError(errorMsg);
|
|
39666
|
+
if (!hasNotifiedRef.current && onFailedRef.current) {
|
|
39667
|
+
hasNotifiedRef.current = true;
|
|
39668
|
+
onFailedRef.current(errorMsg);
|
|
39669
|
+
}
|
|
39670
|
+
}
|
|
39671
|
+
} catch {
|
|
39672
|
+
}
|
|
39673
|
+
};
|
|
39674
|
+
poll();
|
|
39675
|
+
intervalRef.current = setInterval(poll, 3e3);
|
|
39676
|
+
return () => {
|
|
39677
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
39678
|
+
};
|
|
39679
|
+
}, [isTerminal, pollUrl, authToken]);
|
|
39680
|
+
useEffect8(() => {
|
|
39681
|
+
if (isTerminal && intervalRef.current) {
|
|
39682
|
+
clearInterval(intervalRef.current);
|
|
39683
|
+
intervalRef.current = null;
|
|
39684
|
+
}
|
|
39685
|
+
}, [isTerminal]);
|
|
39686
|
+
if (status === "pending" || status === "running") {
|
|
39687
|
+
return /* @__PURE__ */ jsx149("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxs110("div", { className: "relative overflow-hidden rounded-xl border border-zinc-200/70 dark:border-zinc-800/70 bg-zinc-100 dark:bg-zinc-900", children: [
|
|
39688
|
+
/* @__PURE__ */ jsxs110("div", { className: "p-5 space-y-3", children: [
|
|
39689
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex items-center gap-3", children: [
|
|
39690
|
+
/* @__PURE__ */ jsx149("div", { className: "w-10 h-10 rounded-xl bg-zinc-300 dark:bg-zinc-700 animate-pulse flex-shrink-0" }),
|
|
39691
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex-1 space-y-2", children: [
|
|
39692
|
+
/* @__PURE__ */ jsx149("div", { className: "h-[13px] w-[60%] rounded bg-zinc-300 dark:bg-zinc-700 animate-pulse" }),
|
|
39693
|
+
/* @__PURE__ */ jsx149("div", { className: "h-[10px] w-[25%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "80ms" } })
|
|
39694
|
+
] })
|
|
39695
|
+
] }),
|
|
39696
|
+
/* @__PURE__ */ jsx149("div", { className: "h-[9px] w-[85%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "120ms" } }),
|
|
39697
|
+
/* @__PURE__ */ jsx149("div", { className: "h-[9px] w-[70%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: "160ms" } }),
|
|
39698
|
+
/* @__PURE__ */ jsx149("div", { className: "space-y-2 pt-1", children: [0, 1, 2].map((i) => /* @__PURE__ */ jsxs110(
|
|
39699
|
+
"div",
|
|
39700
|
+
{
|
|
39701
|
+
className: "rounded-xl border border-zinc-200 dark:border-zinc-800 p-3 space-y-1.5",
|
|
39702
|
+
children: [
|
|
39703
|
+
/* @__PURE__ */ jsx149("div", { className: "h-[10px] w-[65%] rounded bg-zinc-300 dark:bg-zinc-700 animate-pulse", style: { animationDelay: `${200 + i * 80}ms` } }),
|
|
39704
|
+
/* @__PURE__ */ jsx149("div", { className: "h-[8px] w-[18%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: `${240 + i * 80}ms` } }),
|
|
39705
|
+
/* @__PURE__ */ jsx149("div", { className: "h-[8px] w-[90%] rounded bg-zinc-200 dark:bg-zinc-800 animate-pulse", style: { animationDelay: `${280 + i * 80}ms` } })
|
|
39706
|
+
]
|
|
39707
|
+
},
|
|
39708
|
+
i
|
|
39709
|
+
)) })
|
|
39710
|
+
] }),
|
|
39711
|
+
/* @__PURE__ */ jsx149("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" })
|
|
39712
|
+
] }) });
|
|
39713
|
+
}
|
|
39714
|
+
if (status === "failed") {
|
|
39715
|
+
return /* @__PURE__ */ jsx149("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx149("div", { className: "bg-red-950/20 border border-red-800/25 rounded-2xl p-5", children: /* @__PURE__ */ jsxs110("div", { className: "flex items-start gap-3", children: [
|
|
39716
|
+
/* @__PURE__ */ jsx149("span", { className: "text-red-400 text-base mt-0.5 flex-shrink-0", children: "\u26A0" }),
|
|
39717
|
+
/* @__PURE__ */ jsxs110("div", { children: [
|
|
39718
|
+
/* @__PURE__ */ jsx149("p", { className: "text-sm font-semibold text-red-300", children: "Web search failed" }),
|
|
39719
|
+
/* @__PURE__ */ jsx149("p", { className: "text-xs text-red-400/60 mt-1 leading-relaxed", children: error || "An unexpected error occurred. Please try again." })
|
|
39720
|
+
] })
|
|
39721
|
+
] }) }) });
|
|
39722
|
+
}
|
|
39723
|
+
const displayQuery = query || initialTitle || "Web Search";
|
|
39724
|
+
const statsText = [
|
|
39725
|
+
resultCount > 0 && `${resultCount} result${resultCount !== 1 ? "s" : ""}`,
|
|
39726
|
+
searchCount > 0 && `${searchCount} search${searchCount !== 1 ? "es" : ""}`
|
|
39727
|
+
].filter(Boolean).join(" \xB7 ");
|
|
39728
|
+
return /* @__PURE__ */ jsx149("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxs110("div", { className: "bg-zinc-900 border border-zinc-800 rounded-2xl overflow-hidden", children: [
|
|
39729
|
+
/* @__PURE__ */ jsx149(
|
|
39730
|
+
"div",
|
|
39731
|
+
{
|
|
39732
|
+
className: "h-[3px]",
|
|
39733
|
+
style: { background: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)" }
|
|
39734
|
+
}
|
|
39735
|
+
),
|
|
39736
|
+
/* @__PURE__ */ jsxs110("div", { className: "p-5", children: [
|
|
39737
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex items-start gap-3", children: [
|
|
39738
|
+
/* @__PURE__ */ jsx149("div", { className: "w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0 border border-amber-500/30 bg-amber-500/10 text-amber-400", children: /* @__PURE__ */ jsx149(SearchIcon, {}) }),
|
|
39739
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex-1 min-w-0", children: [
|
|
39740
|
+
/* @__PURE__ */ jsx149("h3", { className: "text-sm font-semibold text-zinc-100 leading-tight line-clamp-2", children: displayQuery }),
|
|
39741
|
+
statsText && /* @__PURE__ */ jsx149("p", { className: "text-xs text-zinc-500 mt-0.5", children: statsText })
|
|
39742
|
+
] })
|
|
39743
|
+
] }),
|
|
39744
|
+
summary && /* @__PURE__ */ jsx149("p", { className: "mt-3 text-xs text-zinc-400 leading-relaxed line-clamp-3", children: summary }),
|
|
39745
|
+
!compact && results.length > 0 && /* @__PURE__ */ jsx149("div", { className: "mt-4 space-y-2", children: results.map((result, i) => /* @__PURE__ */ jsxs110(
|
|
39746
|
+
"a",
|
|
39747
|
+
{
|
|
39748
|
+
href: result.url,
|
|
39749
|
+
target: "_blank",
|
|
39750
|
+
rel: "noopener noreferrer",
|
|
39751
|
+
className: "block rounded-xl border border-zinc-800 bg-zinc-800/40 hover:border-zinc-600 hover:bg-zinc-800/70 transition-colors p-3 group",
|
|
39752
|
+
children: [
|
|
39753
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex items-start justify-between gap-2", children: [
|
|
39754
|
+
/* @__PURE__ */ jsx149("span", { className: "text-xs font-medium text-zinc-200 group-hover:text-white leading-snug flex-1 line-clamp-2", children: result.title }),
|
|
39755
|
+
/* @__PURE__ */ jsx149("span", { className: "text-zinc-600 group-hover:text-zinc-400 flex-shrink-0 mt-0.5 transition-colors", children: /* @__PURE__ */ jsx149(ExternalLinkIcon, {}) })
|
|
39756
|
+
] }),
|
|
39757
|
+
result.source && /* @__PURE__ */ jsx149("span", { className: "inline-block mt-1 text-[10px] font-medium text-amber-500/70 bg-amber-500/10 border border-amber-500/20 rounded-md px-1.5 py-0.5", children: result.source }),
|
|
39758
|
+
result.snippet && /* @__PURE__ */ jsx149("p", { className: "mt-1.5 text-xs text-zinc-500 leading-relaxed line-clamp-2", children: result.snippet })
|
|
39759
|
+
]
|
|
39760
|
+
},
|
|
39761
|
+
i
|
|
39762
|
+
)) })
|
|
39763
|
+
] })
|
|
39764
|
+
] }) });
|
|
39765
|
+
};
|
|
39766
|
+
|
|
39543
39767
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
39544
|
-
import
|
|
39768
|
+
import React109, { useMemo as useMemo6 } from "react";
|
|
39545
39769
|
|
|
39546
39770
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
39547
|
-
import { useState as
|
|
39771
|
+
import { useState as useState13, useRef as useRef8, useEffect as useEffect9, useMemo as useMemo5 } from "react";
|
|
39548
39772
|
|
|
39549
39773
|
// src/lib/countries.ts
|
|
39550
39774
|
var countries = [
|
|
@@ -39751,15 +39975,15 @@ var countriesWithFlags = Object.fromEntries(
|
|
|
39751
39975
|
);
|
|
39752
39976
|
|
|
39753
39977
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
39754
|
-
import { jsx as
|
|
39978
|
+
import { jsx as jsx150, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
39755
39979
|
var CountrySelectEdit = ({
|
|
39756
39980
|
value,
|
|
39757
39981
|
onChange
|
|
39758
39982
|
}) => {
|
|
39759
|
-
const [isDropdownOpen, setIsDropdownOpen] =
|
|
39760
|
-
const [searchTerm, setSearchTerm] =
|
|
39761
|
-
const dropdownRef =
|
|
39762
|
-
|
|
39983
|
+
const [isDropdownOpen, setIsDropdownOpen] = useState13(false);
|
|
39984
|
+
const [searchTerm, setSearchTerm] = useState13("");
|
|
39985
|
+
const dropdownRef = useRef8(null);
|
|
39986
|
+
useEffect9(() => {
|
|
39763
39987
|
const handleClickOutside = (event) => {
|
|
39764
39988
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
39765
39989
|
setIsDropdownOpen(false);
|
|
@@ -39778,16 +40002,16 @@ var CountrySelectEdit = ({
|
|
|
39778
40002
|
}
|
|
39779
40003
|
return [];
|
|
39780
40004
|
}, [value]);
|
|
39781
|
-
return /* @__PURE__ */
|
|
39782
|
-
/* @__PURE__ */
|
|
39783
|
-
/* @__PURE__ */
|
|
40005
|
+
return /* @__PURE__ */ jsxs111("div", { className: "space-y-3", children: [
|
|
40006
|
+
/* @__PURE__ */ jsxs111("div", { className: "relative", ref: dropdownRef, children: [
|
|
40007
|
+
/* @__PURE__ */ jsxs111(
|
|
39784
40008
|
"div",
|
|
39785
40009
|
{
|
|
39786
40010
|
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",
|
|
39787
40011
|
onClick: () => setIsDropdownOpen(!isDropdownOpen),
|
|
39788
40012
|
children: [
|
|
39789
|
-
/* @__PURE__ */
|
|
39790
|
-
/* @__PURE__ */
|
|
40013
|
+
/* @__PURE__ */ jsx150("span", { className: "text-foreground", children: inputValue.length > 0 ? `${inputValue.length} ${inputValue.length === 1 ? "country" : "countries"} selected` : "Select countries..." }),
|
|
40014
|
+
/* @__PURE__ */ jsx150(
|
|
39791
40015
|
ChevronDown,
|
|
39792
40016
|
{
|
|
39793
40017
|
className: cn(
|
|
@@ -39799,8 +40023,8 @@ var CountrySelectEdit = ({
|
|
|
39799
40023
|
]
|
|
39800
40024
|
}
|
|
39801
40025
|
),
|
|
39802
|
-
isDropdownOpen && /* @__PURE__ */
|
|
39803
|
-
/* @__PURE__ */
|
|
40026
|
+
isDropdownOpen && /* @__PURE__ */ jsxs111("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: [
|
|
40027
|
+
/* @__PURE__ */ jsx150("div", { className: "p-2 border-b border-border", children: /* @__PURE__ */ jsx150(
|
|
39804
40028
|
"input",
|
|
39805
40029
|
{
|
|
39806
40030
|
type: "text",
|
|
@@ -39811,9 +40035,9 @@ var CountrySelectEdit = ({
|
|
|
39811
40035
|
onClick: (e) => e.stopPropagation()
|
|
39812
40036
|
}
|
|
39813
40037
|
) }),
|
|
39814
|
-
/* @__PURE__ */
|
|
40038
|
+
/* @__PURE__ */ jsx150("div", { className: "max-h-40 overflow-y-auto p-1", children: countries.filter(
|
|
39815
40039
|
(country) => country.name.toLowerCase().includes(searchTerm.toLowerCase()) || country.code.toLowerCase().includes(searchTerm.toLowerCase())
|
|
39816
|
-
).map((country) => /* @__PURE__ */
|
|
40040
|
+
).map((country) => /* @__PURE__ */ jsxs111(
|
|
39817
40041
|
"div",
|
|
39818
40042
|
{
|
|
39819
40043
|
className: cn(
|
|
@@ -39834,30 +40058,30 @@ var CountrySelectEdit = ({
|
|
|
39834
40058
|
}
|
|
39835
40059
|
},
|
|
39836
40060
|
children: [
|
|
39837
|
-
/* @__PURE__ */
|
|
39838
|
-
/* @__PURE__ */
|
|
39839
|
-
/* @__PURE__ */
|
|
40061
|
+
/* @__PURE__ */ jsxs111("div", { className: "flex items-center gap-2", children: [
|
|
40062
|
+
/* @__PURE__ */ jsx150("span", { className: "text-sm text-foreground", children: country.name }),
|
|
40063
|
+
/* @__PURE__ */ jsx150("span", { className: "text-xs text-muted-foreground font-mono", children: country.code })
|
|
39840
40064
|
] }),
|
|
39841
|
-
inputValue.includes(country.code) && /* @__PURE__ */
|
|
40065
|
+
inputValue.includes(country.code) && /* @__PURE__ */ jsx150(Check, { className: "h-4 w-4 text-purple500" })
|
|
39842
40066
|
]
|
|
39843
40067
|
},
|
|
39844
40068
|
country.code
|
|
39845
40069
|
)) })
|
|
39846
40070
|
] })
|
|
39847
40071
|
] }),
|
|
39848
|
-
inputValue.length > 0 && /* @__PURE__ */
|
|
40072
|
+
inputValue.length > 0 && /* @__PURE__ */ jsx150("div", { className: "flex flex-wrap gap-1.5", children: inputValue.map((countryCode) => /* @__PURE__ */ jsxs111(
|
|
39849
40073
|
Badge2,
|
|
39850
40074
|
{
|
|
39851
40075
|
className: "flex items-center gap-1 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium",
|
|
39852
40076
|
children: [
|
|
39853
40077
|
countryCode,
|
|
39854
|
-
/* @__PURE__ */
|
|
40078
|
+
/* @__PURE__ */ jsxs111(
|
|
39855
40079
|
"button",
|
|
39856
40080
|
{
|
|
39857
40081
|
onClick: () => onChange(inputValue.filter((c) => c !== countryCode)),
|
|
39858
40082
|
className: "hover:bg-purple200 rounded-full p-0.5 transition-colors",
|
|
39859
40083
|
children: [
|
|
39860
|
-
/* @__PURE__ */
|
|
40084
|
+
/* @__PURE__ */ jsx150(X, { className: "h-3 w-3" }),
|
|
39861
40085
|
" "
|
|
39862
40086
|
]
|
|
39863
40087
|
}
|
|
@@ -39875,13 +40099,13 @@ var CountrySelectDisplay = ({ value }) => {
|
|
|
39875
40099
|
return [];
|
|
39876
40100
|
}, [value]);
|
|
39877
40101
|
if (displayValues.length === 0) {
|
|
39878
|
-
return /* @__PURE__ */
|
|
40102
|
+
return /* @__PURE__ */ jsx150("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39879
40103
|
}
|
|
39880
|
-
return /* @__PURE__ */
|
|
40104
|
+
return /* @__PURE__ */ jsx150("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((item) => {
|
|
39881
40105
|
const country = countries.find(
|
|
39882
40106
|
(c) => c.code.toLowerCase() === item.toLowerCase() || c.name.toLowerCase() === item.toLowerCase()
|
|
39883
40107
|
);
|
|
39884
|
-
return /* @__PURE__ */
|
|
40108
|
+
return /* @__PURE__ */ jsx150(
|
|
39885
40109
|
"div",
|
|
39886
40110
|
{
|
|
39887
40111
|
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",
|
|
@@ -39915,22 +40139,22 @@ var KeywordBundlesEdit = ({
|
|
|
39915
40139
|
});
|
|
39916
40140
|
});
|
|
39917
40141
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
39918
|
-
return /* @__PURE__ */
|
|
39919
|
-
/* @__PURE__ */
|
|
39920
|
-
/* @__PURE__ */
|
|
40142
|
+
return /* @__PURE__ */ jsx150("div", { className: "space-y-6 pt-2", children: sortedPriorities.map((priority) => /* @__PURE__ */ jsxs111("div", { className: "space-y-3", children: [
|
|
40143
|
+
/* @__PURE__ */ jsxs111("div", { className: "flex items-center gap-2", children: [
|
|
40144
|
+
/* @__PURE__ */ jsxs111("div", { className: "inline-block px-3 py-1 bg-purple200 hover:bg-purple200 text-purpleText text-sm font-medium rounded-md uppercase", children: [
|
|
39921
40145
|
"Priority ",
|
|
39922
40146
|
priority
|
|
39923
40147
|
] }),
|
|
39924
|
-
/* @__PURE__ */
|
|
40148
|
+
/* @__PURE__ */ jsx150("div", { className: "h-px flex-1 bg-white/10" })
|
|
39925
40149
|
] }),
|
|
39926
|
-
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */
|
|
40150
|
+
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */ jsx150(
|
|
39927
40151
|
"div",
|
|
39928
40152
|
{
|
|
39929
40153
|
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",
|
|
39930
|
-
children: /* @__PURE__ */
|
|
39931
|
-
/* @__PURE__ */
|
|
39932
|
-
/* @__PURE__ */
|
|
39933
|
-
/* @__PURE__ */
|
|
40154
|
+
children: /* @__PURE__ */ jsxs111("div", { className: "flex flex-col gap-3", children: [
|
|
40155
|
+
/* @__PURE__ */ jsx150("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Keywords" }),
|
|
40156
|
+
/* @__PURE__ */ jsxs111("div", { className: "space-y-3", children: [
|
|
40157
|
+
/* @__PURE__ */ jsx150("div", { className: "flex flex-wrap gap-1.5", children: Array.isArray(bundle.keywords) && bundle.keywords.map((keyword, kIndex) => /* @__PURE__ */ jsxs111(
|
|
39934
40158
|
"div",
|
|
39935
40159
|
{
|
|
39936
40160
|
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",
|
|
@@ -39947,12 +40171,12 @@ var KeywordBundlesEdit = ({
|
|
|
39947
40171
|
},
|
|
39948
40172
|
children: [
|
|
39949
40173
|
keyword,
|
|
39950
|
-
/* @__PURE__ */
|
|
40174
|
+
/* @__PURE__ */ jsx150("span", { className: "ml-1 opacity-60 group-hover:opacity-100 transition-opacity", children: "\xD7" })
|
|
39951
40175
|
]
|
|
39952
40176
|
},
|
|
39953
40177
|
kIndex
|
|
39954
40178
|
)) }),
|
|
39955
|
-
/* @__PURE__ */
|
|
40179
|
+
/* @__PURE__ */ jsx150("div", { className: "flex gap-2", children: /* @__PURE__ */ jsx150(
|
|
39956
40180
|
"input",
|
|
39957
40181
|
{
|
|
39958
40182
|
type: "text",
|
|
@@ -39976,9 +40200,9 @@ var KeywordBundlesEdit = ({
|
|
|
39976
40200
|
}
|
|
39977
40201
|
) })
|
|
39978
40202
|
] }),
|
|
39979
|
-
/* @__PURE__ */
|
|
39980
|
-
/* @__PURE__ */
|
|
39981
|
-
/* @__PURE__ */
|
|
40203
|
+
/* @__PURE__ */ jsxs111("div", { className: "flex flex-col gap-1.5 mt-1", children: [
|
|
40204
|
+
/* @__PURE__ */ jsx150("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Priority Level (1-5)" }),
|
|
40205
|
+
/* @__PURE__ */ jsx150(
|
|
39982
40206
|
"input",
|
|
39983
40207
|
{
|
|
39984
40208
|
type: "number",
|
|
@@ -40006,7 +40230,7 @@ var KeywordBundlesEdit = ({
|
|
|
40006
40230
|
var KeywordBundlesDisplay = ({ value }) => {
|
|
40007
40231
|
const bundles = Array.isArray(value) ? value : [];
|
|
40008
40232
|
if (bundles.length === 0)
|
|
40009
|
-
return /* @__PURE__ */
|
|
40233
|
+
return /* @__PURE__ */ jsx150("span", { className: "text-gray-500 italic text-sm", children: "Not specified" });
|
|
40010
40234
|
const groups = {};
|
|
40011
40235
|
bundles.forEach((b, idx) => {
|
|
40012
40236
|
const p = Number(b?.priority) || idx + 1;
|
|
@@ -40019,17 +40243,17 @@ var KeywordBundlesDisplay = ({ value }) => {
|
|
|
40019
40243
|
groups[p].push(...keywords);
|
|
40020
40244
|
});
|
|
40021
40245
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
40022
|
-
return /* @__PURE__ */
|
|
40246
|
+
return /* @__PURE__ */ jsx150("div", { className: "space-y-4 pt-2", children: sortedPriorities.map((priority) => {
|
|
40023
40247
|
const deduped = Array.from(new Set(groups[priority]));
|
|
40024
|
-
return /* @__PURE__ */
|
|
40025
|
-
/* @__PURE__ */
|
|
40026
|
-
/* @__PURE__ */
|
|
40248
|
+
return /* @__PURE__ */ jsxs111("div", { className: "space-y-3", children: [
|
|
40249
|
+
/* @__PURE__ */ jsxs111("div", { className: "flex items-center gap-2", children: [
|
|
40250
|
+
/* @__PURE__ */ jsxs111("div", { className: "inline-block px-3 py-1 bg-purple200 hover:bg-purple200 text-purpleText text-sm font-medium rounded-md uppercase", children: [
|
|
40027
40251
|
"Priority ",
|
|
40028
40252
|
priority
|
|
40029
40253
|
] }),
|
|
40030
|
-
/* @__PURE__ */
|
|
40254
|
+
/* @__PURE__ */ jsx150("div", { className: "h-px flex-1 bg-white/10" })
|
|
40031
40255
|
] }),
|
|
40032
|
-
/* @__PURE__ */
|
|
40256
|
+
/* @__PURE__ */ jsx150("div", { className: "flex flex-wrap gap-2 pt-1", children: deduped.map((keyword) => /* @__PURE__ */ jsx150(
|
|
40033
40257
|
"div",
|
|
40034
40258
|
{
|
|
40035
40259
|
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",
|
|
@@ -40067,12 +40291,12 @@ var PlatformSelectEdit = ({
|
|
|
40067
40291
|
const options = useMemo5(() => {
|
|
40068
40292
|
return DEFAULT_PLATFORMS;
|
|
40069
40293
|
}, []);
|
|
40070
|
-
return /* @__PURE__ */
|
|
40294
|
+
return /* @__PURE__ */ jsx150("div", { className: "flex flex-wrap gap-4 py-2", children: options.map((platform) => /* @__PURE__ */ jsxs111(
|
|
40071
40295
|
"label",
|
|
40072
40296
|
{
|
|
40073
40297
|
className: "flex items-center gap-2 cursor-pointer group",
|
|
40074
40298
|
children: [
|
|
40075
|
-
/* @__PURE__ */
|
|
40299
|
+
/* @__PURE__ */ jsx150(
|
|
40076
40300
|
"div",
|
|
40077
40301
|
{
|
|
40078
40302
|
className: cn(
|
|
@@ -40080,10 +40304,10 @@ var PlatformSelectEdit = ({
|
|
|
40080
40304
|
isSelected(platform) ? "bg-purple-600 border-purple-600" : "border-gray-300 group-hover:border-purple-400"
|
|
40081
40305
|
),
|
|
40082
40306
|
onClick: () => togglePlatform(platform),
|
|
40083
|
-
children: isSelected(platform) && /* @__PURE__ */
|
|
40307
|
+
children: isSelected(platform) && /* @__PURE__ */ jsx150(Check, { className: "h-3.5 w-3.5 text-white stroke-[3]" })
|
|
40084
40308
|
}
|
|
40085
40309
|
),
|
|
40086
|
-
/* @__PURE__ */
|
|
40310
|
+
/* @__PURE__ */ jsx150("span", { className: "text-sm font-medium text-foreground select-none", children: platform })
|
|
40087
40311
|
]
|
|
40088
40312
|
},
|
|
40089
40313
|
platform
|
|
@@ -40098,9 +40322,9 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
40098
40322
|
return [];
|
|
40099
40323
|
}, [value]);
|
|
40100
40324
|
if (displayValues.length === 0) {
|
|
40101
|
-
return /* @__PURE__ */
|
|
40325
|
+
return /* @__PURE__ */ jsx150("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
40102
40326
|
}
|
|
40103
|
-
return /* @__PURE__ */
|
|
40327
|
+
return /* @__PURE__ */ jsx150("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((platform) => /* @__PURE__ */ jsx150(
|
|
40104
40328
|
"div",
|
|
40105
40329
|
{
|
|
40106
40330
|
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",
|
|
@@ -40111,21 +40335,21 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
40111
40335
|
};
|
|
40112
40336
|
|
|
40113
40337
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
40114
|
-
import { jsx as
|
|
40338
|
+
import { jsx as jsx151, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
40115
40339
|
var ObjectDisplay = ({ value }) => {
|
|
40116
40340
|
if (!value || typeof value !== "object") return null;
|
|
40117
|
-
return /* @__PURE__ */
|
|
40118
|
-
/* @__PURE__ */
|
|
40341
|
+
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: [
|
|
40342
|
+
/* @__PURE__ */ jsxs112("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
40119
40343
|
k.replace(/_/g, " "),
|
|
40120
40344
|
":"
|
|
40121
40345
|
] }),
|
|
40122
|
-
/* @__PURE__ */
|
|
40346
|
+
/* @__PURE__ */ jsx151("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
40123
40347
|
] }, k)) });
|
|
40124
40348
|
};
|
|
40125
40349
|
var StringArrayDisplay = ({ value }) => {
|
|
40126
40350
|
if (!Array.isArray(value) || value.length === 0)
|
|
40127
|
-
return /* @__PURE__ */
|
|
40128
|
-
return /* @__PURE__ */
|
|
40351
|
+
return /* @__PURE__ */ jsx151("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
40352
|
+
return /* @__PURE__ */ jsx151("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx151(
|
|
40129
40353
|
"div",
|
|
40130
40354
|
{
|
|
40131
40355
|
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",
|
|
@@ -40143,8 +40367,8 @@ function buildCampaignSeedFields(data) {
|
|
|
40143
40367
|
key,
|
|
40144
40368
|
label: "Keyword Bundles",
|
|
40145
40369
|
type: "custom",
|
|
40146
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40147
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40370
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(KeywordBundlesDisplay, { value: v }),
|
|
40371
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(
|
|
40148
40372
|
Textarea,
|
|
40149
40373
|
{
|
|
40150
40374
|
value: Array.isArray(v) ? v.map((b) => `${(b.keywords || []).join(", ")} (Priority: ${b.priority || 1})`).join("\n") : String(v || ""),
|
|
@@ -40176,8 +40400,8 @@ function buildCampaignSeedFields(data) {
|
|
|
40176
40400
|
key,
|
|
40177
40401
|
label: "Geography",
|
|
40178
40402
|
type: "custom",
|
|
40179
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40180
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40403
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(CountrySelectDisplay, { value: v }),
|
|
40404
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(CountrySelectEdit, { value: v, onChange })
|
|
40181
40405
|
};
|
|
40182
40406
|
}
|
|
40183
40407
|
if (key === "platforms" || key === "target_platforms" || key === "targetPlatforms") {
|
|
@@ -40185,8 +40409,8 @@ function buildCampaignSeedFields(data) {
|
|
|
40185
40409
|
key,
|
|
40186
40410
|
label: "Platforms",
|
|
40187
40411
|
type: "custom",
|
|
40188
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40189
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40412
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(PlatformSelectDisplay, { value: v }),
|
|
40413
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(
|
|
40190
40414
|
PlatformSelectEdit,
|
|
40191
40415
|
{
|
|
40192
40416
|
value: v,
|
|
@@ -40201,7 +40425,7 @@ function buildCampaignSeedFields(data) {
|
|
|
40201
40425
|
key,
|
|
40202
40426
|
label,
|
|
40203
40427
|
type: "custom",
|
|
40204
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40428
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(StringArrayDisplay, { value: v })
|
|
40205
40429
|
};
|
|
40206
40430
|
}
|
|
40207
40431
|
if (typeof value === "object" && value !== null && !Array.isArray(value) && "min" in value && "max" in value) {
|
|
@@ -40212,9 +40436,9 @@ function buildCampaignSeedFields(data) {
|
|
|
40212
40436
|
type: "custom",
|
|
40213
40437
|
renderDisplay: (v) => {
|
|
40214
40438
|
if (typeof v === "object" && v !== null) {
|
|
40215
|
-
return /* @__PURE__ */
|
|
40439
|
+
return /* @__PURE__ */ jsx151("span", { className: "text-foreground font-medium", children: `${v.min?.toLocaleString()} - ${v.max?.toLocaleString()}` });
|
|
40216
40440
|
}
|
|
40217
|
-
return /* @__PURE__ */
|
|
40441
|
+
return /* @__PURE__ */ jsx151("span", { className: "text-foreground font-medium", children: v });
|
|
40218
40442
|
}
|
|
40219
40443
|
};
|
|
40220
40444
|
}
|
|
@@ -40224,8 +40448,8 @@ function buildCampaignSeedFields(data) {
|
|
|
40224
40448
|
key,
|
|
40225
40449
|
label,
|
|
40226
40450
|
type: "custom",
|
|
40227
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40228
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40451
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx151(ObjectDisplay, { value: v }),
|
|
40452
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx151(
|
|
40229
40453
|
Textarea,
|
|
40230
40454
|
{
|
|
40231
40455
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -40250,7 +40474,7 @@ function buildCampaignSeedFields(data) {
|
|
|
40250
40474
|
return generated;
|
|
40251
40475
|
});
|
|
40252
40476
|
}
|
|
40253
|
-
var CampaignSeedCard =
|
|
40477
|
+
var CampaignSeedCard = React109.memo(
|
|
40254
40478
|
({
|
|
40255
40479
|
selectionStatus,
|
|
40256
40480
|
isLatestMessage = true,
|
|
@@ -40273,7 +40497,7 @@ var CampaignSeedCard = React108.memo(
|
|
|
40273
40497
|
});
|
|
40274
40498
|
};
|
|
40275
40499
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
40276
|
-
return /* @__PURE__ */
|
|
40500
|
+
return /* @__PURE__ */ jsx151("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx151(
|
|
40277
40501
|
FormCard,
|
|
40278
40502
|
{
|
|
40279
40503
|
...formCardProps,
|
|
@@ -40285,9 +40509,9 @@ var CampaignSeedCard = React108.memo(
|
|
|
40285
40509
|
showTimeline: true,
|
|
40286
40510
|
isLatestMessage: effectiveIsLatest,
|
|
40287
40511
|
className,
|
|
40288
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
40289
|
-
/* @__PURE__ */
|
|
40290
|
-
/* @__PURE__ */
|
|
40512
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs112("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
40513
|
+
/* @__PURE__ */ jsx151(CircleCheck, { className: "h-3 w-3" }),
|
|
40514
|
+
/* @__PURE__ */ jsx151("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
40291
40515
|
] }) : formCardProps.footer
|
|
40292
40516
|
}
|
|
40293
40517
|
) });
|
|
@@ -40296,22 +40520,22 @@ var CampaignSeedCard = React108.memo(
|
|
|
40296
40520
|
CampaignSeedCard.displayName = "CampaignSeedCard";
|
|
40297
40521
|
|
|
40298
40522
|
// src/molecules/creator-discovery/SearchSpecCard/SearchSpecCard.tsx
|
|
40299
|
-
import
|
|
40300
|
-
import { jsx as
|
|
40523
|
+
import React110, { useMemo as useMemo7 } from "react";
|
|
40524
|
+
import { jsx as jsx152, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
40301
40525
|
var ObjectDisplay2 = ({ value }) => {
|
|
40302
40526
|
if (!value || typeof value !== "object") return null;
|
|
40303
|
-
return /* @__PURE__ */
|
|
40304
|
-
/* @__PURE__ */
|
|
40527
|
+
return /* @__PURE__ */ jsx152("div", { className: "space-y-1 pt-1", children: Object.entries(value).map(([k, v]) => /* @__PURE__ */ jsxs113("div", { className: "flex gap-2 text-sm", children: [
|
|
40528
|
+
/* @__PURE__ */ jsxs113("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
40305
40529
|
k.replace(/_/g, " "),
|
|
40306
40530
|
":"
|
|
40307
40531
|
] }),
|
|
40308
|
-
/* @__PURE__ */
|
|
40532
|
+
/* @__PURE__ */ jsx152("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
40309
40533
|
] }, k)) });
|
|
40310
40534
|
};
|
|
40311
40535
|
var StringArrayDisplay2 = ({ value }) => {
|
|
40312
40536
|
if (!Array.isArray(value) || value.length === 0)
|
|
40313
|
-
return /* @__PURE__ */
|
|
40314
|
-
return /* @__PURE__ */
|
|
40537
|
+
return /* @__PURE__ */ jsx152("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
40538
|
+
return /* @__PURE__ */ jsx152("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx152(
|
|
40315
40539
|
"div",
|
|
40316
40540
|
{
|
|
40317
40541
|
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",
|
|
@@ -40329,8 +40553,8 @@ function buildSearchSpecFields(data) {
|
|
|
40329
40553
|
key,
|
|
40330
40554
|
label: "Keyword Bundles",
|
|
40331
40555
|
type: "custom",
|
|
40332
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40333
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40556
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx152(KeywordBundlesDisplay, { value: v }),
|
|
40557
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx152(KeywordBundlesEdit, { value: v, onChange })
|
|
40334
40558
|
};
|
|
40335
40559
|
}
|
|
40336
40560
|
if (key === "geography") {
|
|
@@ -40338,8 +40562,8 @@ function buildSearchSpecFields(data) {
|
|
|
40338
40562
|
key,
|
|
40339
40563
|
label: "Geography",
|
|
40340
40564
|
type: "custom",
|
|
40341
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40342
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40565
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx152(CountrySelectDisplay, { value: v }),
|
|
40566
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx152(CountrySelectEdit, { value: v, onChange })
|
|
40343
40567
|
};
|
|
40344
40568
|
}
|
|
40345
40569
|
if (key === "platforms" && Array.isArray(value)) {
|
|
@@ -40350,8 +40574,8 @@ function buildSearchSpecFields(data) {
|
|
|
40350
40574
|
config: {
|
|
40351
40575
|
options: data.platform_options || data.available_platforms || data.platforms_list || []
|
|
40352
40576
|
},
|
|
40353
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40354
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40577
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx152(PlatformSelectDisplay, { value: v }),
|
|
40578
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx152(
|
|
40355
40579
|
PlatformSelectEdit,
|
|
40356
40580
|
{
|
|
40357
40581
|
value: v,
|
|
@@ -40365,8 +40589,8 @@ function buildSearchSpecFields(data) {
|
|
|
40365
40589
|
key,
|
|
40366
40590
|
label: "Exclude Keywords",
|
|
40367
40591
|
type: "custom",
|
|
40368
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40369
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40592
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx152(StringArrayDisplay2, { value: v }),
|
|
40593
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx152(
|
|
40370
40594
|
Textarea,
|
|
40371
40595
|
{
|
|
40372
40596
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -40386,8 +40610,8 @@ function buildSearchSpecFields(data) {
|
|
|
40386
40610
|
key,
|
|
40387
40611
|
label,
|
|
40388
40612
|
type: "custom",
|
|
40389
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40390
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40613
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx152(ObjectDisplay2, { value: v }),
|
|
40614
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx152(
|
|
40391
40615
|
Textarea,
|
|
40392
40616
|
{
|
|
40393
40617
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -40412,7 +40636,7 @@ function buildSearchSpecFields(data) {
|
|
|
40412
40636
|
return generated;
|
|
40413
40637
|
});
|
|
40414
40638
|
}
|
|
40415
|
-
var SearchSpecCard =
|
|
40639
|
+
var SearchSpecCard = React110.memo(
|
|
40416
40640
|
({
|
|
40417
40641
|
selectionStatus,
|
|
40418
40642
|
isLatestMessage = true,
|
|
@@ -40440,7 +40664,7 @@ var SearchSpecCard = React109.memo(
|
|
|
40440
40664
|
});
|
|
40441
40665
|
};
|
|
40442
40666
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
40443
|
-
return /* @__PURE__ */
|
|
40667
|
+
return /* @__PURE__ */ jsx152("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx152(
|
|
40444
40668
|
FormCard,
|
|
40445
40669
|
{
|
|
40446
40670
|
...formCardProps,
|
|
@@ -40451,9 +40675,9 @@ var SearchSpecCard = React109.memo(
|
|
|
40451
40675
|
onProceed: handleProceed,
|
|
40452
40676
|
isLatestMessage: effectiveIsLatest,
|
|
40453
40677
|
className,
|
|
40454
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
40455
|
-
/* @__PURE__ */
|
|
40456
|
-
/* @__PURE__ */
|
|
40678
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs113("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-1", children: [
|
|
40679
|
+
/* @__PURE__ */ jsx152(CircleCheck, { className: "h-3 w-3" }),
|
|
40680
|
+
/* @__PURE__ */ jsx152("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
40457
40681
|
] }) : formCardProps.footer
|
|
40458
40682
|
}
|
|
40459
40683
|
) });
|
|
@@ -40462,7 +40686,7 @@ var SearchSpecCard = React109.memo(
|
|
|
40462
40686
|
SearchSpecCard.displayName = "SearchSpecCard";
|
|
40463
40687
|
|
|
40464
40688
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
40465
|
-
import
|
|
40689
|
+
import React111 from "react";
|
|
40466
40690
|
|
|
40467
40691
|
// src/molecules/creator-discovery/MCQCard/defaultFetchers.ts
|
|
40468
40692
|
function getBackendOrigin() {
|
|
@@ -40562,8 +40786,8 @@ async function defaultPersistSelection(sessionId, questionKey, value) {
|
|
|
40562
40786
|
}
|
|
40563
40787
|
|
|
40564
40788
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
40565
|
-
import { jsx as
|
|
40566
|
-
var MCQCard =
|
|
40789
|
+
import { jsx as jsx153, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
40790
|
+
var MCQCard = React111.memo(
|
|
40567
40791
|
({
|
|
40568
40792
|
question,
|
|
40569
40793
|
options,
|
|
@@ -40588,16 +40812,16 @@ var MCQCard = React110.memo(
|
|
|
40588
40812
|
const resolvedOptions = options || allProps.Options || allProps.opts || {};
|
|
40589
40813
|
const resolvedRecommended = recommended || allProps.Recommended || allProps.rec;
|
|
40590
40814
|
console.log("[MCQCard] FULL PROPS:", { allProps, resolvedQuestion, resolvedOptions: Object.keys(resolvedOptions || {}), resolvedRecommended });
|
|
40591
|
-
const [selectedOption, setSelectedOption] =
|
|
40592
|
-
const [isProceeded, setIsProceeded] =
|
|
40593
|
-
const fetchedSessionRef =
|
|
40594
|
-
|
|
40815
|
+
const [selectedOption, setSelectedOption] = React111.useState(propsSelectedOption);
|
|
40816
|
+
const [isProceeded, setIsProceeded] = React111.useState(false);
|
|
40817
|
+
const fetchedSessionRef = React111.useRef("");
|
|
40818
|
+
React111.useEffect(() => {
|
|
40595
40819
|
if (propsSelectedOption) {
|
|
40596
40820
|
setSelectedOption(propsSelectedOption);
|
|
40597
40821
|
setIsProceeded(true);
|
|
40598
40822
|
}
|
|
40599
40823
|
}, [propsSelectedOption]);
|
|
40600
|
-
const buildQuestionKey =
|
|
40824
|
+
const buildQuestionKey = React111.useCallback((sid, question2) => {
|
|
40601
40825
|
let hash = 2166136261;
|
|
40602
40826
|
for (let i = 0; i < question2.length; i++) {
|
|
40603
40827
|
hash ^= question2.charCodeAt(i);
|
|
@@ -40605,7 +40829,7 @@ var MCQCard = React110.memo(
|
|
|
40605
40829
|
}
|
|
40606
40830
|
return `mcq_${sid}_${hash.toString(36)}`;
|
|
40607
40831
|
}, []);
|
|
40608
|
-
|
|
40832
|
+
React111.useEffect(() => {
|
|
40609
40833
|
if (!sessionId || !resolvedQuestion) return;
|
|
40610
40834
|
const fetchKey = `${sessionId}::${resolvedQuestion}`;
|
|
40611
40835
|
if (fetchedSessionRef.current === fetchKey) return;
|
|
@@ -40668,7 +40892,7 @@ A: ${label}`);
|
|
|
40668
40892
|
key,
|
|
40669
40893
|
typeof val === "string" ? val : typeof val === "object" && val !== null ? val.label || val.description || val.id || JSON.stringify(val) : String(val ?? "")
|
|
40670
40894
|
]) : [];
|
|
40671
|
-
return /* @__PURE__ */
|
|
40895
|
+
return /* @__PURE__ */ jsxs114(
|
|
40672
40896
|
"div",
|
|
40673
40897
|
{
|
|
40674
40898
|
className: cn(
|
|
@@ -40676,11 +40900,11 @@ A: ${label}`);
|
|
|
40676
40900
|
className
|
|
40677
40901
|
),
|
|
40678
40902
|
children: [
|
|
40679
|
-
/* @__PURE__ */
|
|
40680
|
-
/* @__PURE__ */
|
|
40903
|
+
/* @__PURE__ */ jsx153("div", { className: "mb-4", children: /* @__PURE__ */ jsx153("p", { className: "text-sm text-cardText", children: resolvedQuestion || "Select an option:" }) }),
|
|
40904
|
+
/* @__PURE__ */ jsx153("div", { className: "space-y-2.5 mb-4", children: optionsEntries.map(([key, label]) => {
|
|
40681
40905
|
const isSelected = selectedOption === key;
|
|
40682
40906
|
const isRecommended = key === recommended;
|
|
40683
|
-
return /* @__PURE__ */
|
|
40907
|
+
return /* @__PURE__ */ jsx153(
|
|
40684
40908
|
"div",
|
|
40685
40909
|
{
|
|
40686
40910
|
onClick: (e) => handleOptionClick(key, e),
|
|
@@ -40691,8 +40915,8 @@ A: ${label}`);
|
|
|
40691
40915
|
!selectedOption && !isOptionsDisabled && "hover:border-gray500",
|
|
40692
40916
|
(isLoading || isOptionsDisabled) && "opacity-50 cursor-not-allowed"
|
|
40693
40917
|
),
|
|
40694
|
-
children: /* @__PURE__ */
|
|
40695
|
-
/* @__PURE__ */
|
|
40918
|
+
children: /* @__PURE__ */ jsxs114("div", { className: "flex items-start gap-3", children: [
|
|
40919
|
+
/* @__PURE__ */ jsx153("div", { className: "mt-0.5 flex-shrink-0", children: /* @__PURE__ */ jsx153(
|
|
40696
40920
|
"div",
|
|
40697
40921
|
{
|
|
40698
40922
|
className: cn(
|
|
@@ -40702,19 +40926,19 @@ A: ${label}`);
|
|
|
40702
40926
|
!selectedOption && !isOptionsDisabled && "hover:border-gold"
|
|
40703
40927
|
)
|
|
40704
40928
|
),
|
|
40705
|
-
children: isSelected && /* @__PURE__ */
|
|
40929
|
+
children: isSelected && /* @__PURE__ */ jsx153("div", { className: "w-2 h-2 rounded-full bg-gold" })
|
|
40706
40930
|
}
|
|
40707
40931
|
) }),
|
|
40708
|
-
/* @__PURE__ */
|
|
40709
|
-
isRecommended && /* @__PURE__ */
|
|
40710
|
-
/* @__PURE__ */
|
|
40932
|
+
/* @__PURE__ */ jsxs114("div", { className: "flex-1 min-w-0", children: [
|
|
40933
|
+
isRecommended && /* @__PURE__ */ jsx153("p", { className: "text-xs font-semibold text-gold mb-1", children: "Recommended" }),
|
|
40934
|
+
/* @__PURE__ */ jsx153("p", { className: "text-sm text-cardText", children: label })
|
|
40711
40935
|
] })
|
|
40712
40936
|
] })
|
|
40713
40937
|
},
|
|
40714
40938
|
key
|
|
40715
40939
|
);
|
|
40716
40940
|
}) }),
|
|
40717
|
-
/* @__PURE__ */
|
|
40941
|
+
/* @__PURE__ */ jsx153("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx153(
|
|
40718
40942
|
"button",
|
|
40719
40943
|
{
|
|
40720
40944
|
onClick: handleProceed,
|
|
@@ -40735,8 +40959,8 @@ A: ${label}`);
|
|
|
40735
40959
|
MCQCard.displayName = "MCQCard";
|
|
40736
40960
|
|
|
40737
40961
|
// src/molecules/creator-discovery/PlatformIconGroup/PlatformIconGroup.tsx
|
|
40738
|
-
import { jsx as
|
|
40739
|
-
var TikTokIcon = ({ className }) => /* @__PURE__ */
|
|
40962
|
+
import { jsx as jsx154 } from "react/jsx-runtime";
|
|
40963
|
+
var TikTokIcon = ({ className }) => /* @__PURE__ */ jsx154(Video, { className });
|
|
40740
40964
|
var PlatformIconGroup = ({
|
|
40741
40965
|
platforms,
|
|
40742
40966
|
className
|
|
@@ -40769,10 +40993,10 @@ var PlatformIconGroup = ({
|
|
|
40769
40993
|
return "text-gray-500 bg-gray-50 border-gray-100";
|
|
40770
40994
|
}
|
|
40771
40995
|
};
|
|
40772
|
-
return /* @__PURE__ */
|
|
40996
|
+
return /* @__PURE__ */ jsx154("div", { className: cn("flex gap-2", className), children: platforms.map((p, i) => {
|
|
40773
40997
|
const Icon3 = getIcon(p.platform);
|
|
40774
40998
|
if (!Icon3) return null;
|
|
40775
|
-
return /* @__PURE__ */
|
|
40999
|
+
return /* @__PURE__ */ jsx154(
|
|
40776
41000
|
"a",
|
|
40777
41001
|
{
|
|
40778
41002
|
href: p.url || "#",
|
|
@@ -40783,7 +41007,7 @@ var PlatformIconGroup = ({
|
|
|
40783
41007
|
"p-1.5 rounded-lg border transition-colors flex items-center justify-center",
|
|
40784
41008
|
getColors(p.platform)
|
|
40785
41009
|
),
|
|
40786
|
-
children: /* @__PURE__ */
|
|
41010
|
+
children: /* @__PURE__ */ jsx154(Icon3, { className: "w-4 h-4" })
|
|
40787
41011
|
},
|
|
40788
41012
|
i
|
|
40789
41013
|
);
|
|
@@ -40791,7 +41015,7 @@ var PlatformIconGroup = ({
|
|
|
40791
41015
|
};
|
|
40792
41016
|
|
|
40793
41017
|
// src/molecules/creator-discovery/CreatorProfileSummary/CreatorProfileSummary.tsx
|
|
40794
|
-
import { jsx as
|
|
41018
|
+
import { jsx as jsx155, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
40795
41019
|
var CreatorProfileSummary = ({
|
|
40796
41020
|
avatarSrc,
|
|
40797
41021
|
name,
|
|
@@ -40799,7 +41023,7 @@ var CreatorProfileSummary = ({
|
|
|
40799
41023
|
engagementRate,
|
|
40800
41024
|
className
|
|
40801
41025
|
}) => {
|
|
40802
|
-
return /* @__PURE__ */
|
|
41026
|
+
return /* @__PURE__ */ jsxs115(
|
|
40803
41027
|
"div",
|
|
40804
41028
|
{
|
|
40805
41029
|
className: cn(
|
|
@@ -40807,7 +41031,7 @@ var CreatorProfileSummary = ({
|
|
|
40807
41031
|
className
|
|
40808
41032
|
),
|
|
40809
41033
|
children: [
|
|
40810
|
-
/* @__PURE__ */
|
|
41034
|
+
/* @__PURE__ */ jsx155(
|
|
40811
41035
|
AvatarAtom,
|
|
40812
41036
|
{
|
|
40813
41037
|
id: `avatar-${name}`,
|
|
@@ -40817,8 +41041,8 @@ var CreatorProfileSummary = ({
|
|
|
40817
41041
|
className: "w-12 h-12 ring-2 ring-purple-100"
|
|
40818
41042
|
}
|
|
40819
41043
|
),
|
|
40820
|
-
/* @__PURE__ */
|
|
40821
|
-
/* @__PURE__ */
|
|
41044
|
+
/* @__PURE__ */ jsxs115("div", { className: "flex flex-col flex-1", children: [
|
|
41045
|
+
/* @__PURE__ */ jsx155(
|
|
40822
41046
|
TextAtom,
|
|
40823
41047
|
{
|
|
40824
41048
|
id: `name-${name}`,
|
|
@@ -40828,14 +41052,14 @@ var CreatorProfileSummary = ({
|
|
|
40828
41052
|
className: "text-gray-900 leading-tight"
|
|
40829
41053
|
}
|
|
40830
41054
|
),
|
|
40831
|
-
/* @__PURE__ */
|
|
40832
|
-
followerCount && /* @__PURE__ */
|
|
40833
|
-
/* @__PURE__ */
|
|
40834
|
-
/* @__PURE__ */
|
|
41055
|
+
/* @__PURE__ */ jsxs115("div", { className: "flex gap-3 mt-1", children: [
|
|
41056
|
+
followerCount && /* @__PURE__ */ jsxs115("div", { className: "flex flex-col", children: [
|
|
41057
|
+
/* @__PURE__ */ jsx155("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Followers" }),
|
|
41058
|
+
/* @__PURE__ */ jsx155("span", { className: "text-xs font-semibold text-purple-700", children: followerCount })
|
|
40835
41059
|
] }),
|
|
40836
|
-
engagementRate && /* @__PURE__ */
|
|
40837
|
-
/* @__PURE__ */
|
|
40838
|
-
/* @__PURE__ */
|
|
41060
|
+
engagementRate && /* @__PURE__ */ jsxs115("div", { className: "flex flex-col border-l border-purple-100 pl-3", children: [
|
|
41061
|
+
/* @__PURE__ */ jsx155("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Engagement" }),
|
|
41062
|
+
/* @__PURE__ */ jsx155("span", { className: "text-xs font-semibold text-indigo-600", children: engagementRate })
|
|
40839
41063
|
] })
|
|
40840
41064
|
] })
|
|
40841
41065
|
] })
|
|
@@ -40845,13 +41069,13 @@ var CreatorProfileSummary = ({
|
|
|
40845
41069
|
};
|
|
40846
41070
|
|
|
40847
41071
|
// src/molecules/creator-discovery/AudienceMetricCard/AudienceMetricCard.tsx
|
|
40848
|
-
import { jsx as
|
|
41072
|
+
import { jsx as jsx156, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
40849
41073
|
var AudienceMetricCard = ({
|
|
40850
41074
|
title,
|
|
40851
41075
|
metrics,
|
|
40852
41076
|
className
|
|
40853
41077
|
}) => {
|
|
40854
|
-
return /* @__PURE__ */
|
|
41078
|
+
return /* @__PURE__ */ jsxs116(
|
|
40855
41079
|
Card,
|
|
40856
41080
|
{
|
|
40857
41081
|
className: cn(
|
|
@@ -40859,13 +41083,13 @@ var AudienceMetricCard = ({
|
|
|
40859
41083
|
className
|
|
40860
41084
|
),
|
|
40861
41085
|
children: [
|
|
40862
|
-
/* @__PURE__ */
|
|
40863
|
-
/* @__PURE__ */
|
|
40864
|
-
/* @__PURE__ */
|
|
40865
|
-
/* @__PURE__ */
|
|
40866
|
-
/* @__PURE__ */
|
|
41086
|
+
/* @__PURE__ */ jsx156(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx156(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
41087
|
+
/* @__PURE__ */ jsx156(CardContent, { className: "space-y-4", children: metrics.map((metric, i) => /* @__PURE__ */ jsxs116("div", { className: "space-y-1.5", children: [
|
|
41088
|
+
/* @__PURE__ */ jsxs116("div", { className: "flex justify-between items-center text-sm", children: [
|
|
41089
|
+
/* @__PURE__ */ jsx156("span", { className: "font-medium text-gray-700", children: metric.label }),
|
|
41090
|
+
/* @__PURE__ */ jsx156("span", { className: "font-bold text-gray-900", children: metric.value })
|
|
40867
41091
|
] }),
|
|
40868
|
-
metric.percentage !== void 0 && /* @__PURE__ */
|
|
41092
|
+
metric.percentage !== void 0 && /* @__PURE__ */ jsx156(
|
|
40869
41093
|
ProgressAtom,
|
|
40870
41094
|
{
|
|
40871
41095
|
id: `progress-${i}`,
|
|
@@ -40882,8 +41106,8 @@ var AudienceMetricCard = ({
|
|
|
40882
41106
|
};
|
|
40883
41107
|
|
|
40884
41108
|
// src/molecules/creator-discovery/CreatorGridCard/CreatorGridCard.tsx
|
|
40885
|
-
import { jsx as
|
|
40886
|
-
var TikTokIcon2 = ({ className }) => /* @__PURE__ */
|
|
41109
|
+
import { jsx as jsx157, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
41110
|
+
var TikTokIcon2 = ({ className }) => /* @__PURE__ */ jsx157(Video, { className });
|
|
40887
41111
|
var CreatorGridCard = ({
|
|
40888
41112
|
bannerSrc,
|
|
40889
41113
|
avatarSrc,
|
|
@@ -40911,7 +41135,7 @@ var CreatorGridCard = ({
|
|
|
40911
41135
|
const safePlatforms = Array.isArray(platforms) ? platforms : [];
|
|
40912
41136
|
const safeMetrics = Array.isArray(metrics) ? metrics : [];
|
|
40913
41137
|
const displayName = typeof name === "string" ? name : String(name || "");
|
|
40914
|
-
return /* @__PURE__ */
|
|
41138
|
+
return /* @__PURE__ */ jsxs117(
|
|
40915
41139
|
Card,
|
|
40916
41140
|
{
|
|
40917
41141
|
className: cn(
|
|
@@ -40919,43 +41143,43 @@ var CreatorGridCard = ({
|
|
|
40919
41143
|
className
|
|
40920
41144
|
),
|
|
40921
41145
|
children: [
|
|
40922
|
-
/* @__PURE__ */
|
|
40923
|
-
bannerSrc ? /* @__PURE__ */
|
|
41146
|
+
/* @__PURE__ */ jsxs117("div", { className: "relative h-32 w-full overflow-hidden", children: [
|
|
41147
|
+
bannerSrc ? /* @__PURE__ */ jsx157(
|
|
40924
41148
|
"img",
|
|
40925
41149
|
{
|
|
40926
41150
|
src: bannerSrc,
|
|
40927
41151
|
alt: displayName,
|
|
40928
41152
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40929
41153
|
}
|
|
40930
|
-
) : /* @__PURE__ */
|
|
40931
|
-
/* @__PURE__ */
|
|
41154
|
+
) : /* @__PURE__ */ jsx157("div", { className: "h-full w-full bg-gradient-to-br from-purple-500 to-indigo-600" }),
|
|
41155
|
+
/* @__PURE__ */ jsx157("div", { className: "absolute inset-x-0 bottom-0 h-1/2 bg-gradient-to-t from-black/20 to-transparent" })
|
|
40932
41156
|
] }),
|
|
40933
|
-
/* @__PURE__ */
|
|
40934
|
-
/* @__PURE__ */
|
|
40935
|
-
/* @__PURE__ */
|
|
40936
|
-
/* @__PURE__ */
|
|
41157
|
+
/* @__PURE__ */ jsxs117(CardContent, { className: "relative pt-0 px-5 pb-6", children: [
|
|
41158
|
+
/* @__PURE__ */ jsx157("div", { className: "absolute -top-10 left-5", children: /* @__PURE__ */ jsxs117(Avatar, { className: "h-20 w-20 border-4 border-[var(--card-background)] shadow-lg ring-2 ring-purple-100/20", children: [
|
|
41159
|
+
/* @__PURE__ */ jsx157(AvatarImage, { src: avatarSrc, alt: displayName }),
|
|
41160
|
+
/* @__PURE__ */ jsx157(AvatarFallback, { className: "bg-purple-500/10 text-purple-500 font-bold text-xl", children: displayName.charAt(0) || "?" })
|
|
40937
41161
|
] }) }),
|
|
40938
|
-
/* @__PURE__ */
|
|
40939
|
-
/* @__PURE__ */
|
|
40940
|
-
/* @__PURE__ */
|
|
41162
|
+
/* @__PURE__ */ jsxs117("div", { className: "mt-12 flex flex-col gap-1", children: [
|
|
41163
|
+
/* @__PURE__ */ jsx157("h3", { className: "text-xl font-bold text-[var(--foreground)] truncate", children: displayName }),
|
|
41164
|
+
/* @__PURE__ */ jsxs117("p", { className: "text-sm text-[var(--foreground)]/60 font-medium", children: [
|
|
40941
41165
|
"@",
|
|
40942
41166
|
handle
|
|
40943
41167
|
] })
|
|
40944
41168
|
] }),
|
|
40945
|
-
/* @__PURE__ */
|
|
41169
|
+
/* @__PURE__ */ jsx157("div", { className: "mt-4 flex gap-2", children: safePlatforms.map((p, i) => {
|
|
40946
41170
|
const Icon3 = getIcon(p);
|
|
40947
|
-
return Icon3 ? /* @__PURE__ */
|
|
41171
|
+
return Icon3 ? /* @__PURE__ */ jsx157(
|
|
40948
41172
|
"div",
|
|
40949
41173
|
{
|
|
40950
41174
|
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",
|
|
40951
|
-
children: /* @__PURE__ */
|
|
41175
|
+
children: /* @__PURE__ */ jsx157(Icon3, { className: "h-4 w-4" })
|
|
40952
41176
|
},
|
|
40953
41177
|
typeof p === "string" ? p : i
|
|
40954
41178
|
) : null;
|
|
40955
41179
|
}) }),
|
|
40956
|
-
/* @__PURE__ */
|
|
40957
|
-
/* @__PURE__ */
|
|
40958
|
-
/* @__PURE__ */
|
|
41180
|
+
/* @__PURE__ */ jsx157("div", { className: "mt-6 grid grid-cols-2 gap-4 border-t border-[var(--border-color)] pt-4", children: safeMetrics.map((m, i) => /* @__PURE__ */ jsxs117("div", { className: "flex flex-col", children: [
|
|
41181
|
+
/* @__PURE__ */ jsx157("span", { className: "text-[10px] font-bold uppercase tracking-wider text-[var(--foreground)]/40", children: m.label }),
|
|
41182
|
+
/* @__PURE__ */ jsx157("span", { className: "text-sm font-bold text-[var(--primary-color)]", children: m.value })
|
|
40959
41183
|
] }, i)) })
|
|
40960
41184
|
] })
|
|
40961
41185
|
]
|
|
@@ -40964,15 +41188,15 @@ var CreatorGridCard = ({
|
|
|
40964
41188
|
};
|
|
40965
41189
|
|
|
40966
41190
|
// src/molecules/creator-discovery/BrandAffinityGroup/BrandAffinityGroup.tsx
|
|
40967
|
-
import { jsx as
|
|
41191
|
+
import { jsx as jsx158, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
40968
41192
|
var BrandAffinityGroup = ({
|
|
40969
41193
|
brands,
|
|
40970
41194
|
className
|
|
40971
41195
|
}) => {
|
|
40972
|
-
return /* @__PURE__ */
|
|
40973
|
-
/* @__PURE__ */
|
|
40974
|
-
/* @__PURE__ */
|
|
40975
|
-
/* @__PURE__ */
|
|
41196
|
+
return /* @__PURE__ */ jsxs118("div", { className: cn("flex flex-col gap-3", className), children: [
|
|
41197
|
+
/* @__PURE__ */ jsx158("h5", { className: "text-[10px] font-bold uppercase tracking-widest text-muted-foreground", children: "Recent Collaborations" }),
|
|
41198
|
+
/* @__PURE__ */ jsx158("div", { className: "flex flex-wrap gap-4 items-center", children: brands.map((brand, i) => /* @__PURE__ */ jsxs118("div", { className: "group relative", children: [
|
|
41199
|
+
/* @__PURE__ */ jsx158("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__ */ jsx158(
|
|
40976
41200
|
"img",
|
|
40977
41201
|
{
|
|
40978
41202
|
src: brand.logoSrc,
|
|
@@ -40980,18 +41204,18 @@ var BrandAffinityGroup = ({
|
|
|
40980
41204
|
className: "max-h-full max-w-full object-contain"
|
|
40981
41205
|
}
|
|
40982
41206
|
) }),
|
|
40983
|
-
/* @__PURE__ */
|
|
41207
|
+
/* @__PURE__ */ jsx158("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 })
|
|
40984
41208
|
] }, i)) })
|
|
40985
41209
|
] });
|
|
40986
41210
|
};
|
|
40987
41211
|
|
|
40988
41212
|
// src/molecules/creator-discovery/ContentPreviewGallery/ContentPreviewGallery.tsx
|
|
40989
|
-
import { jsx as
|
|
41213
|
+
import { jsx as jsx159, jsxs as jsxs119 } from "react/jsx-runtime";
|
|
40990
41214
|
var ContentPreviewGallery = ({
|
|
40991
41215
|
items,
|
|
40992
41216
|
className
|
|
40993
41217
|
}) => {
|
|
40994
|
-
return /* @__PURE__ */
|
|
41218
|
+
return /* @__PURE__ */ jsx159("div", { className: cn("grid grid-cols-2 gap-2", className), children: items.map((item, i) => /* @__PURE__ */ jsxs119(
|
|
40995
41219
|
"a",
|
|
40996
41220
|
{
|
|
40997
41221
|
href: item.url || "#",
|
|
@@ -40999,7 +41223,7 @@ var ContentPreviewGallery = ({
|
|
|
40999
41223
|
rel: "noopener noreferrer",
|
|
41000
41224
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100",
|
|
41001
41225
|
children: [
|
|
41002
|
-
/* @__PURE__ */
|
|
41226
|
+
/* @__PURE__ */ jsx159(
|
|
41003
41227
|
"img",
|
|
41004
41228
|
{
|
|
41005
41229
|
src: item.thumbnail,
|
|
@@ -41007,8 +41231,8 @@ var ContentPreviewGallery = ({
|
|
|
41007
41231
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
41008
41232
|
}
|
|
41009
41233
|
),
|
|
41010
|
-
item.type === "video" && /* @__PURE__ */
|
|
41011
|
-
/* @__PURE__ */
|
|
41234
|
+
item.type === "video" && /* @__PURE__ */ jsx159("div", { className: "absolute inset-0 flex items-center justify-center bg-black/10 group-hover:bg-black/20 transition-colors", children: /* @__PURE__ */ jsx159("div", { className: "rounded-full bg-white/30 backdrop-blur-md p-3 text-white ring-1 ring-white/50", children: /* @__PURE__ */ jsx159(Play, { className: "h-6 w-6 fill-white" }) }) }),
|
|
41235
|
+
/* @__PURE__ */ jsx159("div", { className: "absolute inset-0 ring-1 ring-inset ring-black/10 rounded-2xl" })
|
|
41012
41236
|
]
|
|
41013
41237
|
},
|
|
41014
41238
|
i
|
|
@@ -41016,10 +41240,10 @@ var ContentPreviewGallery = ({
|
|
|
41016
41240
|
};
|
|
41017
41241
|
|
|
41018
41242
|
// src/molecules/creator-discovery/AudienceDemographicsCard/AudienceDemographicsCard.tsx
|
|
41019
|
-
import { jsx as
|
|
41243
|
+
import { jsx as jsx160, jsxs as jsxs120 } from "react/jsx-runtime";
|
|
41020
41244
|
var AudienceDemographicsCard = ({ title, data, config, demographicType, className }) => {
|
|
41021
41245
|
const chartType = demographicType === "location" ? "bar" : "pie";
|
|
41022
|
-
return /* @__PURE__ */
|
|
41246
|
+
return /* @__PURE__ */ jsxs120(
|
|
41023
41247
|
Card,
|
|
41024
41248
|
{
|
|
41025
41249
|
className: cn(
|
|
@@ -41027,8 +41251,8 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
41027
41251
|
className
|
|
41028
41252
|
),
|
|
41029
41253
|
children: [
|
|
41030
|
-
/* @__PURE__ */
|
|
41031
|
-
/* @__PURE__ */
|
|
41254
|
+
/* @__PURE__ */ jsx160(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx160(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
41255
|
+
/* @__PURE__ */ jsx160(CardContent, { children: /* @__PURE__ */ jsx160("div", { className: "h-[250px] w-full", children: /* @__PURE__ */ jsx160(
|
|
41032
41256
|
ChartAtom,
|
|
41033
41257
|
{
|
|
41034
41258
|
type: "chart",
|
|
@@ -41047,7 +41271,7 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
41047
41271
|
};
|
|
41048
41272
|
|
|
41049
41273
|
// src/molecules/creator-discovery/GrowthChartCard/GrowthChartCard.tsx
|
|
41050
|
-
import { jsx as
|
|
41274
|
+
import { jsx as jsx161, jsxs as jsxs121 } from "react/jsx-runtime";
|
|
41051
41275
|
var GrowthChartCard = ({
|
|
41052
41276
|
title,
|
|
41053
41277
|
data,
|
|
@@ -41056,7 +41280,7 @@ var GrowthChartCard = ({
|
|
|
41056
41280
|
period,
|
|
41057
41281
|
className
|
|
41058
41282
|
}) => {
|
|
41059
|
-
return /* @__PURE__ */
|
|
41283
|
+
return /* @__PURE__ */ jsxs121(
|
|
41060
41284
|
Card,
|
|
41061
41285
|
{
|
|
41062
41286
|
className: cn(
|
|
@@ -41064,15 +41288,15 @@ var GrowthChartCard = ({
|
|
|
41064
41288
|
className
|
|
41065
41289
|
),
|
|
41066
41290
|
children: [
|
|
41067
|
-
/* @__PURE__ */
|
|
41068
|
-
/* @__PURE__ */
|
|
41069
|
-
/* @__PURE__ */
|
|
41070
|
-
/* @__PURE__ */
|
|
41291
|
+
/* @__PURE__ */ jsxs121(CardHeader, { className: "flex flex-row items-center justify-between pb-2 space-y-0", children: [
|
|
41292
|
+
/* @__PURE__ */ jsxs121("div", { children: [
|
|
41293
|
+
/* @__PURE__ */ jsx161(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }),
|
|
41294
|
+
/* @__PURE__ */ jsx161("p", { className: "text-xs text-muted-foreground", children: period })
|
|
41071
41295
|
] }),
|
|
41072
|
-
/* @__PURE__ */
|
|
41296
|
+
/* @__PURE__ */ jsx161("div", { className: "bg-green-50 p-2 rounded-xl", children: /* @__PURE__ */ jsx161(TrendingUp, { className: "w-4 h-4 text-green-600" }) })
|
|
41073
41297
|
] }),
|
|
41074
|
-
/* @__PURE__ */
|
|
41075
|
-
/* @__PURE__ */
|
|
41298
|
+
/* @__PURE__ */ jsxs121(CardContent, { children: [
|
|
41299
|
+
/* @__PURE__ */ jsx161("div", { className: "h-[200px] w-full mt-4", children: /* @__PURE__ */ jsx161(
|
|
41076
41300
|
ChartAtom,
|
|
41077
41301
|
{
|
|
41078
41302
|
type: "chart",
|
|
@@ -41085,9 +41309,9 @@ var GrowthChartCard = ({
|
|
|
41085
41309
|
showLegend: false
|
|
41086
41310
|
}
|
|
41087
41311
|
) }),
|
|
41088
|
-
/* @__PURE__ */
|
|
41089
|
-
/* @__PURE__ */
|
|
41090
|
-
/* @__PURE__ */
|
|
41312
|
+
/* @__PURE__ */ jsxs121("div", { className: "mt-4 flex items-center justify-between", children: [
|
|
41313
|
+
/* @__PURE__ */ jsx161("span", { className: "text-sm font-medium text-gray-500", children: metric }),
|
|
41314
|
+
/* @__PURE__ */ jsx161("span", { className: "text-sm font-bold text-purple-600", children: "+12.5%" })
|
|
41091
41315
|
] })
|
|
41092
41316
|
] })
|
|
41093
41317
|
]
|
|
@@ -41096,24 +41320,24 @@ var GrowthChartCard = ({
|
|
|
41096
41320
|
};
|
|
41097
41321
|
|
|
41098
41322
|
// src/molecules/creator-discovery/TopPostsGrid/TopPostsGrid.tsx
|
|
41099
|
-
import { jsx as
|
|
41323
|
+
import { jsx as jsx162, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
41100
41324
|
var TopPostsGrid = ({
|
|
41101
41325
|
posts,
|
|
41102
41326
|
className
|
|
41103
41327
|
}) => {
|
|
41104
|
-
return /* @__PURE__ */
|
|
41328
|
+
return /* @__PURE__ */ jsx162(
|
|
41105
41329
|
"div",
|
|
41106
41330
|
{
|
|
41107
41331
|
className: cn(
|
|
41108
41332
|
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
41109
41333
|
className
|
|
41110
41334
|
),
|
|
41111
|
-
children: posts.map((post, i) => /* @__PURE__ */
|
|
41335
|
+
children: posts.map((post, i) => /* @__PURE__ */ jsxs122(
|
|
41112
41336
|
"div",
|
|
41113
41337
|
{
|
|
41114
41338
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100 border border-purple-50",
|
|
41115
41339
|
children: [
|
|
41116
|
-
/* @__PURE__ */
|
|
41340
|
+
/* @__PURE__ */ jsx162(
|
|
41117
41341
|
"img",
|
|
41118
41342
|
{
|
|
41119
41343
|
src: post.thumbnail,
|
|
@@ -41121,25 +41345,25 @@ var TopPostsGrid = ({
|
|
|
41121
41345
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
41122
41346
|
}
|
|
41123
41347
|
),
|
|
41124
|
-
/* @__PURE__ */
|
|
41125
|
-
/* @__PURE__ */
|
|
41126
|
-
/* @__PURE__ */
|
|
41127
|
-
/* @__PURE__ */
|
|
41348
|
+
/* @__PURE__ */ jsxs122("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: [
|
|
41349
|
+
/* @__PURE__ */ jsxs122("div", { className: "flex items-center gap-4 text-white text-xs font-bold", children: [
|
|
41350
|
+
/* @__PURE__ */ jsxs122("span", { className: "flex items-center gap-1", children: [
|
|
41351
|
+
/* @__PURE__ */ jsx162(Heart, { className: "w-3 h-3 fill-white" }),
|
|
41128
41352
|
" ",
|
|
41129
41353
|
post.likes
|
|
41130
41354
|
] }),
|
|
41131
|
-
/* @__PURE__ */
|
|
41132
|
-
/* @__PURE__ */
|
|
41355
|
+
/* @__PURE__ */ jsxs122("span", { className: "flex items-center gap-1", children: [
|
|
41356
|
+
/* @__PURE__ */ jsx162(MessageCircle, { className: "w-3 h-3 fill-white" }),
|
|
41133
41357
|
" ",
|
|
41134
41358
|
post.comments
|
|
41135
41359
|
] }),
|
|
41136
|
-
/* @__PURE__ */
|
|
41137
|
-
/* @__PURE__ */
|
|
41360
|
+
/* @__PURE__ */ jsxs122("span", { className: "flex items-center gap-1", children: [
|
|
41361
|
+
/* @__PURE__ */ jsx162(ChartColumn, { className: "w-3 h-3" }),
|
|
41138
41362
|
" ",
|
|
41139
41363
|
post.engagement
|
|
41140
41364
|
] })
|
|
41141
41365
|
] }),
|
|
41142
|
-
/* @__PURE__ */
|
|
41366
|
+
/* @__PURE__ */ jsx162("span", { className: "text-[10px] text-gray-300 mt-2", children: post.date })
|
|
41143
41367
|
] })
|
|
41144
41368
|
]
|
|
41145
41369
|
},
|
|
@@ -41150,7 +41374,7 @@ var TopPostsGrid = ({
|
|
|
41150
41374
|
};
|
|
41151
41375
|
|
|
41152
41376
|
// src/molecules/creator-discovery/CreatorActionHeader/CreatorActionHeader.tsx
|
|
41153
|
-
import { jsx as
|
|
41377
|
+
import { jsx as jsx163, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
41154
41378
|
var CreatorActionHeader = ({
|
|
41155
41379
|
bannerSrc,
|
|
41156
41380
|
avatarSrc,
|
|
@@ -41159,7 +41383,7 @@ var CreatorActionHeader = ({
|
|
|
41159
41383
|
actions,
|
|
41160
41384
|
className
|
|
41161
41385
|
}) => {
|
|
41162
|
-
return /* @__PURE__ */
|
|
41386
|
+
return /* @__PURE__ */ jsxs123(
|
|
41163
41387
|
"div",
|
|
41164
41388
|
{
|
|
41165
41389
|
className: cn(
|
|
@@ -41167,8 +41391,8 @@ var CreatorActionHeader = ({
|
|
|
41167
41391
|
className
|
|
41168
41392
|
),
|
|
41169
41393
|
children: [
|
|
41170
|
-
/* @__PURE__ */
|
|
41171
|
-
bannerSrc && /* @__PURE__ */
|
|
41394
|
+
/* @__PURE__ */ jsxs123("div", { className: "h-48 w-full bg-gradient-to-r from-purple-100 to-indigo-100 relative", children: [
|
|
41395
|
+
bannerSrc && /* @__PURE__ */ jsx163(
|
|
41172
41396
|
"img",
|
|
41173
41397
|
{
|
|
41174
41398
|
src: bannerSrc,
|
|
@@ -41176,23 +41400,23 @@ var CreatorActionHeader = ({
|
|
|
41176
41400
|
alt: "Banner"
|
|
41177
41401
|
}
|
|
41178
41402
|
),
|
|
41179
|
-
/* @__PURE__ */
|
|
41403
|
+
/* @__PURE__ */ jsx163("div", { className: "absolute inset-0 bg-black/5" })
|
|
41180
41404
|
] }),
|
|
41181
|
-
/* @__PURE__ */
|
|
41182
|
-
/* @__PURE__ */
|
|
41183
|
-
/* @__PURE__ */
|
|
41184
|
-
/* @__PURE__ */
|
|
41185
|
-
/* @__PURE__ */
|
|
41405
|
+
/* @__PURE__ */ jsxs123("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: [
|
|
41406
|
+
/* @__PURE__ */ jsxs123("div", { className: "flex flex-col md:flex-row items-start md:items-end gap-6", children: [
|
|
41407
|
+
/* @__PURE__ */ jsx163("div", { className: "p-2 bg-white rounded-[32px] shadow-lg", children: /* @__PURE__ */ jsxs123(Avatar, { className: "h-32 w-32 rounded-[24px] border-4 border-white", children: [
|
|
41408
|
+
/* @__PURE__ */ jsx163(AvatarImage, { src: avatarSrc, className: "rounded-[24px]" }),
|
|
41409
|
+
/* @__PURE__ */ jsx163(AvatarFallback, { className: "rounded-[24px] bg-purple-50 text-purple-600 text-3xl font-bold", children: name.charAt(0) })
|
|
41186
41410
|
] }) }),
|
|
41187
|
-
/* @__PURE__ */
|
|
41188
|
-
/* @__PURE__ */
|
|
41189
|
-
/* @__PURE__ */
|
|
41411
|
+
/* @__PURE__ */ jsxs123("div", { className: "mb-2", children: [
|
|
41412
|
+
/* @__PURE__ */ jsx163("h1", { className: "text-3xl font-bold text-gray-900 tracking-tight", children: name }),
|
|
41413
|
+
/* @__PURE__ */ jsxs123("p", { className: "text-purple-600 font-medium tracking-wide", children: [
|
|
41190
41414
|
"@",
|
|
41191
41415
|
handle
|
|
41192
41416
|
] })
|
|
41193
41417
|
] })
|
|
41194
41418
|
] }),
|
|
41195
|
-
/* @__PURE__ */
|
|
41419
|
+
/* @__PURE__ */ jsx163("div", { className: "flex items-center gap-3 mb-2", children: actions.map((action, i) => /* @__PURE__ */ jsx163(
|
|
41196
41420
|
Button,
|
|
41197
41421
|
{
|
|
41198
41422
|
variant: action.variant || "default",
|
|
@@ -41211,9 +41435,9 @@ var CreatorActionHeader = ({
|
|
|
41211
41435
|
};
|
|
41212
41436
|
|
|
41213
41437
|
// src/molecules/creator-discovery/CreatorSearchBox/CreatorSearch.tsx
|
|
41214
|
-
import
|
|
41215
|
-
import { jsx as
|
|
41216
|
-
var CreatorSearch =
|
|
41438
|
+
import React112, { useMemo as useMemo8 } from "react";
|
|
41439
|
+
import { jsx as jsx164, jsxs as jsxs124 } from "react/jsx-runtime";
|
|
41440
|
+
var CreatorSearch = React112.memo(
|
|
41217
41441
|
({
|
|
41218
41442
|
selectionStatus,
|
|
41219
41443
|
isLatestMessage = true,
|
|
@@ -41230,7 +41454,7 @@ var CreatorSearch = React111.memo(
|
|
|
41230
41454
|
...field,
|
|
41231
41455
|
renderDisplay: (val) => {
|
|
41232
41456
|
const platforms = Array.isArray(val) ? val : [val];
|
|
41233
|
-
return /* @__PURE__ */
|
|
41457
|
+
return /* @__PURE__ */ jsx164("div", { className: "flex flex-wrap gap-2", children: platforms.map((p) => /* @__PURE__ */ jsx164(
|
|
41234
41458
|
BadgeAtom,
|
|
41235
41459
|
{
|
|
41236
41460
|
id: `platform-${p}`,
|
|
@@ -41247,13 +41471,13 @@ var CreatorSearch = React111.memo(
|
|
|
41247
41471
|
if (field.key === "geography") {
|
|
41248
41472
|
return {
|
|
41249
41473
|
...field,
|
|
41250
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41474
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx164(CountrySelectDisplay, { value: val })
|
|
41251
41475
|
};
|
|
41252
41476
|
}
|
|
41253
41477
|
if (field.key === "keywordBundles") {
|
|
41254
41478
|
return {
|
|
41255
41479
|
...field,
|
|
41256
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41480
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx164(KeywordBundlesDisplay, { value: val })
|
|
41257
41481
|
};
|
|
41258
41482
|
}
|
|
41259
41483
|
if (field.key === "followerRange") {
|
|
@@ -41261,9 +41485,9 @@ var CreatorSearch = React111.memo(
|
|
|
41261
41485
|
...field,
|
|
41262
41486
|
renderDisplay: (val) => {
|
|
41263
41487
|
if (typeof val === "object" && val !== null) {
|
|
41264
|
-
return /* @__PURE__ */
|
|
41488
|
+
return /* @__PURE__ */ jsx164("span", { className: "text-white font-medium", children: `${val.min?.toLocaleString()} - ${val.max?.toLocaleString()} followers` });
|
|
41265
41489
|
}
|
|
41266
|
-
return /* @__PURE__ */
|
|
41490
|
+
return /* @__PURE__ */ jsxs124("span", { className: "text-white font-medium", children: [
|
|
41267
41491
|
val,
|
|
41268
41492
|
" followers"
|
|
41269
41493
|
] });
|
|
@@ -41273,7 +41497,7 @@ var CreatorSearch = React111.memo(
|
|
|
41273
41497
|
if (field.key === "initialCreators") {
|
|
41274
41498
|
return {
|
|
41275
41499
|
...field,
|
|
41276
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41500
|
+
renderDisplay: (val) => /* @__PURE__ */ jsxs124("span", { className: "text-white font-medium", children: [
|
|
41277
41501
|
val,
|
|
41278
41502
|
" creators"
|
|
41279
41503
|
] })
|
|
@@ -41282,7 +41506,7 @@ var CreatorSearch = React111.memo(
|
|
|
41282
41506
|
return field;
|
|
41283
41507
|
});
|
|
41284
41508
|
}, [providedFields, data]);
|
|
41285
|
-
return /* @__PURE__ */
|
|
41509
|
+
return /* @__PURE__ */ jsx164("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx164(
|
|
41286
41510
|
FormCard,
|
|
41287
41511
|
{
|
|
41288
41512
|
...formCardProps,
|
|
@@ -41291,9 +41515,9 @@ var CreatorSearch = React111.memo(
|
|
|
41291
41515
|
fields,
|
|
41292
41516
|
showTimeline: true,
|
|
41293
41517
|
className: cn("font-noto", className),
|
|
41294
|
-
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */
|
|
41295
|
-
/* @__PURE__ */
|
|
41296
|
-
/* @__PURE__ */
|
|
41518
|
+
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ jsxs124("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-[10px] font-semibold py-4 pr-6", children: [
|
|
41519
|
+
/* @__PURE__ */ jsx164(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
41520
|
+
/* @__PURE__ */ jsx164("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
41297
41521
|
] }) : formCardProps.footer
|
|
41298
41522
|
}
|
|
41299
41523
|
) });
|
|
@@ -41302,10 +41526,10 @@ var CreatorSearch = React111.memo(
|
|
|
41302
41526
|
CreatorSearch.displayName = "CreatorSearch";
|
|
41303
41527
|
|
|
41304
41528
|
// src/molecules/creator-discovery/CampaignConceptCard/CampaignConceptCard.tsx
|
|
41305
|
-
import
|
|
41529
|
+
import React113, { useMemo as useMemo9, useState as useState14 } from "react";
|
|
41306
41530
|
import { motion, AnimatePresence } from "framer-motion";
|
|
41307
|
-
import { jsx as
|
|
41308
|
-
var CampaignConceptCard =
|
|
41531
|
+
import { jsx as jsx165, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
41532
|
+
var CampaignConceptCard = React113.memo(
|
|
41309
41533
|
({
|
|
41310
41534
|
index,
|
|
41311
41535
|
isRecommended,
|
|
@@ -41321,7 +41545,7 @@ var CampaignConceptCard = React112.memo(
|
|
|
41321
41545
|
onAction,
|
|
41322
41546
|
...formCardProps
|
|
41323
41547
|
}) => {
|
|
41324
|
-
const [internalIsOpen, setInternalIsOpen] =
|
|
41548
|
+
const [internalIsOpen, setInternalIsOpen] = useState14(false);
|
|
41325
41549
|
const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
|
|
41326
41550
|
const handleToggle = () => {
|
|
41327
41551
|
if (onToggle) {
|
|
@@ -41377,39 +41601,39 @@ var CampaignConceptCard = React112.memo(
|
|
|
41377
41601
|
label: "Budget Allocation",
|
|
41378
41602
|
renderDisplay: (val) => {
|
|
41379
41603
|
if (!val)
|
|
41380
|
-
return /* @__PURE__ */
|
|
41604
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
41381
41605
|
if (Array.isArray(val)) {
|
|
41382
|
-
return /* @__PURE__ */
|
|
41606
|
+
return /* @__PURE__ */ jsx165("div", { className: "space-y-2", children: val.map((item, idx) => {
|
|
41383
41607
|
const label = item?.label ?? item?.key ?? `Item ${idx + 1}`;
|
|
41384
41608
|
const value = item?.value ?? item;
|
|
41385
|
-
return /* @__PURE__ */
|
|
41386
|
-
/* @__PURE__ */
|
|
41609
|
+
return /* @__PURE__ */ jsxs125("div", { className: "flex items-center gap-2", children: [
|
|
41610
|
+
/* @__PURE__ */ jsxs125("span", { className: "text-muted-foreground font-medium", children: [
|
|
41387
41611
|
idx + 1,
|
|
41388
41612
|
"."
|
|
41389
41613
|
] }),
|
|
41390
|
-
/* @__PURE__ */
|
|
41391
|
-
/* @__PURE__ */
|
|
41392
|
-
/* @__PURE__ */
|
|
41614
|
+
/* @__PURE__ */ jsx165("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) }),
|
|
41615
|
+
/* @__PURE__ */ jsx165("span", { className: "text-cardText", children: "=" }),
|
|
41616
|
+
/* @__PURE__ */ jsx165("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) })
|
|
41393
41617
|
] }, idx);
|
|
41394
41618
|
}) });
|
|
41395
41619
|
}
|
|
41396
41620
|
if (typeof val === "object") {
|
|
41397
41621
|
const entries = Object.entries(val);
|
|
41398
41622
|
if (entries.length === 0)
|
|
41399
|
-
return /* @__PURE__ */
|
|
41400
|
-
return /* @__PURE__ */
|
|
41401
|
-
/* @__PURE__ */
|
|
41623
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
41624
|
+
return /* @__PURE__ */ jsx165("div", { className: "space-y-2", children: entries.map(([k, v], idx) => /* @__PURE__ */ jsxs125("div", { className: "flex items-center gap-2", children: [
|
|
41625
|
+
/* @__PURE__ */ jsxs125("span", { className: "text-muted-foreground font-medium", children: [
|
|
41402
41626
|
idx + 1,
|
|
41403
41627
|
"."
|
|
41404
41628
|
] }),
|
|
41405
|
-
/* @__PURE__ */
|
|
41406
|
-
/* @__PURE__ */
|
|
41407
|
-
/* @__PURE__ */
|
|
41629
|
+
/* @__PURE__ */ jsx165("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) }),
|
|
41630
|
+
/* @__PURE__ */ jsx165("span", { className: "text-cardText", children: "=" }),
|
|
41631
|
+
/* @__PURE__ */ jsx165("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) })
|
|
41408
41632
|
] }, k)) });
|
|
41409
41633
|
}
|
|
41410
|
-
return /* @__PURE__ */
|
|
41634
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-muted-foreground text-sm", children: String(val) });
|
|
41411
41635
|
},
|
|
41412
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41636
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx165(
|
|
41413
41637
|
Textarea,
|
|
41414
41638
|
{
|
|
41415
41639
|
value: typeof v === "object" ? Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n") : String(v || ""),
|
|
@@ -41434,8 +41658,8 @@ var CampaignConceptCard = React112.memo(
|
|
|
41434
41658
|
return {
|
|
41435
41659
|
...field,
|
|
41436
41660
|
label: "Geography",
|
|
41437
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
41438
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41661
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx165(CountrySelectDisplay, { value: v }),
|
|
41662
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx165(CountrySelectEdit, { value: v, onChange })
|
|
41439
41663
|
};
|
|
41440
41664
|
}
|
|
41441
41665
|
if (field.key === "estimatedCreators" || field.key === "estimated_creators") {
|
|
@@ -41444,11 +41668,11 @@ var CampaignConceptCard = React112.memo(
|
|
|
41444
41668
|
label: "Estimated Creators",
|
|
41445
41669
|
renderDisplay: (val) => {
|
|
41446
41670
|
if (!val)
|
|
41447
|
-
return /* @__PURE__ */
|
|
41671
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
41448
41672
|
const displayValue = typeof val === "object" && !Array.isArray(val) ? `${val.min ?? 0}-${val.max ?? 0}` : String(val);
|
|
41449
|
-
return /* @__PURE__ */
|
|
41673
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-cardText text-sm", children: displayValue });
|
|
41450
41674
|
},
|
|
41451
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41675
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx165(
|
|
41452
41676
|
Input,
|
|
41453
41677
|
{
|
|
41454
41678
|
value: typeof v === "object" ? `${v.min ?? 0}-${v.max ?? 0}` : String(v || ""),
|
|
@@ -41471,8 +41695,8 @@ var CampaignConceptCard = React112.memo(
|
|
|
41471
41695
|
return {
|
|
41472
41696
|
...field,
|
|
41473
41697
|
label: field.label || "Primary KPI",
|
|
41474
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41475
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41698
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx165("span", { className: "text-cardText text-sm", children: val ? String(val) : "-" }),
|
|
41699
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx165(
|
|
41476
41700
|
Input,
|
|
41477
41701
|
{
|
|
41478
41702
|
value: String(v || ""),
|
|
@@ -41489,9 +41713,9 @@ var CampaignConceptCard = React112.memo(
|
|
|
41489
41713
|
label: field.label || "Secondary KPIs",
|
|
41490
41714
|
renderDisplay: (val) => {
|
|
41491
41715
|
const display = Array.isArray(val) ? val.map(String).join(", ") : val ? String(val) : "-";
|
|
41492
|
-
return /* @__PURE__ */
|
|
41716
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-cardText text-sm", children: display });
|
|
41493
41717
|
},
|
|
41494
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41718
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx165(
|
|
41495
41719
|
Textarea,
|
|
41496
41720
|
{
|
|
41497
41721
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -41508,15 +41732,15 @@ var CampaignConceptCard = React112.memo(
|
|
|
41508
41732
|
if (field.key === "platforms" || field.key === "target_platforms" || field.key === "targetPlatforms") {
|
|
41509
41733
|
return {
|
|
41510
41734
|
...field,
|
|
41511
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
41512
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
41735
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx165(PlatformSelectDisplay, { value: v }),
|
|
41736
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx165(PlatformSelectEdit, { value: v, onChange })
|
|
41513
41737
|
};
|
|
41514
41738
|
}
|
|
41515
41739
|
if (field.key === "description" || field.key === "creator_strategy" || field.key === "creatorStrategy") {
|
|
41516
41740
|
return {
|
|
41517
41741
|
...field,
|
|
41518
41742
|
type: "textarea",
|
|
41519
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
41743
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx165("span", { className: "text-cardText text-sm leading-relaxed", children: val ? String(val) : "-" })
|
|
41520
41744
|
};
|
|
41521
41745
|
}
|
|
41522
41746
|
return {
|
|
@@ -41524,10 +41748,10 @@ var CampaignConceptCard = React112.memo(
|
|
|
41524
41748
|
renderDisplay: (val) => {
|
|
41525
41749
|
if (Array.isArray(val)) {
|
|
41526
41750
|
if (val.length === 0)
|
|
41527
|
-
return /* @__PURE__ */
|
|
41528
|
-
return /* @__PURE__ */
|
|
41751
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
41752
|
+
return /* @__PURE__ */ jsx165("div", { className: "flex flex-wrap gap-2 pt-1", children: val.map((item, idx) => {
|
|
41529
41753
|
const label = typeof item === "object" && item !== null ? item.label || item.value || item.name || JSON.stringify(item) : String(item);
|
|
41530
|
-
return /* @__PURE__ */
|
|
41754
|
+
return /* @__PURE__ */ jsx165(
|
|
41531
41755
|
"span",
|
|
41532
41756
|
{
|
|
41533
41757
|
className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md",
|
|
@@ -41538,14 +41762,14 @@ var CampaignConceptCard = React112.memo(
|
|
|
41538
41762
|
}) });
|
|
41539
41763
|
}
|
|
41540
41764
|
if (typeof val === "object" && val !== null) {
|
|
41541
|
-
return /* @__PURE__ */
|
|
41765
|
+
return /* @__PURE__ */ jsx165("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") });
|
|
41542
41766
|
}
|
|
41543
|
-
return /* @__PURE__ */
|
|
41767
|
+
return /* @__PURE__ */ jsx165("span", { className: "text-cardText text-sm", children: val !== void 0 && val !== null ? String(val) : "-" });
|
|
41544
41768
|
}
|
|
41545
41769
|
};
|
|
41546
41770
|
});
|
|
41547
41771
|
}, [providedFields, data]);
|
|
41548
|
-
return /* @__PURE__ */
|
|
41772
|
+
return /* @__PURE__ */ jsxs125(
|
|
41549
41773
|
"div",
|
|
41550
41774
|
{
|
|
41551
41775
|
className: cn(
|
|
@@ -41554,31 +41778,31 @@ var CampaignConceptCard = React112.memo(
|
|
|
41554
41778
|
className
|
|
41555
41779
|
),
|
|
41556
41780
|
children: [
|
|
41557
|
-
/* @__PURE__ */
|
|
41781
|
+
/* @__PURE__ */ jsxs125(
|
|
41558
41782
|
"div",
|
|
41559
41783
|
{
|
|
41560
41784
|
className: "px-4 py-2.5 relative flex items-center justify-between cursor-pointer select-none",
|
|
41561
41785
|
onClick: handleToggle,
|
|
41562
41786
|
children: [
|
|
41563
|
-
/* @__PURE__ */
|
|
41564
|
-
/* @__PURE__ */
|
|
41787
|
+
/* @__PURE__ */ jsxs125("div", { className: "flex-1", children: [
|
|
41788
|
+
/* @__PURE__ */ jsxs125("h3", { className: "text-cardText font-semibold text-sm", children: [
|
|
41565
41789
|
"Concept ",
|
|
41566
41790
|
index !== void 0 ? index : "",
|
|
41567
41791
|
" :",
|
|
41568
41792
|
" ",
|
|
41569
41793
|
typeof cardTitle === "object" ? JSON.stringify(cardTitle) : String(cardTitle)
|
|
41570
41794
|
] }),
|
|
41571
|
-
/* @__PURE__ */
|
|
41572
|
-
isRecommended && /* @__PURE__ */
|
|
41573
|
-
!effectiveIsLatest && selectionStatus && /* @__PURE__ */
|
|
41795
|
+
/* @__PURE__ */ jsxs125("div", { className: "flex flex-wrap gap-2", children: [
|
|
41796
|
+
isRecommended && /* @__PURE__ */ jsx165("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: "Recommended" }),
|
|
41797
|
+
!effectiveIsLatest && selectionStatus && /* @__PURE__ */ jsx165("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
41574
41798
|
] })
|
|
41575
41799
|
] }),
|
|
41576
|
-
/* @__PURE__ */
|
|
41800
|
+
/* @__PURE__ */ jsx165(
|
|
41577
41801
|
"div",
|
|
41578
41802
|
{
|
|
41579
41803
|
className: "flex items-center gap-2 ml-3",
|
|
41580
41804
|
onClick: (e) => e.stopPropagation(),
|
|
41581
|
-
children: /* @__PURE__ */
|
|
41805
|
+
children: /* @__PURE__ */ jsx165(
|
|
41582
41806
|
"button",
|
|
41583
41807
|
{
|
|
41584
41808
|
onClick: (e) => {
|
|
@@ -41589,7 +41813,7 @@ var CampaignConceptCard = React112.memo(
|
|
|
41589
41813
|
className: "p-2 bg-cardSurface hover:bg-gray200 text-cardText rounded-lg",
|
|
41590
41814
|
"aria-label": isOpen ? "Collapse" : "Expand",
|
|
41591
41815
|
title: isOpen ? "Collapse" : "Expand",
|
|
41592
|
-
children: /* @__PURE__ */
|
|
41816
|
+
children: /* @__PURE__ */ jsx165(
|
|
41593
41817
|
ChevronDown,
|
|
41594
41818
|
{
|
|
41595
41819
|
className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
|
|
@@ -41602,7 +41826,7 @@ var CampaignConceptCard = React112.memo(
|
|
|
41602
41826
|
]
|
|
41603
41827
|
}
|
|
41604
41828
|
),
|
|
41605
|
-
/* @__PURE__ */
|
|
41829
|
+
/* @__PURE__ */ jsx165(AnimatePresence, { initial: false, children: isOpen && /* @__PURE__ */ jsx165(
|
|
41606
41830
|
motion.div,
|
|
41607
41831
|
{
|
|
41608
41832
|
initial: { height: 0, opacity: 0 },
|
|
@@ -41610,8 +41834,8 @@ var CampaignConceptCard = React112.memo(
|
|
|
41610
41834
|
exit: { height: 0, opacity: 0 },
|
|
41611
41835
|
transition: { duration: 0.2, ease: "easeIn" },
|
|
41612
41836
|
className: "overflow-hidden",
|
|
41613
|
-
children: /* @__PURE__ */
|
|
41614
|
-
/* @__PURE__ */
|
|
41837
|
+
children: /* @__PURE__ */ jsxs125("div", { className: "px-3 py-2 w-full relative", children: [
|
|
41838
|
+
/* @__PURE__ */ jsx165(
|
|
41615
41839
|
"div",
|
|
41616
41840
|
{
|
|
41617
41841
|
className: "absolute left-[48px] top-[70px] bottom-[40px] w-[2px]",
|
|
@@ -41620,7 +41844,7 @@ var CampaignConceptCard = React112.memo(
|
|
|
41620
41844
|
}
|
|
41621
41845
|
}
|
|
41622
41846
|
),
|
|
41623
|
-
/* @__PURE__ */
|
|
41847
|
+
/* @__PURE__ */ jsx165(
|
|
41624
41848
|
FormCard,
|
|
41625
41849
|
{
|
|
41626
41850
|
...formCardProps,
|
|
@@ -41634,9 +41858,9 @@ var CampaignConceptCard = React112.memo(
|
|
|
41634
41858
|
hideTitle: true,
|
|
41635
41859
|
hideCopyButton: true,
|
|
41636
41860
|
className: "bg-transparent border-none shadow-none mb-0 p-0",
|
|
41637
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
41638
|
-
/* @__PURE__ */
|
|
41639
|
-
/* @__PURE__ */
|
|
41861
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs125("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
41862
|
+
/* @__PURE__ */ jsx165(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
41863
|
+
/* @__PURE__ */ jsx165("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
41640
41864
|
] }) : formCardProps.footer
|
|
41641
41865
|
}
|
|
41642
41866
|
)
|
|
@@ -41652,14 +41876,14 @@ var CampaignConceptCard = React112.memo(
|
|
|
41652
41876
|
CampaignConceptCard.displayName = "CampaignConceptCard";
|
|
41653
41877
|
|
|
41654
41878
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
41655
|
-
import { useCallback as useCallback9, useState as
|
|
41879
|
+
import { useCallback as useCallback9, useState as useState22, memo } from "react";
|
|
41656
41880
|
|
|
41657
41881
|
// src/molecules/creator-discovery/CreatorWidget/CreatorImageList.tsx
|
|
41658
|
-
import { useEffect as
|
|
41659
|
-
import { Fragment as Fragment7, jsx as
|
|
41882
|
+
import { useEffect as useEffect10, useState as useState15 } from "react";
|
|
41883
|
+
import { Fragment as Fragment7, jsx as jsx166, jsxs as jsxs126 } from "react/jsx-runtime";
|
|
41660
41884
|
function useMediaQuery(query) {
|
|
41661
|
-
const [matches, setMatches] =
|
|
41662
|
-
|
|
41885
|
+
const [matches, setMatches] = useState15(false);
|
|
41886
|
+
useEffect10(() => {
|
|
41663
41887
|
const media = window.matchMedia(query);
|
|
41664
41888
|
const listener = () => setMatches(media.matches);
|
|
41665
41889
|
listener();
|
|
@@ -41677,8 +41901,8 @@ function CreatorImage({
|
|
|
41677
41901
|
const processedCount = Math.floor(creatorsPercentage / 100 * totalCreators);
|
|
41678
41902
|
const isProcessed = idx < processedCount;
|
|
41679
41903
|
const isCurrentlyProcessing = idx === processedCount;
|
|
41680
|
-
return /* @__PURE__ */
|
|
41681
|
-
/* @__PURE__ */
|
|
41904
|
+
return /* @__PURE__ */ jsxs126("div", { className: "relative w-8 h-8", children: [
|
|
41905
|
+
/* @__PURE__ */ jsx166(
|
|
41682
41906
|
"img",
|
|
41683
41907
|
{
|
|
41684
41908
|
src: img,
|
|
@@ -41686,9 +41910,9 @@ function CreatorImage({
|
|
|
41686
41910
|
className: `w-8 h-8 rounded-full border-2 ${isProcessed ? "border-green-600" : "border-foreground"} object-cover transition-all duration-300`
|
|
41687
41911
|
}
|
|
41688
41912
|
),
|
|
41689
|
-
!isProcessed && /* @__PURE__ */
|
|
41690
|
-
isCurrentlyProcessing && /* @__PURE__ */
|
|
41691
|
-
/* @__PURE__ */
|
|
41913
|
+
!isProcessed && /* @__PURE__ */ jsx166("div", { className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none" }),
|
|
41914
|
+
isCurrentlyProcessing && /* @__PURE__ */ jsxs126(Fragment7, { children: [
|
|
41915
|
+
/* @__PURE__ */ jsx166(
|
|
41692
41916
|
"div",
|
|
41693
41917
|
{
|
|
41694
41918
|
className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none",
|
|
@@ -41704,7 +41928,7 @@ function CreatorImage({
|
|
|
41704
41928
|
}
|
|
41705
41929
|
}
|
|
41706
41930
|
),
|
|
41707
|
-
/* @__PURE__ */
|
|
41931
|
+
/* @__PURE__ */ jsx166("div", { className: "absolute inset-0 rounded-full border-2 border-[#9CA3AF]/30 pointer-events-none" })
|
|
41708
41932
|
] })
|
|
41709
41933
|
] });
|
|
41710
41934
|
}
|
|
@@ -41717,8 +41941,8 @@ function CreatorImageList({
|
|
|
41717
41941
|
const isMobile = useMediaQuery("(max-width: 640px)");
|
|
41718
41942
|
const isTablet = useMediaQuery("(min-width: 641px) and (max-width: 1024px)");
|
|
41719
41943
|
const visibleCount = isMobile ? 7 : isTablet ? 10 : isAgentOutput ? 6 : 15;
|
|
41720
|
-
return /* @__PURE__ */
|
|
41721
|
-
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */
|
|
41944
|
+
return /* @__PURE__ */ jsxs126("div", { className: "flex flex-nowrap sm:flex-wrap -space-x-2 w-fit", children: [
|
|
41945
|
+
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */ jsx166(
|
|
41722
41946
|
CreatorImage,
|
|
41723
41947
|
{
|
|
41724
41948
|
img,
|
|
@@ -41728,7 +41952,7 @@ function CreatorImageList({
|
|
|
41728
41952
|
},
|
|
41729
41953
|
idx
|
|
41730
41954
|
)),
|
|
41731
|
-
creatorLength > visibleCount && /* @__PURE__ */
|
|
41955
|
+
creatorLength > visibleCount && /* @__PURE__ */ jsxs126(
|
|
41732
41956
|
"div",
|
|
41733
41957
|
{
|
|
41734
41958
|
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"}`,
|
|
@@ -41742,28 +41966,28 @@ function CreatorImageList({
|
|
|
41742
41966
|
}
|
|
41743
41967
|
|
|
41744
41968
|
// src/molecules/creator-discovery/CreatorWidget/CreatorProgressBar.tsx
|
|
41745
|
-
import { useEffect as
|
|
41969
|
+
import { useEffect as useEffect11, useState as useState16 } from "react";
|
|
41746
41970
|
import { motion as motion2, AnimatePresence as AnimatePresence2 } from "framer-motion";
|
|
41747
|
-
import { jsx as
|
|
41971
|
+
import { jsx as jsx167, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
41748
41972
|
function truncateName(name, maxLength) {
|
|
41749
41973
|
if (!name || name.length <= maxLength) return name || "";
|
|
41750
41974
|
return name.substring(0, maxLength) + "...";
|
|
41751
41975
|
}
|
|
41752
41976
|
function ProgressBar({ overallPercentage }) {
|
|
41753
|
-
const [showTooltip, setShowTooltip] =
|
|
41754
|
-
|
|
41977
|
+
const [showTooltip, setShowTooltip] = useState16(true);
|
|
41978
|
+
useEffect11(() => {
|
|
41755
41979
|
if (overallPercentage && overallPercentage >= 100) {
|
|
41756
41980
|
setShowTooltip(false);
|
|
41757
41981
|
}
|
|
41758
41982
|
}, [overallPercentage]);
|
|
41759
|
-
return /* @__PURE__ */
|
|
41983
|
+
return /* @__PURE__ */ jsx167("div", { className: "relative w-full", children: /* @__PURE__ */ jsx167("div", { className: "md:w-full dark:bg-purple500 bg-gray-200 rounded-full h-[6px]", children: /* @__PURE__ */ jsx167(
|
|
41760
41984
|
motion2.div,
|
|
41761
41985
|
{
|
|
41762
41986
|
className: "bg-purple100 h-[6px] rounded-full relative",
|
|
41763
41987
|
initial: { width: 0 },
|
|
41764
41988
|
animate: { width: `${overallPercentage}%` },
|
|
41765
41989
|
transition: { duration: 0.5, ease: "easeOut" },
|
|
41766
|
-
children: /* @__PURE__ */
|
|
41990
|
+
children: /* @__PURE__ */ jsx167(AnimatePresence2, { children: showTooltip && /* @__PURE__ */ jsxs127(
|
|
41767
41991
|
motion2.div,
|
|
41768
41992
|
{
|
|
41769
41993
|
initial: { opacity: 0, y: 5 },
|
|
@@ -41773,9 +41997,9 @@ function ProgressBar({ overallPercentage }) {
|
|
|
41773
41997
|
children: [
|
|
41774
41998
|
overallPercentage ? Math.round(overallPercentage) : 0,
|
|
41775
41999
|
"%",
|
|
41776
|
-
/* @__PURE__ */
|
|
41777
|
-
/* @__PURE__ */
|
|
41778
|
-
/* @__PURE__ */
|
|
42000
|
+
/* @__PURE__ */ jsxs127("div", { className: "absolute left-1/2 top-full -translate-x-1/2", children: [
|
|
42001
|
+
/* @__PURE__ */ jsx167("div", { className: "w-0 h-0 border-l-[6px] border-r-[6px] border-t-[6px] border-transparent border-t-gray300" }),
|
|
42002
|
+
/* @__PURE__ */ jsx167("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" })
|
|
41779
42003
|
] })
|
|
41780
42004
|
]
|
|
41781
42005
|
}
|
|
@@ -41787,38 +42011,38 @@ function CreatorProgressBar({
|
|
|
41787
42011
|
statusDetails,
|
|
41788
42012
|
timeRemaining: _timeRemaining
|
|
41789
42013
|
}) {
|
|
41790
|
-
return /* @__PURE__ */
|
|
41791
|
-
/* @__PURE__ */
|
|
41792
|
-
/* @__PURE__ */
|
|
42014
|
+
return /* @__PURE__ */ jsxs127("div", { children: [
|
|
42015
|
+
/* @__PURE__ */ jsx167(ProgressBar, { overallPercentage: statusDetails?.overall_percentage }),
|
|
42016
|
+
/* @__PURE__ */ jsx167("div", { className: "dark:text-gray400 text-gray-500 text-xs mt-2", children: (statusDetails?.overall_percentage ?? 0) < 100 && /* @__PURE__ */ jsx167("span", { children: statusDetails?.thinking_message ? truncateName(statusDetails.thinking_message, 200) : "Processing..." }) })
|
|
41793
42017
|
] });
|
|
41794
42018
|
}
|
|
41795
42019
|
|
|
41796
42020
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidgetSkeleton.tsx
|
|
41797
|
-
import { jsx as
|
|
42021
|
+
import { jsx as jsx168, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
41798
42022
|
function CreatorWidgetSkeleton() {
|
|
41799
|
-
return /* @__PURE__ */
|
|
41800
|
-
/* @__PURE__ */
|
|
41801
|
-
/* @__PURE__ */
|
|
41802
|
-
/* @__PURE__ */
|
|
42023
|
+
return /* @__PURE__ */ jsx168("div", { className: "bg-background dark:bg-gray50 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: [
|
|
42024
|
+
/* @__PURE__ */ jsx168("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: /* @__PURE__ */ jsxs128("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
42025
|
+
/* @__PURE__ */ jsx168("div", { className: "w-40 h-6 bg-purple200 rounded-md animate-pulse" }),
|
|
42026
|
+
/* @__PURE__ */ jsx168("div", { className: "w-64 h-7 bg-gray200 dark:bg-gray300 rounded animate-pulse" })
|
|
41803
42027
|
] }) }),
|
|
41804
|
-
/* @__PURE__ */
|
|
41805
|
-
/* @__PURE__ */
|
|
41806
|
-
/* @__PURE__ */
|
|
42028
|
+
/* @__PURE__ */ jsxs128("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: [
|
|
42029
|
+
/* @__PURE__ */ jsxs128("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
42030
|
+
/* @__PURE__ */ jsx168("div", { className: "flex -space-x-2", children: Array.from({ length: 10 }).map((_, idx) => /* @__PURE__ */ jsx168(
|
|
41807
42031
|
"div",
|
|
41808
42032
|
{
|
|
41809
42033
|
className: "w-8 h-8 md:w-10 md:h-10 rounded-full border-2 border-gray300 bg-gray200 animate-pulse"
|
|
41810
42034
|
},
|
|
41811
42035
|
idx
|
|
41812
42036
|
)) }),
|
|
41813
|
-
/* @__PURE__ */
|
|
42037
|
+
/* @__PURE__ */ jsx168("div", { className: "space-y-2", children: /* @__PURE__ */ jsx168("div", { className: "w-full max-w-xs bg-gray200 rounded-full h-2 animate-pulse" }) })
|
|
41814
42038
|
] }),
|
|
41815
|
-
/* @__PURE__ */
|
|
42039
|
+
/* @__PURE__ */ jsx168("div", { className: "px-6 py-2 bg-gray200 rounded-[30px] animate-pulse h-10 w-48" })
|
|
41816
42040
|
] })
|
|
41817
42041
|
] }) });
|
|
41818
42042
|
}
|
|
41819
42043
|
|
|
41820
42044
|
// src/molecules/creator-discovery/CreatorWidget/CreatorCompactView.tsx
|
|
41821
|
-
import { Fragment as Fragment8, jsx as
|
|
42045
|
+
import { Fragment as Fragment8, jsx as jsx169, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
41822
42046
|
function CreatorCompactView({
|
|
41823
42047
|
versions,
|
|
41824
42048
|
selectedVersion,
|
|
@@ -41835,16 +42059,16 @@ function CreatorCompactView({
|
|
|
41835
42059
|
const isComplete = versionStatus === "completed" || versionStatus === "complete";
|
|
41836
42060
|
const statusTitle = isComplete ? "Creator Search Complete" : versionStatus === "failed" ? "Creator Search Failed" : "Creator Search Processing";
|
|
41837
42061
|
if (isLoading) {
|
|
41838
|
-
return /* @__PURE__ */
|
|
42062
|
+
return /* @__PURE__ */ jsx169(CreatorWidgetSkeleton, {});
|
|
41839
42063
|
}
|
|
41840
|
-
return /* @__PURE__ */
|
|
41841
|
-
/* @__PURE__ */
|
|
41842
|
-
/* @__PURE__ */
|
|
41843
|
-
/* @__PURE__ */
|
|
41844
|
-
/* @__PURE__ */
|
|
42064
|
+
return /* @__PURE__ */ jsx169("div", { className: "bg-background dark:bg-gray100 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ jsxs129("div", { className: "p-4 md:p-6 space-y-4", children: [
|
|
42065
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: [
|
|
42066
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
42067
|
+
/* @__PURE__ */ jsx169("h4", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] text-xs font-medium text-purpleText", children: "VERIFIED CREATORS LIST" }),
|
|
42068
|
+
/* @__PURE__ */ jsx169("h3", { className: "text-gray900 md:text-lg font-bold", children: statusTitle })
|
|
41845
42069
|
] }),
|
|
41846
|
-
versions.length > 1 && /* @__PURE__ */
|
|
41847
|
-
/* @__PURE__ */
|
|
42070
|
+
versions.length > 1 && /* @__PURE__ */ jsx169("div", { className: "relative md:self-start", children: /* @__PURE__ */ jsxs129(DropdownMenu, { children: [
|
|
42071
|
+
/* @__PURE__ */ jsxs129(
|
|
41848
42072
|
DropdownMenuTrigger,
|
|
41849
42073
|
{
|
|
41850
42074
|
disabled: !isComplete,
|
|
@@ -41852,11 +42076,11 @@ function CreatorCompactView({
|
|
|
41852
42076
|
children: [
|
|
41853
42077
|
"Version ",
|
|
41854
42078
|
selectedVersion ?? "-",
|
|
41855
|
-
/* @__PURE__ */
|
|
42079
|
+
/* @__PURE__ */ jsx169(ChevronDown, { className: "w-3 h-3 md:w-4 md:h-4 transition-transform" })
|
|
41856
42080
|
]
|
|
41857
42081
|
}
|
|
41858
42082
|
),
|
|
41859
|
-
/* @__PURE__ */
|
|
42083
|
+
/* @__PURE__ */ jsx169(DropdownMenuContent, { className: "bg-[var(--creator-dropdown-bg)] border-2 border-gray400 min-w-[120px] max-h-[150px] overflow-y-auto", children: versions.map((v) => /* @__PURE__ */ jsxs129(
|
|
41860
42084
|
DropdownMenuItem,
|
|
41861
42085
|
{
|
|
41862
42086
|
onClick: () => onVersionSelect(v),
|
|
@@ -41870,12 +42094,12 @@ function CreatorCompactView({
|
|
|
41870
42094
|
)) })
|
|
41871
42095
|
] }) })
|
|
41872
42096
|
] }),
|
|
41873
|
-
/* @__PURE__ */
|
|
41874
|
-
/* @__PURE__ */
|
|
41875
|
-
/* @__PURE__ */
|
|
41876
|
-
] }) : /* @__PURE__ */
|
|
41877
|
-
/* @__PURE__ */
|
|
41878
|
-
/* @__PURE__ */
|
|
42097
|
+
/* @__PURE__ */ jsx169("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__ */ jsxs129("div", { className: "flex flex-col items-center justify-center w-full py-6 md:py-8 text-center text-red-500", children: [
|
|
42098
|
+
/* @__PURE__ */ jsx169("p", { className: "text-base md:text-lg font-semibold mb-2", children: "Creator Search Failed" }),
|
|
42099
|
+
/* @__PURE__ */ jsx169("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." })
|
|
42100
|
+
] }) : /* @__PURE__ */ jsxs129(Fragment8, { children: [
|
|
42101
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
42102
|
+
/* @__PURE__ */ jsx169(
|
|
41879
42103
|
CreatorImageList,
|
|
41880
42104
|
{
|
|
41881
42105
|
creatorImages,
|
|
@@ -41884,7 +42108,7 @@ function CreatorCompactView({
|
|
|
41884
42108
|
initialCreatorsPercentage: statusDetails?.social_fetch_percentage
|
|
41885
42109
|
}
|
|
41886
42110
|
),
|
|
41887
|
-
/* @__PURE__ */
|
|
42111
|
+
/* @__PURE__ */ jsx169(
|
|
41888
42112
|
CreatorProgressBar,
|
|
41889
42113
|
{
|
|
41890
42114
|
statusDetails,
|
|
@@ -41892,7 +42116,7 @@ function CreatorCompactView({
|
|
|
41892
42116
|
}
|
|
41893
42117
|
)
|
|
41894
42118
|
] }),
|
|
41895
|
-
/* @__PURE__ */
|
|
42119
|
+
/* @__PURE__ */ jsxs129(
|
|
41896
42120
|
"button",
|
|
41897
42121
|
{
|
|
41898
42122
|
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"}`,
|
|
@@ -41902,7 +42126,7 @@ function CreatorCompactView({
|
|
|
41902
42126
|
"View ",
|
|
41903
42127
|
creatorLength,
|
|
41904
42128
|
" Verified Creators",
|
|
41905
|
-
/* @__PURE__ */
|
|
42129
|
+
/* @__PURE__ */ jsx169(Triangle, { className: "w-3 h-3 md:w-4 md:h-4 rotate-90 font-bold" })
|
|
41906
42130
|
]
|
|
41907
42131
|
}
|
|
41908
42132
|
)
|
|
@@ -41911,7 +42135,7 @@ function CreatorCompactView({
|
|
|
41911
42135
|
}
|
|
41912
42136
|
|
|
41913
42137
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
41914
|
-
import { useState as
|
|
42138
|
+
import { useState as useState20, useEffect as useEffect13, useCallback as useCallback7 } from "react";
|
|
41915
42139
|
import ReactDOM2 from "react-dom";
|
|
41916
42140
|
import { AnimatePresence as AnimatePresence4, motion as motion5 } from "framer-motion";
|
|
41917
42141
|
|
|
@@ -42193,7 +42417,7 @@ var normalizeToIso2 = (input) => {
|
|
|
42193
42417
|
};
|
|
42194
42418
|
|
|
42195
42419
|
// src/molecules/creator-discovery/CreatorWidget/EngagedAudienceDemographics.tsx
|
|
42196
|
-
import { jsx as
|
|
42420
|
+
import { jsx as jsx170, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
42197
42421
|
function EngagedAudienceDemographics({
|
|
42198
42422
|
audienceDemographics
|
|
42199
42423
|
}) {
|
|
@@ -42211,31 +42435,31 @@ function EngagedAudienceDemographics({
|
|
|
42211
42435
|
if (hasAges) columns.push("1fr");
|
|
42212
42436
|
if (hasGenders) columns.push("0.4fr");
|
|
42213
42437
|
const gridTemplate = columns.join(" ");
|
|
42214
|
-
return /* @__PURE__ */
|
|
42215
|
-
/* @__PURE__ */
|
|
42216
|
-
/* @__PURE__ */
|
|
42438
|
+
return /* @__PURE__ */ jsxs130("div", { className: "flex flex-col gap-4", children: [
|
|
42439
|
+
/* @__PURE__ */ jsx170("div", { className: "text-purpleText text-xs", children: /* @__PURE__ */ jsx170("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "ENGAGED AUDIENCE" }) }),
|
|
42440
|
+
/* @__PURE__ */ jsxs130(
|
|
42217
42441
|
"div",
|
|
42218
42442
|
{
|
|
42219
42443
|
className: "flex flex-col sm:col-span-3 sm:grid gap-6",
|
|
42220
42444
|
style: { gridTemplateColumns: gridTemplate },
|
|
42221
42445
|
children: [
|
|
42222
|
-
hasCities && /* @__PURE__ */
|
|
42223
|
-
/* @__PURE__ */
|
|
42224
|
-
/* @__PURE__ */
|
|
42225
|
-
([code, value]) => /* @__PURE__ */
|
|
42446
|
+
hasCities && /* @__PURE__ */ jsxs130("div", { children: [
|
|
42447
|
+
/* @__PURE__ */ jsx170("h4", { className: "text-xs text-gray700 mb-3", children: "Cities" }),
|
|
42448
|
+
/* @__PURE__ */ jsx170("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.cities || {}).map(
|
|
42449
|
+
([code, value]) => /* @__PURE__ */ jsxs130(
|
|
42226
42450
|
"div",
|
|
42227
42451
|
{
|
|
42228
42452
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
42229
42453
|
children: [
|
|
42230
|
-
/* @__PURE__ */
|
|
42231
|
-
/* @__PURE__ */
|
|
42454
|
+
/* @__PURE__ */ jsx170("span", { className: "w-[90px]", children: /* @__PURE__ */ jsx170("div", { className: "flex gap-1 items-center", children: /* @__PURE__ */ jsx170("span", { children: code.split(",")[0] }) }) }),
|
|
42455
|
+
/* @__PURE__ */ jsx170("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx170(
|
|
42232
42456
|
"div",
|
|
42233
42457
|
{
|
|
42234
42458
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
42235
42459
|
style: { width: `${value}%` }
|
|
42236
42460
|
}
|
|
42237
42461
|
) }),
|
|
42238
|
-
/* @__PURE__ */
|
|
42462
|
+
/* @__PURE__ */ jsxs130("span", { className: "w-10 text-right font-medium", children: [
|
|
42239
42463
|
value,
|
|
42240
42464
|
"%"
|
|
42241
42465
|
] })
|
|
@@ -42245,29 +42469,29 @@ function EngagedAudienceDemographics({
|
|
|
42245
42469
|
)
|
|
42246
42470
|
) })
|
|
42247
42471
|
] }),
|
|
42248
|
-
hasCountries && /* @__PURE__ */
|
|
42249
|
-
/* @__PURE__ */
|
|
42250
|
-
/* @__PURE__ */
|
|
42472
|
+
hasCountries && /* @__PURE__ */ jsxs130("div", { children: [
|
|
42473
|
+
/* @__PURE__ */ jsx170("h4", { className: "text-xs text-gray700 mb-3", children: "Countries" }),
|
|
42474
|
+
/* @__PURE__ */ jsx170("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.countries || {}).map(
|
|
42251
42475
|
([code, value]) => {
|
|
42252
42476
|
const iso2 = normalizeToIso2(code);
|
|
42253
42477
|
const meta = codeToMeta[iso2];
|
|
42254
|
-
return /* @__PURE__ */
|
|
42478
|
+
return /* @__PURE__ */ jsxs130(
|
|
42255
42479
|
"div",
|
|
42256
42480
|
{
|
|
42257
42481
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
42258
42482
|
children: [
|
|
42259
|
-
/* @__PURE__ */
|
|
42260
|
-
/* @__PURE__ */
|
|
42261
|
-
/* @__PURE__ */
|
|
42483
|
+
/* @__PURE__ */ jsx170("span", { className: "w-10", children: /* @__PURE__ */ jsxs130("div", { className: "flex gap-1 items-center", children: [
|
|
42484
|
+
/* @__PURE__ */ jsx170("span", { className: "text-base", children: meta?.flag }),
|
|
42485
|
+
/* @__PURE__ */ jsx170("span", { children: code })
|
|
42262
42486
|
] }) }),
|
|
42263
|
-
/* @__PURE__ */
|
|
42487
|
+
/* @__PURE__ */ jsx170("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx170(
|
|
42264
42488
|
"div",
|
|
42265
42489
|
{
|
|
42266
42490
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
42267
42491
|
style: { width: `${value}%` }
|
|
42268
42492
|
}
|
|
42269
42493
|
) }),
|
|
42270
|
-
/* @__PURE__ */
|
|
42494
|
+
/* @__PURE__ */ jsxs130("span", { className: "w-10 text-right font-medium", children: [
|
|
42271
42495
|
value,
|
|
42272
42496
|
"%"
|
|
42273
42497
|
] })
|
|
@@ -42278,23 +42502,23 @@ function EngagedAudienceDemographics({
|
|
|
42278
42502
|
}
|
|
42279
42503
|
) })
|
|
42280
42504
|
] }),
|
|
42281
|
-
hasAges && /* @__PURE__ */
|
|
42282
|
-
/* @__PURE__ */
|
|
42283
|
-
/* @__PURE__ */
|
|
42284
|
-
([ageRange, value]) => /* @__PURE__ */
|
|
42505
|
+
hasAges && /* @__PURE__ */ jsxs130("div", { children: [
|
|
42506
|
+
/* @__PURE__ */ jsx170("h4", { className: "text-xs text-gray700 mb-3", children: "Ages" }),
|
|
42507
|
+
/* @__PURE__ */ jsx170("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.ages || {}).map(
|
|
42508
|
+
([ageRange, value]) => /* @__PURE__ */ jsxs130(
|
|
42285
42509
|
"div",
|
|
42286
42510
|
{
|
|
42287
42511
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
42288
42512
|
children: [
|
|
42289
|
-
/* @__PURE__ */
|
|
42290
|
-
/* @__PURE__ */
|
|
42513
|
+
/* @__PURE__ */ jsx170("span", { className: "w-12", children: ageRange }),
|
|
42514
|
+
/* @__PURE__ */ jsx170("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx170(
|
|
42291
42515
|
"div",
|
|
42292
42516
|
{
|
|
42293
42517
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
42294
42518
|
style: { width: `${value}%` }
|
|
42295
42519
|
}
|
|
42296
42520
|
) }),
|
|
42297
|
-
/* @__PURE__ */
|
|
42521
|
+
/* @__PURE__ */ jsxs130("span", { className: "w-10 text-right font-medium", children: [
|
|
42298
42522
|
value,
|
|
42299
42523
|
"%"
|
|
42300
42524
|
] })
|
|
@@ -42304,20 +42528,20 @@ function EngagedAudienceDemographics({
|
|
|
42304
42528
|
)
|
|
42305
42529
|
) })
|
|
42306
42530
|
] }),
|
|
42307
|
-
hasGenders && /* @__PURE__ */
|
|
42308
|
-
([gender, value]) => /* @__PURE__ */
|
|
42531
|
+
hasGenders && /* @__PURE__ */ jsx170("div", { className: "flex flex-col justify-center", children: /* @__PURE__ */ jsx170("div", { className: "flex sm:flex-col gap-3", children: Object.entries(audienceDemographics?.genders || {}).map(
|
|
42532
|
+
([gender, value]) => /* @__PURE__ */ jsxs130(
|
|
42309
42533
|
"div",
|
|
42310
42534
|
{
|
|
42311
42535
|
className: "flex flex-col justify-center text-sm",
|
|
42312
42536
|
children: [
|
|
42313
|
-
/* @__PURE__ */
|
|
42314
|
-
gender === "female" ? /* @__PURE__ */
|
|
42315
|
-
/* @__PURE__ */
|
|
42537
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
42538
|
+
gender === "female" ? /* @__PURE__ */ jsx170(Venus, { className: "text-red-500", strokeWidth: 3 }) : /* @__PURE__ */ jsx170(Mars, { className: "text-blue-500", strokeWidth: 3 }),
|
|
42539
|
+
/* @__PURE__ */ jsxs130("span", { className: "capitalize text-gray800 text-xl", children: [
|
|
42316
42540
|
value,
|
|
42317
42541
|
"%"
|
|
42318
42542
|
] })
|
|
42319
42543
|
] }),
|
|
42320
|
-
/* @__PURE__ */
|
|
42544
|
+
/* @__PURE__ */ jsx170("span", { className: "text-lg text-gray700", children: gender.charAt(0).toUpperCase() + gender.slice(1) })
|
|
42321
42545
|
]
|
|
42322
42546
|
},
|
|
42323
42547
|
gender
|
|
@@ -42330,40 +42554,40 @@ function EngagedAudienceDemographics({
|
|
|
42330
42554
|
}
|
|
42331
42555
|
|
|
42332
42556
|
// src/molecules/creator-discovery/CreatorWidget/PlatformIcons.tsx
|
|
42333
|
-
import { jsx as
|
|
42557
|
+
import { jsx as jsx171 } from "react/jsx-runtime";
|
|
42334
42558
|
function InstagramIcon({ className }) {
|
|
42335
|
-
return /* @__PURE__ */
|
|
42559
|
+
return /* @__PURE__ */ jsx171(
|
|
42336
42560
|
"svg",
|
|
42337
42561
|
{
|
|
42338
42562
|
className,
|
|
42339
42563
|
viewBox: "0 0 24 24",
|
|
42340
42564
|
fill: "currentColor",
|
|
42341
42565
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42342
|
-
children: /* @__PURE__ */
|
|
42566
|
+
children: /* @__PURE__ */ jsx171("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" })
|
|
42343
42567
|
}
|
|
42344
42568
|
);
|
|
42345
42569
|
}
|
|
42346
42570
|
function YouTubeIcon({ className }) {
|
|
42347
|
-
return /* @__PURE__ */
|
|
42571
|
+
return /* @__PURE__ */ jsx171(
|
|
42348
42572
|
"svg",
|
|
42349
42573
|
{
|
|
42350
42574
|
className,
|
|
42351
42575
|
viewBox: "0 0 24 24",
|
|
42352
42576
|
fill: "currentColor",
|
|
42353
42577
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42354
|
-
children: /* @__PURE__ */
|
|
42578
|
+
children: /* @__PURE__ */ jsx171("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" })
|
|
42355
42579
|
}
|
|
42356
42580
|
);
|
|
42357
42581
|
}
|
|
42358
42582
|
function TikTokIcon3({ className }) {
|
|
42359
|
-
return /* @__PURE__ */
|
|
42583
|
+
return /* @__PURE__ */ jsx171(
|
|
42360
42584
|
"svg",
|
|
42361
42585
|
{
|
|
42362
42586
|
className,
|
|
42363
42587
|
viewBox: "0 0 24 24",
|
|
42364
42588
|
fill: "currentColor",
|
|
42365
42589
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42366
|
-
children: /* @__PURE__ */
|
|
42590
|
+
children: /* @__PURE__ */ jsx171("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" })
|
|
42367
42591
|
}
|
|
42368
42592
|
);
|
|
42369
42593
|
}
|
|
@@ -42397,8 +42621,8 @@ function getPlatformIconColor(platform) {
|
|
|
42397
42621
|
}
|
|
42398
42622
|
|
|
42399
42623
|
// src/molecules/creator-discovery/CreatorWidget/PostCard.tsx
|
|
42400
|
-
import { useState as
|
|
42401
|
-
import { Fragment as Fragment9, jsx as
|
|
42624
|
+
import { useState as useState17 } from "react";
|
|
42625
|
+
import { Fragment as Fragment9, jsx as jsx172, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
42402
42626
|
var formatFollowerCount = (count) => {
|
|
42403
42627
|
if (count >= 1e6) {
|
|
42404
42628
|
const millions = count / 1e6;
|
|
@@ -42411,15 +42635,15 @@ var formatFollowerCount = (count) => {
|
|
|
42411
42635
|
return Math.floor(count).toString();
|
|
42412
42636
|
};
|
|
42413
42637
|
function PostCard({ post, platformUsername }) {
|
|
42414
|
-
const [expanded, setExpanded] =
|
|
42415
|
-
const [errored, setErrored] =
|
|
42638
|
+
const [expanded, setExpanded] = useState17(false);
|
|
42639
|
+
const [errored, setErrored] = useState17(false);
|
|
42416
42640
|
const thumbnail = post.thumbnail_url || post.thumbnail || post.image || "";
|
|
42417
42641
|
const likes = post.engagement?.likes ?? post.likes ?? null;
|
|
42418
42642
|
const comments = post.engagement?.comments ?? post.comments ?? null;
|
|
42419
42643
|
const views = post.engagement?.views ?? post.engagement?.plays ?? post.views ?? post.plays ?? null;
|
|
42420
42644
|
const impressions = post.impressions ?? null;
|
|
42421
42645
|
const reach = post.reach ?? null;
|
|
42422
|
-
return /* @__PURE__ */
|
|
42646
|
+
return /* @__PURE__ */ jsxs131(
|
|
42423
42647
|
"div",
|
|
42424
42648
|
{
|
|
42425
42649
|
className: "rounded-xl overflow-hidden border border-gray500 bg-transparent shadow-sm cursor-pointer",
|
|
@@ -42428,7 +42652,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
42428
42652
|
window.open(post.url, "_blank", "noopener,noreferrer");
|
|
42429
42653
|
},
|
|
42430
42654
|
children: [
|
|
42431
|
-
/* @__PURE__ */
|
|
42655
|
+
/* @__PURE__ */ jsx172("div", { className: "w-full aspect-square relative bg-gray25", children: thumbnail && !errored ? /* @__PURE__ */ jsx172(
|
|
42432
42656
|
"img",
|
|
42433
42657
|
{
|
|
42434
42658
|
src: thumbnail,
|
|
@@ -42436,55 +42660,55 @@ function PostCard({ post, platformUsername }) {
|
|
|
42436
42660
|
className: "w-full h-full object-cover",
|
|
42437
42661
|
onError: () => setErrored(true)
|
|
42438
42662
|
}
|
|
42439
|
-
) : /* @__PURE__ */
|
|
42440
|
-
/* @__PURE__ */
|
|
42441
|
-
/* @__PURE__ */
|
|
42442
|
-
likes !== null && /* @__PURE__ */
|
|
42443
|
-
/* @__PURE__ */
|
|
42663
|
+
) : /* @__PURE__ */ jsx172("div", { className: "w-full h-full flex items-center justify-center text-gray500 text-sm", children: "No preview" }) }),
|
|
42664
|
+
/* @__PURE__ */ jsxs131("div", { className: "p-3", children: [
|
|
42665
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-4 text-sm text-gray600 mb-2", children: [
|
|
42666
|
+
likes !== null && /* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-1", children: [
|
|
42667
|
+
/* @__PURE__ */ jsx172("span", { children: formatFollowerCount(likes) }),
|
|
42444
42668
|
" ",
|
|
42445
|
-
/* @__PURE__ */
|
|
42669
|
+
/* @__PURE__ */ jsx172(Heart, { size: 14 })
|
|
42446
42670
|
] }),
|
|
42447
|
-
comments !== null && /* @__PURE__ */
|
|
42448
|
-
/* @__PURE__ */
|
|
42671
|
+
comments !== null && /* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-1", children: [
|
|
42672
|
+
/* @__PURE__ */ jsx172("span", { children: formatFollowerCount(comments) }),
|
|
42449
42673
|
" ",
|
|
42450
|
-
/* @__PURE__ */
|
|
42674
|
+
/* @__PURE__ */ jsx172(MessageCircle, { size: 14 })
|
|
42451
42675
|
] }),
|
|
42452
|
-
views !== null && /* @__PURE__ */
|
|
42453
|
-
/* @__PURE__ */
|
|
42676
|
+
views !== null && /* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-1", children: [
|
|
42677
|
+
/* @__PURE__ */ jsx172("span", { children: formatFollowerCount(views) }),
|
|
42454
42678
|
" ",
|
|
42455
|
-
/* @__PURE__ */
|
|
42679
|
+
/* @__PURE__ */ jsx172(Eye, { size: 14 })
|
|
42456
42680
|
] })
|
|
42457
42681
|
] }),
|
|
42458
|
-
/* @__PURE__ */
|
|
42459
|
-
impressions !== null && /* @__PURE__ */
|
|
42460
|
-
/* @__PURE__ */
|
|
42682
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex gap-4 text-sm text-gray800 mb-2", children: [
|
|
42683
|
+
impressions !== null && /* @__PURE__ */ jsxs131("div", { children: [
|
|
42684
|
+
/* @__PURE__ */ jsx172("span", { className: "text-gray500 font-bold", children: formatFollowerCount(impressions) }),
|
|
42461
42685
|
" ",
|
|
42462
42686
|
"est.Impressions"
|
|
42463
42687
|
] }),
|
|
42464
|
-
reach !== null && /* @__PURE__ */
|
|
42465
|
-
/* @__PURE__ */
|
|
42688
|
+
reach !== null && /* @__PURE__ */ jsxs131("div", { children: [
|
|
42689
|
+
/* @__PURE__ */ jsx172("span", { className: "text-gray500 font-bold", children: formatFollowerCount(reach) }),
|
|
42466
42690
|
" ",
|
|
42467
42691
|
"est.Reach"
|
|
42468
42692
|
] })
|
|
42469
42693
|
] }),
|
|
42470
|
-
/* @__PURE__ */
|
|
42471
|
-
platformUsername && /* @__PURE__ */
|
|
42694
|
+
/* @__PURE__ */ jsxs131("div", { className: "text-sm mb-1", children: [
|
|
42695
|
+
platformUsername && /* @__PURE__ */ jsxs131("div", { className: "text-md font-semibold text-gray500", children: [
|
|
42472
42696
|
"@",
|
|
42473
42697
|
platformUsername
|
|
42474
42698
|
] }),
|
|
42475
42699
|
["instagram", "tiktok"].includes(
|
|
42476
42700
|
post.platform?.toLowerCase() || ""
|
|
42477
|
-
) ? /* @__PURE__ */
|
|
42701
|
+
) ? /* @__PURE__ */ jsx172(Fragment9, { children: (() => {
|
|
42478
42702
|
const text = post.title || post.description || "";
|
|
42479
|
-
return /* @__PURE__ */
|
|
42480
|
-
/* @__PURE__ */
|
|
42703
|
+
return /* @__PURE__ */ jsxs131(Fragment9, { children: [
|
|
42704
|
+
/* @__PURE__ */ jsx172(
|
|
42481
42705
|
"div",
|
|
42482
42706
|
{
|
|
42483
42707
|
className: `text-gray900 font-light mt-2 text-sm ${!expanded ? "line-clamp-3" : ""}`,
|
|
42484
42708
|
children: text
|
|
42485
42709
|
}
|
|
42486
42710
|
),
|
|
42487
|
-
text.length > 100 && /* @__PURE__ */
|
|
42711
|
+
text.length > 100 && /* @__PURE__ */ jsx172(
|
|
42488
42712
|
"button",
|
|
42489
42713
|
{
|
|
42490
42714
|
onClick: (e) => {
|
|
@@ -42496,9 +42720,9 @@ function PostCard({ post, platformUsername }) {
|
|
|
42496
42720
|
}
|
|
42497
42721
|
)
|
|
42498
42722
|
] });
|
|
42499
|
-
})() }) : /* @__PURE__ */
|
|
42500
|
-
post.title && /* @__PURE__ */
|
|
42501
|
-
post.description && /* @__PURE__ */
|
|
42723
|
+
})() }) : /* @__PURE__ */ jsxs131(Fragment9, { children: [
|
|
42724
|
+
post.title && /* @__PURE__ */ jsx172("div", { className: "text-gray900 font-light", children: post.title }),
|
|
42725
|
+
post.description && /* @__PURE__ */ jsx172(
|
|
42502
42726
|
"div",
|
|
42503
42727
|
{
|
|
42504
42728
|
className: "mt-2 text-sm text-gray900 overflow-hidden font-light",
|
|
@@ -42506,7 +42730,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
42506
42730
|
children: post.description
|
|
42507
42731
|
}
|
|
42508
42732
|
),
|
|
42509
|
-
post.description && post.description.length > 200 && /* @__PURE__ */
|
|
42733
|
+
post.description && post.description.length > 200 && /* @__PURE__ */ jsx172(
|
|
42510
42734
|
"button",
|
|
42511
42735
|
{
|
|
42512
42736
|
onClick: (e) => {
|
|
@@ -42526,7 +42750,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
42526
42750
|
}
|
|
42527
42751
|
|
|
42528
42752
|
// src/molecules/creator-discovery/CreatorWidget/PlatformPostsSection.tsx
|
|
42529
|
-
import { jsx as
|
|
42753
|
+
import { jsx as jsx173, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
42530
42754
|
var formatFollowerCount2 = (count) => {
|
|
42531
42755
|
if (count >= 1e6) {
|
|
42532
42756
|
const millions = count / 1e6;
|
|
@@ -42550,21 +42774,21 @@ function PlatformMetricsBanner({
|
|
|
42550
42774
|
const platformName = getPlatformName(platform);
|
|
42551
42775
|
const bgColor = getPlatformBgColor(platform);
|
|
42552
42776
|
const IconComponent = getPlatformIcon(platform);
|
|
42553
|
-
return /* @__PURE__ */
|
|
42777
|
+
return /* @__PURE__ */ jsxs132(
|
|
42554
42778
|
"div",
|
|
42555
42779
|
{
|
|
42556
|
-
className: "\n
|
|
42780
|
+
className: "\r\n grid grid-cols-1 gap-3 rounded-xl py-4 px-4 shadow-sm\r\n md:flex md:overflow-x-auto md:gap-6 md:rounded-l-xl md:py-4 md:px-4 md:items-center md:gap-0 md:px-0 md:ml-8\r\n ",
|
|
42557
42781
|
style: { backgroundColor: bgColor },
|
|
42558
42782
|
children: [
|
|
42559
|
-
/* @__PURE__ */
|
|
42560
|
-
/* @__PURE__ */
|
|
42561
|
-
/* @__PURE__ */
|
|
42783
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex flex-col items-center md:min-w-0", children: [
|
|
42784
|
+
/* @__PURE__ */ jsx173(IconComponent, { className: "w-5 h-5 md:w-6 md:h-6 text-gray900" }),
|
|
42785
|
+
/* @__PURE__ */ jsx173("span", { className: "text-sm md:text-xl font-bold text-gray900", children: platform === "youtubeMetrics" ? formatFollowerCount2(metrics.subscribers || 0) : formatFollowerCount2(metrics.followers || 0) })
|
|
42562
42786
|
] }),
|
|
42563
|
-
/* @__PURE__ */
|
|
42564
|
-
/* @__PURE__ */
|
|
42787
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex flex-col items-start md:min-w-0", children: [
|
|
42788
|
+
/* @__PURE__ */ jsxs132(
|
|
42565
42789
|
"span",
|
|
42566
42790
|
{
|
|
42567
|
-
className: "text-
|
|
42791
|
+
className: "text-xs md:text-lg dark:text-white truncate cursor-default",
|
|
42568
42792
|
title: `@${platform === "youtubeMetrics" ? metrics.channelName : metrics.username}`,
|
|
42569
42793
|
children: [
|
|
42570
42794
|
"@",
|
|
@@ -42572,22 +42796,22 @@ function PlatformMetricsBanner({
|
|
|
42572
42796
|
]
|
|
42573
42797
|
}
|
|
42574
42798
|
),
|
|
42575
|
-
/* @__PURE__ */
|
|
42799
|
+
/* @__PURE__ */ jsx173("span", { className: "text-xs md:text-sm text-gray900 opacity-90", children: platformName })
|
|
42576
42800
|
] }),
|
|
42577
|
-
/* @__PURE__ */
|
|
42578
|
-
/* @__PURE__ */
|
|
42801
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex flex-col items-start md:min-w-0", children: [
|
|
42802
|
+
/* @__PURE__ */ jsxs132("span", { className: "text-xs md:text-md font-semibold text-gray900", children: [
|
|
42579
42803
|
(metrics.engagementRate * 100).toFixed(2),
|
|
42580
42804
|
"%"
|
|
42581
42805
|
] }),
|
|
42582
|
-
/* @__PURE__ */
|
|
42806
|
+
/* @__PURE__ */ jsx173("span", { className: "text-xs text-gray900 opacity-80", children: "Engagement Rate" })
|
|
42583
42807
|
] }),
|
|
42584
|
-
/* @__PURE__ */
|
|
42585
|
-
/* @__PURE__ */
|
|
42586
|
-
/* @__PURE__ */
|
|
42808
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex flex-col items-start md:min-w-0", children: [
|
|
42809
|
+
/* @__PURE__ */ jsx173("span", { className: "text-xs md:text-md font-semibold text-gray900", children: Math.round(metrics.avgLikes)?.toLocaleString() }),
|
|
42810
|
+
/* @__PURE__ */ jsx173("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Likes" })
|
|
42587
42811
|
] }),
|
|
42588
|
-
/* @__PURE__ */
|
|
42589
|
-
/* @__PURE__ */
|
|
42590
|
-
/* @__PURE__ */
|
|
42812
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex flex-col items-start md:min-w-0", children: [
|
|
42813
|
+
/* @__PURE__ */ jsx173("span", { className: "text-xs md:text-md font-semibold text-gray900", children: Math.round(metrics.avgComments)?.toLocaleString() }),
|
|
42814
|
+
/* @__PURE__ */ jsx173("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Comments" })
|
|
42591
42815
|
] })
|
|
42592
42816
|
]
|
|
42593
42817
|
}
|
|
@@ -42598,16 +42822,16 @@ function PlatformPostsSection({
|
|
|
42598
42822
|
posts = []
|
|
42599
42823
|
}) {
|
|
42600
42824
|
if (!platformMetrics) return null;
|
|
42601
|
-
return /* @__PURE__ */
|
|
42825
|
+
return /* @__PURE__ */ jsx173("div", { className: "flex flex-col gap-4", children: /* @__PURE__ */ jsx173("div", { className: "flex flex-col gap-8", children: Object.entries(platformMetrics || {}).map(
|
|
42602
42826
|
([platform, metrics]) => {
|
|
42603
42827
|
if (!metrics) return null;
|
|
42604
42828
|
if (metrics.followers === 0 && metrics.subscribers === 0)
|
|
42605
42829
|
return null;
|
|
42606
42830
|
const platformPosts = filterPostsByPlatform(posts, platform);
|
|
42607
42831
|
const platformUsername = metrics.username ?? metrics.channelName ?? "";
|
|
42608
|
-
return /* @__PURE__ */
|
|
42609
|
-
/* @__PURE__ */
|
|
42610
|
-
platformPosts.length > 0 && /* @__PURE__ */
|
|
42832
|
+
return /* @__PURE__ */ jsxs132("div", { className: "w-full flex flex-col gap-8", children: [
|
|
42833
|
+
/* @__PURE__ */ jsx173(PlatformMetricsBanner, { platform, metrics }),
|
|
42834
|
+
platformPosts.length > 0 && /* @__PURE__ */ jsx173("div", { className: " sm:ml-8 sm:pr-7", children: /* @__PURE__ */ jsx173("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: platformPosts.map((post, idx) => /* @__PURE__ */ jsx173(
|
|
42611
42835
|
PostCard,
|
|
42612
42836
|
{
|
|
42613
42837
|
post,
|
|
@@ -42621,10 +42845,10 @@ function PlatformPostsSection({
|
|
|
42621
42845
|
}
|
|
42622
42846
|
|
|
42623
42847
|
// src/molecules/creator-discovery/CreatorWidget/BrandCollaborationsList.tsx
|
|
42624
|
-
import { useState as
|
|
42848
|
+
import { useState as useState18 } from "react";
|
|
42625
42849
|
import ReactDOM from "react-dom";
|
|
42626
42850
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
42627
|
-
import { Fragment as Fragment10, jsx as
|
|
42851
|
+
import { Fragment as Fragment10, jsx as jsx174, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
42628
42852
|
var getSentimentRank = (score) => {
|
|
42629
42853
|
if (score >= 80) {
|
|
42630
42854
|
return {
|
|
@@ -42669,8 +42893,8 @@ function BrandMentionDetails({
|
|
|
42669
42893
|
) || [];
|
|
42670
42894
|
if (typeof window === "undefined") return null;
|
|
42671
42895
|
return ReactDOM.createPortal(
|
|
42672
|
-
/* @__PURE__ */
|
|
42673
|
-
/* @__PURE__ */
|
|
42896
|
+
/* @__PURE__ */ jsx174(AnimatePresence3, { mode: "sync", children: open && /* @__PURE__ */ jsxs133(Fragment10, { children: [
|
|
42897
|
+
/* @__PURE__ */ jsx174(
|
|
42674
42898
|
motion3.div,
|
|
42675
42899
|
{
|
|
42676
42900
|
initial: { opacity: 0 },
|
|
@@ -42685,7 +42909,7 @@ function BrandMentionDetails({
|
|
|
42685
42909
|
},
|
|
42686
42910
|
"brand-overlay"
|
|
42687
42911
|
),
|
|
42688
|
-
/* @__PURE__ */
|
|
42912
|
+
/* @__PURE__ */ jsxs133(
|
|
42689
42913
|
motion3.div,
|
|
42690
42914
|
{
|
|
42691
42915
|
initial: { opacity: 0, scale: 0.95 },
|
|
@@ -42695,42 +42919,42 @@ function BrandMentionDetails({
|
|
|
42695
42919
|
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",
|
|
42696
42920
|
onClick: (e) => e.stopPropagation(),
|
|
42697
42921
|
children: [
|
|
42698
|
-
/* @__PURE__ */
|
|
42699
|
-
/* @__PURE__ */
|
|
42922
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex justify-between items-center p-4 border-b border-gray300", children: [
|
|
42923
|
+
/* @__PURE__ */ jsxs133("h3", { className: "text-lg font-bold text-gray900", children: [
|
|
42700
42924
|
"Brand Mention Details: ",
|
|
42701
42925
|
selectedBrand
|
|
42702
42926
|
] }),
|
|
42703
|
-
/* @__PURE__ */
|
|
42927
|
+
/* @__PURE__ */ jsx174(
|
|
42704
42928
|
"button",
|
|
42705
42929
|
{
|
|
42706
42930
|
onClick: onClose,
|
|
42707
42931
|
className: "p-1 rounded-full hover:bg-gray200 transition-colors",
|
|
42708
|
-
children: /* @__PURE__ */
|
|
42932
|
+
children: /* @__PURE__ */ jsx174(X, { className: "w-4 h-4" })
|
|
42709
42933
|
}
|
|
42710
42934
|
)
|
|
42711
42935
|
] }),
|
|
42712
|
-
/* @__PURE__ */
|
|
42713
|
-
brandStats && /* @__PURE__ */
|
|
42714
|
-
/* @__PURE__ */
|
|
42715
|
-
/* @__PURE__ */
|
|
42716
|
-
/* @__PURE__ */
|
|
42717
|
-
/* @__PURE__ */
|
|
42718
|
-
/* @__PURE__ */
|
|
42936
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-6 max-h-[70vh] overflow-y-auto p-4", children: [
|
|
42937
|
+
brandStats && /* @__PURE__ */ jsxs133("div", { className: "bg-gray25 border-2 border-gray200 rounded-xl p-4", children: [
|
|
42938
|
+
/* @__PURE__ */ jsx174("h3", { className: "text-lg font-bold text-gray900 mb-4", children: "Overview" }),
|
|
42939
|
+
/* @__PURE__ */ jsxs133("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
42940
|
+
/* @__PURE__ */ jsxs133("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42941
|
+
/* @__PURE__ */ jsx174("div", { className: "text-xs text-gray600", children: "Total Mentions" }),
|
|
42942
|
+
/* @__PURE__ */ jsx174("div", { className: "text-2xl font-bold text-gray900", children: brandStats.mentions })
|
|
42719
42943
|
] }),
|
|
42720
|
-
/* @__PURE__ */
|
|
42721
|
-
/* @__PURE__ */
|
|
42722
|
-
/* @__PURE__ */
|
|
42944
|
+
/* @__PURE__ */ jsxs133("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42945
|
+
/* @__PURE__ */ jsx174("div", { className: "text-xs text-gray600", children: "Posts Count" }),
|
|
42946
|
+
/* @__PURE__ */ jsx174("div", { className: "text-2xl font-bold text-gray900", children: brandStats.postCount })
|
|
42723
42947
|
] }),
|
|
42724
|
-
/* @__PURE__ */
|
|
42725
|
-
/* @__PURE__ */
|
|
42726
|
-
/* @__PURE__ */
|
|
42948
|
+
/* @__PURE__ */ jsxs133("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42949
|
+
/* @__PURE__ */ jsx174("div", { className: "text-xs text-gray600", children: "Avg Engagement" }),
|
|
42950
|
+
/* @__PURE__ */ jsxs133("div", { className: "text-2xl font-bold text-gray900", children: [
|
|
42727
42951
|
brandStats.averageEngagementRate?.toFixed(2),
|
|
42728
42952
|
"%"
|
|
42729
42953
|
] })
|
|
42730
42954
|
] }),
|
|
42731
|
-
/* @__PURE__ */
|
|
42732
|
-
/* @__PURE__ */
|
|
42733
|
-
/* @__PURE__ */
|
|
42955
|
+
/* @__PURE__ */ jsxs133("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42956
|
+
/* @__PURE__ */ jsx174("div", { className: "text-xs text-gray600", children: "Effectiveness" }),
|
|
42957
|
+
/* @__PURE__ */ jsxs133(
|
|
42734
42958
|
"div",
|
|
42735
42959
|
{
|
|
42736
42960
|
className: `text-2xl font-bold ${getSentimentRank(brandStats.effectivenessPercent).scoreColor}`,
|
|
@@ -42742,8 +42966,8 @@ function BrandMentionDetails({
|
|
|
42742
42966
|
)
|
|
42743
42967
|
] })
|
|
42744
42968
|
] }),
|
|
42745
|
-
/* @__PURE__ */
|
|
42746
|
-
(type, idx) => /* @__PURE__ */
|
|
42969
|
+
/* @__PURE__ */ jsx174("div", { className: "mt-3 flex gap-2 flex-wrap", children: brandStats.collaborationTypes?.map(
|
|
42970
|
+
(type, idx) => /* @__PURE__ */ jsx174(
|
|
42747
42971
|
"span",
|
|
42748
42972
|
{
|
|
42749
42973
|
className: "px-3 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]",
|
|
@@ -42753,55 +42977,55 @@ function BrandMentionDetails({
|
|
|
42753
42977
|
)
|
|
42754
42978
|
) })
|
|
42755
42979
|
] }),
|
|
42756
|
-
/* @__PURE__ */
|
|
42757
|
-
/* @__PURE__ */
|
|
42980
|
+
/* @__PURE__ */ jsxs133("div", { children: [
|
|
42981
|
+
/* @__PURE__ */ jsxs133("h3", { className: "text-lg font-bold text-gray900 mb-3", children: [
|
|
42758
42982
|
"Individual Mentions (",
|
|
42759
42983
|
brandMentions.length,
|
|
42760
42984
|
")"
|
|
42761
42985
|
] }),
|
|
42762
|
-
/* @__PURE__ */
|
|
42986
|
+
/* @__PURE__ */ jsx174("div", { className: "flex flex-col gap-3", children: brandMentions.map((mention, index) => {
|
|
42763
42987
|
const IconComponent = getPlatformIcon(mention?.platform);
|
|
42764
|
-
return /* @__PURE__ */
|
|
42988
|
+
return /* @__PURE__ */ jsxs133(
|
|
42765
42989
|
"div",
|
|
42766
42990
|
{
|
|
42767
42991
|
className: "bg-gray50 border-2 border-gray200 rounded-xl p-4 hover:border-purple100 transition-colors",
|
|
42768
42992
|
children: [
|
|
42769
|
-
/* @__PURE__ */
|
|
42770
|
-
/* @__PURE__ */
|
|
42771
|
-
/* @__PURE__ */
|
|
42772
|
-
/* @__PURE__ */
|
|
42993
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex items-center justify-between mb-3", children: [
|
|
42994
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex items-center gap-2", children: [
|
|
42995
|
+
/* @__PURE__ */ jsx174(IconComponent, { className: "w-5 h-5 text-gray900" }),
|
|
42996
|
+
/* @__PURE__ */ jsx174("span", { className: "text-sm font-medium text-gray700 capitalize", children: mention.platform })
|
|
42773
42997
|
] }),
|
|
42774
|
-
/* @__PURE__ */
|
|
42775
|
-
/* @__PURE__ */
|
|
42776
|
-
/* @__PURE__ */
|
|
42998
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex items-center gap-2", children: [
|
|
42999
|
+
/* @__PURE__ */ jsx174("span", { className: "px-2 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]", children: mention.collaborationType }),
|
|
43000
|
+
/* @__PURE__ */ jsxs133("span", { className: "text-xs text-gray600", children: [
|
|
42777
43001
|
Math.round(mention.confidence * 100),
|
|
42778
43002
|
"% confidence"
|
|
42779
43003
|
] })
|
|
42780
43004
|
] })
|
|
42781
43005
|
] }),
|
|
42782
|
-
/* @__PURE__ */
|
|
42783
|
-
/* @__PURE__ */
|
|
43006
|
+
/* @__PURE__ */ jsxs133("div", { className: "mb-2", children: [
|
|
43007
|
+
/* @__PURE__ */ jsxs133("span", { className: "text-xs text-gray500", children: [
|
|
42784
43008
|
"Post ID:",
|
|
42785
43009
|
" "
|
|
42786
43010
|
] }),
|
|
42787
|
-
/* @__PURE__ */
|
|
43011
|
+
/* @__PURE__ */ jsx174("span", { className: "text-xs font-mono text-gray700", children: mention.post_id })
|
|
42788
43012
|
] }),
|
|
42789
|
-
/* @__PURE__ */
|
|
42790
|
-
/* @__PURE__ */
|
|
42791
|
-
/* @__PURE__ */
|
|
43013
|
+
/* @__PURE__ */ jsxs133("div", { className: "bg-background rounded-lg p-3 border border-gray300", children: [
|
|
43014
|
+
/* @__PURE__ */ jsx174("div", { className: "text-xs text-gray600 mb-1", children: "Evidence:" }),
|
|
43015
|
+
/* @__PURE__ */ jsxs133("p", { className: "text-sm text-gray800 italic", children: [
|
|
42792
43016
|
"\u201C",
|
|
42793
43017
|
mention.evidence,
|
|
42794
43018
|
"\u201D"
|
|
42795
43019
|
] })
|
|
42796
43020
|
] }),
|
|
42797
|
-
/* @__PURE__ */
|
|
43021
|
+
/* @__PURE__ */ jsxs133("div", { className: "mt-2 text-xs text-gray500", children: [
|
|
42798
43022
|
"Source:",
|
|
42799
43023
|
" ",
|
|
42800
|
-
/* @__PURE__ */
|
|
42801
|
-
mention.handle && /* @__PURE__ */
|
|
43024
|
+
/* @__PURE__ */ jsx174("span", { className: "font-medium", children: mention.source }),
|
|
43025
|
+
mention.handle && /* @__PURE__ */ jsxs133("span", { className: "ml-2", children: [
|
|
42802
43026
|
"Handle:",
|
|
42803
43027
|
" ",
|
|
42804
|
-
/* @__PURE__ */
|
|
43028
|
+
/* @__PURE__ */ jsx174("span", { className: "font-medium", children: mention.handle })
|
|
42805
43029
|
] })
|
|
42806
43030
|
] })
|
|
42807
43031
|
]
|
|
@@ -42810,7 +43034,7 @@ function BrandMentionDetails({
|
|
|
42810
43034
|
);
|
|
42811
43035
|
}) })
|
|
42812
43036
|
] }),
|
|
42813
|
-
brandMentions.length === 0 && /* @__PURE__ */
|
|
43037
|
+
brandMentions.length === 0 && /* @__PURE__ */ jsx174("div", { className: "text-center py-8 text-gray500", children: "No mentions found for this brand" })
|
|
42814
43038
|
] })
|
|
42815
43039
|
]
|
|
42816
43040
|
},
|
|
@@ -42823,16 +43047,16 @@ function BrandMentionDetails({
|
|
|
42823
43047
|
function BrandCollaborationsList({
|
|
42824
43048
|
brandBreakdown
|
|
42825
43049
|
}) {
|
|
42826
|
-
const [openDetails, setOpenDetails] =
|
|
42827
|
-
const [selectedBrand, setSelectedBrand] =
|
|
43050
|
+
const [openDetails, setOpenDetails] = useState18(false);
|
|
43051
|
+
const [selectedBrand, setSelectedBrand] = useState18("");
|
|
42828
43052
|
if (!brandBreakdown?.insights?.brandBreakdown || brandBreakdown.insights.brandBreakdown.length === 0) {
|
|
42829
43053
|
return null;
|
|
42830
43054
|
}
|
|
42831
|
-
return /* @__PURE__ */
|
|
42832
|
-
/* @__PURE__ */
|
|
42833
|
-
/* @__PURE__ */
|
|
42834
|
-
/* @__PURE__ */
|
|
42835
|
-
(item, index) => /* @__PURE__ */
|
|
43055
|
+
return /* @__PURE__ */ jsxs133(Fragment10, { children: [
|
|
43056
|
+
/* @__PURE__ */ jsxs133("div", { children: [
|
|
43057
|
+
/* @__PURE__ */ jsx174("div", { className: "text-purpleText text-xs mb-2", children: /* @__PURE__ */ jsx174("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "BRAND MENTIONS" }) }),
|
|
43058
|
+
/* @__PURE__ */ jsx174("div", { className: "flex flex-col gap-2 max-h-[220px] overflow-y-auto", children: brandBreakdown.insights.brandBreakdown.map(
|
|
43059
|
+
(item, index) => /* @__PURE__ */ jsxs133(
|
|
42836
43060
|
"div",
|
|
42837
43061
|
{
|
|
42838
43062
|
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",
|
|
@@ -42842,17 +43066,17 @@ function BrandCollaborationsList({
|
|
|
42842
43066
|
setOpenDetails(true);
|
|
42843
43067
|
},
|
|
42844
43068
|
children: [
|
|
42845
|
-
/* @__PURE__ */
|
|
42846
|
-
/* @__PURE__ */
|
|
42847
|
-
/* @__PURE__ */
|
|
42848
|
-
/* @__PURE__ */
|
|
42849
|
-
/* @__PURE__ */
|
|
42850
|
-
/* @__PURE__ */
|
|
43069
|
+
/* @__PURE__ */ jsx174("div", { className: "w-10 h-10 rounded-full bg-gray200 flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx174("span", { className: "text-sm font-bold text-gray700", children: item.brand?.charAt(0)?.toUpperCase() || "?" }) }),
|
|
43070
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-1", children: [
|
|
43071
|
+
/* @__PURE__ */ jsx174("div", { className: "text-gray900 text-sm", children: item.brand }),
|
|
43072
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex gap-2 text-xs text-gray600", children: [
|
|
43073
|
+
/* @__PURE__ */ jsxs133("div", { children: [
|
|
43074
|
+
/* @__PURE__ */ jsx174("span", { className: "text-gray900", children: item?.mentions }),
|
|
42851
43075
|
" ",
|
|
42852
43076
|
"Mention"
|
|
42853
43077
|
] }),
|
|
42854
|
-
/* @__PURE__ */
|
|
42855
|
-
/* @__PURE__ */
|
|
43078
|
+
/* @__PURE__ */ jsxs133("div", { children: [
|
|
43079
|
+
/* @__PURE__ */ jsx174(
|
|
42856
43080
|
"span",
|
|
42857
43081
|
{
|
|
42858
43082
|
className: `${getSentimentRank(item.effectivenessPercent).scoreColor} font-bold`,
|
|
@@ -42870,7 +43094,7 @@ function BrandCollaborationsList({
|
|
|
42870
43094
|
)
|
|
42871
43095
|
) })
|
|
42872
43096
|
] }),
|
|
42873
|
-
/* @__PURE__ */
|
|
43097
|
+
/* @__PURE__ */ jsx174(
|
|
42874
43098
|
BrandMentionDetails,
|
|
42875
43099
|
{
|
|
42876
43100
|
open: openDetails,
|
|
@@ -42883,9 +43107,9 @@ function BrandCollaborationsList({
|
|
|
42883
43107
|
}
|
|
42884
43108
|
|
|
42885
43109
|
// src/molecules/creator-discovery/CreatorWidget/CreatorGridView.tsx
|
|
42886
|
-
import { useState as
|
|
43110
|
+
import { useState as useState19, useMemo as useMemo10, useRef as useRef9, useCallback as useCallback6, useEffect as useEffect12 } from "react";
|
|
42887
43111
|
import { motion as motion4 } from "framer-motion";
|
|
42888
|
-
import { jsx as
|
|
43112
|
+
import { jsx as jsx175, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
42889
43113
|
var formatFollowerCount3 = (count) => {
|
|
42890
43114
|
if (count >= 1e6) {
|
|
42891
43115
|
const millions = count / 1e6;
|
|
@@ -42932,20 +43156,20 @@ var itemsExplanation = [
|
|
|
42932
43156
|
{ key: "brandSafety", label: "Brand Safety" }
|
|
42933
43157
|
];
|
|
42934
43158
|
function CreatorGridViewCard({ creator }) {
|
|
42935
|
-
const [isExpanded, setIsExpanded] =
|
|
42936
|
-
const [showFullDescription, setShowFullDescription] =
|
|
42937
|
-
const [isDescriptionOverflowing, setIsDescriptionOverflowing] =
|
|
42938
|
-
const descriptionRef =
|
|
42939
|
-
const cardRef =
|
|
43159
|
+
const [isExpanded, setIsExpanded] = useState19(false);
|
|
43160
|
+
const [showFullDescription, setShowFullDescription] = useState19(false);
|
|
43161
|
+
const [isDescriptionOverflowing, setIsDescriptionOverflowing] = useState19(false);
|
|
43162
|
+
const descriptionRef = useRef9(null);
|
|
43163
|
+
const cardRef = useRef9(null);
|
|
42940
43164
|
const checkDescriptionOverflow = useCallback6(() => {
|
|
42941
43165
|
const el = descriptionRef.current;
|
|
42942
43166
|
if (!el) return;
|
|
42943
43167
|
setIsDescriptionOverflowing(el.scrollHeight > el.clientHeight + 1);
|
|
42944
43168
|
}, []);
|
|
42945
|
-
|
|
43169
|
+
useEffect12(() => {
|
|
42946
43170
|
checkDescriptionOverflow();
|
|
42947
43171
|
}, [checkDescriptionOverflow, isExpanded, showFullDescription]);
|
|
42948
|
-
|
|
43172
|
+
useEffect12(() => {
|
|
42949
43173
|
const onResize = () => checkDescriptionOverflow();
|
|
42950
43174
|
window.addEventListener("resize", onResize);
|
|
42951
43175
|
return () => window.removeEventListener("resize", onResize);
|
|
@@ -42986,7 +43210,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42986
43210
|
};
|
|
42987
43211
|
const iso2 = normalizeToIso2(creator.country);
|
|
42988
43212
|
const meta = codeToMeta[iso2];
|
|
42989
|
-
return /* @__PURE__ */
|
|
43213
|
+
return /* @__PURE__ */ jsx175(
|
|
42990
43214
|
motion4.div,
|
|
42991
43215
|
{
|
|
42992
43216
|
ref: cardRef,
|
|
@@ -42997,10 +43221,10 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42997
43221
|
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" : ""}`,
|
|
42998
43222
|
style: isExpanded ? { gridColumn: "1 / -1" } : {},
|
|
42999
43223
|
onClick: toggleExpanded,
|
|
43000
|
-
children: /* @__PURE__ */
|
|
43001
|
-
/* @__PURE__ */
|
|
43002
|
-
/* @__PURE__ */
|
|
43003
|
-
creator.profile_pic ? /* @__PURE__ */
|
|
43224
|
+
children: /* @__PURE__ */ jsxs134("div", { className: "flex", children: [
|
|
43225
|
+
/* @__PURE__ */ jsxs134("div", { className: `${isExpanded ? "w-1/3" : "w-full"}`, children: [
|
|
43226
|
+
/* @__PURE__ */ jsxs134("div", { className: "relative w-full aspect-square mb-2", children: [
|
|
43227
|
+
creator.profile_pic ? /* @__PURE__ */ jsx175(
|
|
43004
43228
|
"img",
|
|
43005
43229
|
{
|
|
43006
43230
|
src: creator.profile_pic,
|
|
@@ -43008,15 +43232,15 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43008
43232
|
className: "w-full h-full object-cover bg-primary/10",
|
|
43009
43233
|
style: { borderRadius: "10px 10px 0 0" }
|
|
43010
43234
|
}
|
|
43011
|
-
) : /* @__PURE__ */
|
|
43235
|
+
) : /* @__PURE__ */ jsx175(
|
|
43012
43236
|
"div",
|
|
43013
43237
|
{
|
|
43014
43238
|
className: "w-full h-full bg-primary/10 flex items-center justify-center",
|
|
43015
43239
|
style: { borderRadius: "10px 10px 0 0" },
|
|
43016
|
-
children: /* @__PURE__ */
|
|
43240
|
+
children: /* @__PURE__ */ jsx175("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" })
|
|
43017
43241
|
}
|
|
43018
43242
|
),
|
|
43019
|
-
/* @__PURE__ */
|
|
43243
|
+
/* @__PURE__ */ jsx175(
|
|
43020
43244
|
"div",
|
|
43021
43245
|
{
|
|
43022
43246
|
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`,
|
|
@@ -43024,34 +43248,34 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43024
43248
|
}
|
|
43025
43249
|
)
|
|
43026
43250
|
] }),
|
|
43027
|
-
/* @__PURE__ */
|
|
43028
|
-
/* @__PURE__ */
|
|
43029
|
-
/* @__PURE__ */
|
|
43251
|
+
/* @__PURE__ */ jsxs134("div", { className: "px-3 pb-1", children: [
|
|
43252
|
+
/* @__PURE__ */ jsxs134("div", { children: [
|
|
43253
|
+
/* @__PURE__ */ jsx175(
|
|
43030
43254
|
"h3",
|
|
43031
43255
|
{
|
|
43032
43256
|
className: `${isExpanded ? "text-md" : "text-sm"} font-normal text-gray900 mb-1 line-clamp-2 text-start`,
|
|
43033
43257
|
children: creator.name || "Unnamed"
|
|
43034
43258
|
}
|
|
43035
43259
|
),
|
|
43036
|
-
/* @__PURE__ */
|
|
43260
|
+
/* @__PURE__ */ jsxs134(
|
|
43037
43261
|
"div",
|
|
43038
43262
|
{
|
|
43039
43263
|
className: `${isExpanded ? "text-sm" : "text-xs"} text-gray700 mb-1 text-start flex items-center gap-1`,
|
|
43040
43264
|
children: [
|
|
43041
|
-
/* @__PURE__ */
|
|
43042
|
-
/* @__PURE__ */
|
|
43265
|
+
/* @__PURE__ */ jsx175("span", { className: "text-base", children: meta?.flag }),
|
|
43266
|
+
/* @__PURE__ */ jsx175("span", { children: meta?.name || creator.country || "Unknown" })
|
|
43043
43267
|
]
|
|
43044
43268
|
}
|
|
43045
43269
|
),
|
|
43046
|
-
isExpanded && creator?.sentiment?.detailedScores && /* @__PURE__ */
|
|
43270
|
+
isExpanded && creator?.sentiment?.detailedScores && /* @__PURE__ */ jsx175("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsx175("div", { className: "mt-2 w-[150px] flex gap-2", children: Object.entries(creator.sentiment.detailedScores).map(
|
|
43047
43271
|
([key, value]) => {
|
|
43048
43272
|
const itemRank = getSentimentRank2(value);
|
|
43049
|
-
return /* @__PURE__ */
|
|
43273
|
+
return /* @__PURE__ */ jsxs134(
|
|
43050
43274
|
"div",
|
|
43051
43275
|
{
|
|
43052
43276
|
className: "flex flex-col items-center w-[100px]",
|
|
43053
43277
|
children: [
|
|
43054
|
-
/* @__PURE__ */
|
|
43278
|
+
/* @__PURE__ */ jsxs134(
|
|
43055
43279
|
"span",
|
|
43056
43280
|
{
|
|
43057
43281
|
className: `text-[14px] font-bold ${itemRank.scoreColor}`,
|
|
@@ -43061,7 +43285,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43061
43285
|
]
|
|
43062
43286
|
}
|
|
43063
43287
|
),
|
|
43064
|
-
/* @__PURE__ */
|
|
43288
|
+
/* @__PURE__ */ jsx175("div", { className: "flex items-center justify-center gap-1 w-full", children: /* @__PURE__ */ jsx175("span", { className: "text-xs dark:text-gray500 text-center px-1", children: itemsExplanation.find(
|
|
43065
43289
|
(item) => item.key === key
|
|
43066
43290
|
)?.label }) })
|
|
43067
43291
|
]
|
|
@@ -43071,20 +43295,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43071
43295
|
}
|
|
43072
43296
|
) }) })
|
|
43073
43297
|
] }),
|
|
43074
|
-
!isExpanded && /* @__PURE__ */
|
|
43075
|
-
({ platform, icon: Icon3, followers }) => /* @__PURE__ */
|
|
43298
|
+
!isExpanded && /* @__PURE__ */ jsx175("div", { className: "flex gap-2 justify-between", children: platformStats.map(
|
|
43299
|
+
({ platform, icon: Icon3, followers }) => /* @__PURE__ */ jsxs134(
|
|
43076
43300
|
"div",
|
|
43077
43301
|
{
|
|
43078
43302
|
className: "flex flex-col items-center gap-1",
|
|
43079
43303
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
43080
43304
|
children: [
|
|
43081
|
-
/* @__PURE__ */
|
|
43305
|
+
/* @__PURE__ */ jsx175(
|
|
43082
43306
|
Icon3,
|
|
43083
43307
|
{
|
|
43084
43308
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
43085
43309
|
}
|
|
43086
43310
|
),
|
|
43087
|
-
/* @__PURE__ */
|
|
43311
|
+
/* @__PURE__ */ jsx175("span", { className: "text-xs dark:text-gray500", children: followers > 0 && formatFollowerCount3(followers) })
|
|
43088
43312
|
]
|
|
43089
43313
|
},
|
|
43090
43314
|
platform
|
|
@@ -43092,20 +43316,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43092
43316
|
) })
|
|
43093
43317
|
] })
|
|
43094
43318
|
] }),
|
|
43095
|
-
isExpanded && /* @__PURE__ */
|
|
43096
|
-
/* @__PURE__ */
|
|
43097
|
-
/* @__PURE__ */
|
|
43319
|
+
isExpanded && /* @__PURE__ */ jsx175("div", { className: "flex-1 border-l border-gray300 p-6 overflow-hidden transition-all duration-300 ease-in-out", children: /* @__PURE__ */ jsxs134("div", { className: "space-y-4", children: [
|
|
43320
|
+
/* @__PURE__ */ jsxs134("div", { children: [
|
|
43321
|
+
/* @__PURE__ */ jsxs134(
|
|
43098
43322
|
"div",
|
|
43099
43323
|
{
|
|
43100
43324
|
ref: descriptionRef,
|
|
43101
43325
|
className: `${showFullDescription ? "" : "max-h-[80px] overflow-hidden"} relative`,
|
|
43102
43326
|
children: [
|
|
43103
|
-
/* @__PURE__ */
|
|
43104
|
-
!showFullDescription && isDescriptionOverflowing && /* @__PURE__ */
|
|
43327
|
+
/* @__PURE__ */ jsx175("p", { className: "text-sm text-gray700 leading-relaxed", children: creator.description || "No description provided." }),
|
|
43328
|
+
!showFullDescription && isDescriptionOverflowing && /* @__PURE__ */ jsx175("div", { className: "pointer-events-none absolute bottom-0 left-0 right-0 h-10 bg-gradient-to-t from-gray25 to-transparent" })
|
|
43105
43329
|
]
|
|
43106
43330
|
}
|
|
43107
43331
|
),
|
|
43108
|
-
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */
|
|
43332
|
+
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */ jsx175(
|
|
43109
43333
|
"button",
|
|
43110
43334
|
{
|
|
43111
43335
|
onClick: (e) => {
|
|
@@ -43117,38 +43341,38 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43117
43341
|
}
|
|
43118
43342
|
)
|
|
43119
43343
|
] }),
|
|
43120
|
-
/* @__PURE__ */
|
|
43121
|
-
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */
|
|
43122
|
-
/* @__PURE__ */
|
|
43344
|
+
/* @__PURE__ */ jsx175("div", { className: "flex gap-6 justify-start items-center", children: platformStats.map(
|
|
43345
|
+
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */ jsxs134("div", { className: "flex items-center gap-3", children: [
|
|
43346
|
+
/* @__PURE__ */ jsxs134(
|
|
43123
43347
|
"div",
|
|
43124
43348
|
{
|
|
43125
43349
|
className: "flex items-center gap-1",
|
|
43126
43350
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
43127
43351
|
children: [
|
|
43128
|
-
/* @__PURE__ */
|
|
43352
|
+
/* @__PURE__ */ jsx175(
|
|
43129
43353
|
Icon3,
|
|
43130
43354
|
{
|
|
43131
43355
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
43132
43356
|
}
|
|
43133
43357
|
),
|
|
43134
|
-
/* @__PURE__ */
|
|
43358
|
+
/* @__PURE__ */ jsx175("span", { className: "text-xs dark:text-gray500", children: followers > 0 ? formatFollowerCount3(followers) : "0" })
|
|
43135
43359
|
]
|
|
43136
43360
|
}
|
|
43137
43361
|
),
|
|
43138
|
-
/* @__PURE__ */
|
|
43139
|
-
/* @__PURE__ */
|
|
43140
|
-
/* @__PURE__ */
|
|
43362
|
+
/* @__PURE__ */ jsxs134("div", { className: "flex items-center gap-1", children: [
|
|
43363
|
+
/* @__PURE__ */ jsx175(ChartColumn, { className: "w-5 h-5 dark:text-gray500" }),
|
|
43364
|
+
/* @__PURE__ */ jsxs134("span", { className: "text-sm dark:text-gray500 w-[40px]", children: [
|
|
43141
43365
|
(engagement * 100).toFixed(1),
|
|
43142
43366
|
"%"
|
|
43143
43367
|
] })
|
|
43144
43368
|
] })
|
|
43145
43369
|
] }, platform)
|
|
43146
43370
|
) }),
|
|
43147
|
-
creator.posts?.length > 0 && /* @__PURE__ */
|
|
43148
|
-
/* @__PURE__ */
|
|
43149
|
-
/* @__PURE__ */
|
|
43371
|
+
creator.posts?.length > 0 && /* @__PURE__ */ jsxs134("div", { className: "w-full overflow-hidden", children: [
|
|
43372
|
+
/* @__PURE__ */ jsx175("h3", { className: "mb-2 text-sm font-medium text-gray900", children: "Recent Posts" }),
|
|
43373
|
+
/* @__PURE__ */ jsx175("div", { className: "flex gap-3 overflow-x-auto", children: creator.posts.filter(
|
|
43150
43374
|
(post) => post.thumbnail || post.thumbnail_url
|
|
43151
|
-
).slice(0, 8).map((post, idx) => /* @__PURE__ */
|
|
43375
|
+
).slice(0, 8).map((post, idx) => /* @__PURE__ */ jsx175(
|
|
43152
43376
|
"a",
|
|
43153
43377
|
{
|
|
43154
43378
|
href: post.url || "#",
|
|
@@ -43156,7 +43380,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43156
43380
|
rel: "noopener noreferrer",
|
|
43157
43381
|
className: "block flex-shrink-0",
|
|
43158
43382
|
onClick: (e) => e.stopPropagation(),
|
|
43159
|
-
children: /* @__PURE__ */
|
|
43383
|
+
children: /* @__PURE__ */ jsx175(
|
|
43160
43384
|
"img",
|
|
43161
43385
|
{
|
|
43162
43386
|
src: post.thumbnail_url || post.thumbnail,
|
|
@@ -43168,9 +43392,9 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43168
43392
|
idx
|
|
43169
43393
|
)) })
|
|
43170
43394
|
] }),
|
|
43171
|
-
creator?.sentiment?.aiReasoning && /* @__PURE__ */
|
|
43172
|
-
/* @__PURE__ */
|
|
43173
|
-
/* @__PURE__ */
|
|
43395
|
+
creator?.sentiment?.aiReasoning && /* @__PURE__ */ jsxs134("div", { className: "text-gray700 max-h-[200px] overflow-auto", children: [
|
|
43396
|
+
/* @__PURE__ */ jsx175("h4", { className: "font-semibold text-sm", children: "AI Analysis" }),
|
|
43397
|
+
/* @__PURE__ */ jsx175("p", { className: "text-sm", children: creator.sentiment.aiReasoning })
|
|
43174
43398
|
] })
|
|
43175
43399
|
] }) })
|
|
43176
43400
|
] })
|
|
@@ -43180,11 +43404,11 @@ function CreatorGridViewCard({ creator }) {
|
|
|
43180
43404
|
function CreatorGridView({
|
|
43181
43405
|
creatorData
|
|
43182
43406
|
}) {
|
|
43183
|
-
return /* @__PURE__ */
|
|
43407
|
+
return /* @__PURE__ */ jsx175("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__ */ jsx175(CreatorGridViewCard, { creator }, creator._id)) });
|
|
43184
43408
|
}
|
|
43185
43409
|
|
|
43186
43410
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
43187
|
-
import { Fragment as Fragment11, jsx as
|
|
43411
|
+
import { Fragment as Fragment11, jsx as jsx176, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
43188
43412
|
var formatFollowerCount4 = (count) => {
|
|
43189
43413
|
if (count >= 1e6) {
|
|
43190
43414
|
const millions = count / 1e6;
|
|
@@ -43278,12 +43502,12 @@ function SearchSpecDisplay({ spec }) {
|
|
|
43278
43502
|
{
|
|
43279
43503
|
key: "platforms",
|
|
43280
43504
|
title: "Platforms",
|
|
43281
|
-
content: /* @__PURE__ */
|
|
43505
|
+
content: /* @__PURE__ */ jsx176("div", { className: "flex flex-wrap gap-2", children: (spec.platforms || []).filter((p) => ["instagram", "youtube", "tiktok"].includes(p.toLowerCase())).map((p, idx) => /* @__PURE__ */ jsx176("span", { className: `${tagClass} flex items-center justify-center`, children: p.charAt(0).toUpperCase() + p.slice(1).toLowerCase() }, idx)) })
|
|
43282
43506
|
},
|
|
43283
43507
|
{
|
|
43284
43508
|
key: "follower_range",
|
|
43285
43509
|
title: "Follower Range",
|
|
43286
|
-
content: /* @__PURE__ */
|
|
43510
|
+
content: /* @__PURE__ */ jsxs135("div", { className: `inline-block ${tagClass} font-grotesk`, children: [
|
|
43287
43511
|
formatFollowerCount4(spec?.follower_range?.min ?? 0),
|
|
43288
43512
|
" -",
|
|
43289
43513
|
" ",
|
|
@@ -43293,7 +43517,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
43293
43517
|
{
|
|
43294
43518
|
key: "geography",
|
|
43295
43519
|
title: "Geography",
|
|
43296
|
-
content: /* @__PURE__ */
|
|
43520
|
+
content: /* @__PURE__ */ jsx176("div", { className: `inline-block ${tagClass} font-grotesk`, children: /* @__PURE__ */ jsx176(
|
|
43297
43521
|
"div",
|
|
43298
43522
|
{
|
|
43299
43523
|
className: "max-w-[200px] overflow-x-auto whitespace-nowrap",
|
|
@@ -43307,7 +43531,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
43307
43531
|
e.currentTarget.style.overflow = "hidden";
|
|
43308
43532
|
e.currentTarget.scrollLeft = 0;
|
|
43309
43533
|
},
|
|
43310
|
-
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */
|
|
43534
|
+
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */ jsxs135("span", { children: [
|
|
43311
43535
|
g,
|
|
43312
43536
|
idx < spec.geography.length - 1 ? ", " : ""
|
|
43313
43537
|
] }, idx))
|
|
@@ -43317,13 +43541,13 @@ function SearchSpecDisplay({ spec }) {
|
|
|
43317
43541
|
{
|
|
43318
43542
|
key: "keyword_bundles",
|
|
43319
43543
|
title: "Keyword",
|
|
43320
|
-
content: /* @__PURE__ */
|
|
43544
|
+
content: /* @__PURE__ */ jsx176("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__ */ jsx176("div", { className: `${textClass} text-white/70`, children: "No priority 1 keywords" }) : priorityOneBundles.map((kw, idx) => /* @__PURE__ */ jsx176("span", { className: tagClass, children: kw }, idx)) })
|
|
43321
43545
|
}
|
|
43322
43546
|
];
|
|
43323
43547
|
const itemsToShow = ["platforms", "follower_range", "geography", "keyword_bundles"];
|
|
43324
|
-
return /* @__PURE__ */
|
|
43325
|
-
/* @__PURE__ */
|
|
43326
|
-
/* @__PURE__ */
|
|
43548
|
+
return /* @__PURE__ */ jsx176("div", { className: "mt-3", children: /* @__PURE__ */ jsx176("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__ */ jsxs135("div", { className: "flex-none p-5 bg-paperBackground rounded-lg", children: [
|
|
43549
|
+
/* @__PURE__ */ jsx176("div", { className: "text-purpleText text-sm mb-4", children: /* @__PURE__ */ jsx176("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: title.toUpperCase() }) }),
|
|
43550
|
+
/* @__PURE__ */ jsx176("div", { className: `flex text-gray900 ${textClass}`, children: content })
|
|
43327
43551
|
] }, key)) }) });
|
|
43328
43552
|
}
|
|
43329
43553
|
function SentimentScoreRank({
|
|
@@ -43332,16 +43556,16 @@ function SentimentScoreRank({
|
|
|
43332
43556
|
showMinialView = false
|
|
43333
43557
|
}) {
|
|
43334
43558
|
const sentimentScoreRank = getSentimentRank3(score);
|
|
43335
|
-
return /* @__PURE__ */
|
|
43336
|
-
score !== void 0 && /* @__PURE__ */
|
|
43559
|
+
return /* @__PURE__ */ jsx176("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsxs135("div", { className: `flex flex-col justify-end ${showMinialView ? "w-[120px]" : "w-[150px]"} text-sm`, children: [
|
|
43560
|
+
score !== void 0 && /* @__PURE__ */ jsx176("div", { className: "flex justify-center items-center mb-2", children: /* @__PURE__ */ jsx176(
|
|
43337
43561
|
"span",
|
|
43338
43562
|
{
|
|
43339
43563
|
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]"}`,
|
|
43340
43564
|
children: isValidationComplete ? sentimentScoreRank.rank : "Unranked"
|
|
43341
43565
|
}
|
|
43342
43566
|
) }),
|
|
43343
|
-
/* @__PURE__ */
|
|
43344
|
-
!showMinialView && /* @__PURE__ */
|
|
43567
|
+
/* @__PURE__ */ jsx176("div", { className: `flex justify-center ${showMinialView ? "text-[24px]" : "text-[28px]"} font-bold mb-3 ${sentimentScoreRank.scoreColor}`, children: isValidationComplete ? score >= 0 ? `${score}%` : "0%" : /* @__PURE__ */ jsx176("div", { className: "flex items-center justify-center py-2", children: /* @__PURE__ */ jsx176("div", { className: "w-6 h-6 border-2 border-purple100 border-t-transparent rounded-full animate-spin" }) }) }),
|
|
43568
|
+
!showMinialView && /* @__PURE__ */ jsx176("p", { className: "text-gray600 dark:text-gray500 text-center", children: "Match Score" })
|
|
43345
43569
|
] }) });
|
|
43346
43570
|
}
|
|
43347
43571
|
function BrandMentionPerformance({ creator }) {
|
|
@@ -43356,34 +43580,46 @@ function BrandMentionPerformance({ creator }) {
|
|
|
43356
43580
|
{ title: "Effectiveness", subtitle: "compared to all posts", value: `${insights?.effectivenessPercent || 0} %` },
|
|
43357
43581
|
{ title: "Saturation Rate", subtitle: "on brand mention", value: `${insights?.saturationRate || 0} %` }
|
|
43358
43582
|
];
|
|
43359
|
-
return /* @__PURE__ */
|
|
43360
|
-
/* @__PURE__ */
|
|
43361
|
-
/* @__PURE__ */
|
|
43362
|
-
/* @__PURE__ */
|
|
43363
|
-
/* @__PURE__ */
|
|
43364
|
-
/* @__PURE__ */
|
|
43583
|
+
return /* @__PURE__ */ jsxs135("div", { children: [
|
|
43584
|
+
/* @__PURE__ */ jsx176("div", { className: "text-purpleText text-xs mb-4", children: /* @__PURE__ */ jsx176("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "BRAND MENTION PERFORMANCE" }) }),
|
|
43585
|
+
/* @__PURE__ */ jsx176("div", { className: "flex flex-col gap-3", children: metrics.map((item) => /* @__PURE__ */ jsxs135("div", { className: "flex justify-between items-center text-gray700 text-sm", children: [
|
|
43586
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col gap-1", children: [
|
|
43587
|
+
/* @__PURE__ */ jsx176("h5", { children: item.title }),
|
|
43588
|
+
/* @__PURE__ */ jsx176("p", { className: "text-xs", children: item.subtitle })
|
|
43365
43589
|
] }),
|
|
43366
|
-
/* @__PURE__ */
|
|
43590
|
+
/* @__PURE__ */ jsx176("p", { className: "text-purpleText text-lg", children: item.value })
|
|
43367
43591
|
] }, item.title)) })
|
|
43368
43592
|
] });
|
|
43369
43593
|
}
|
|
43370
43594
|
function CreatorFitSummary({ creator, showBrandPerformance }) {
|
|
43595
|
+
const [contentExpanded, setContentExpanded] = useState20(false);
|
|
43371
43596
|
const hasDeepAnalysis = creator?.sentiment?.deepAnalysis?.deepAnalysis;
|
|
43372
43597
|
const title = hasDeepAnalysis ? "CREATOR DEEP ANALYSIS" : "CREATOR FIT SUMMARY";
|
|
43373
43598
|
const content = hasDeepAnalysis ? creator.sentiment.deepAnalysis.deepAnalysis : creator?.sentiment?.aiReasoning || "No data available.";
|
|
43374
|
-
return /* @__PURE__ */
|
|
43375
|
-
/* @__PURE__ */
|
|
43376
|
-
/* @__PURE__ */
|
|
43599
|
+
return /* @__PURE__ */ jsxs135("div", { className: `${showBrandPerformance ? "md:col-span-1" : "md:col-span-2"} col-span-1`, children: [
|
|
43600
|
+
/* @__PURE__ */ jsx176("div", { className: "text-purpleText text-xs mb-4", children: /* @__PURE__ */ jsx176("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: title }) }),
|
|
43601
|
+
/* @__PURE__ */ jsx176(
|
|
43602
|
+
"div",
|
|
43603
|
+
{
|
|
43604
|
+
onClick: (e) => {
|
|
43605
|
+
e.stopPropagation();
|
|
43606
|
+
setContentExpanded(!contentExpanded);
|
|
43607
|
+
},
|
|
43608
|
+
className: `cursor-pointer ${!contentExpanded ? "max-h-[140px] overflow-hidden md:overflow-y-auto md:max-h-none" : "overflow-y-auto"} slim-scrollbar`,
|
|
43609
|
+
children: /* @__PURE__ */ jsx176("p", { className: `text-gray700 text-sm ${!contentExpanded ? "line-clamp-3 md:line-clamp-none" : ""}`, children: content })
|
|
43610
|
+
}
|
|
43611
|
+
)
|
|
43377
43612
|
] });
|
|
43378
43613
|
}
|
|
43379
43614
|
function ProfileSection({ creator, isValidationComplete }) {
|
|
43615
|
+
const [descriptionExpanded, setDescriptionExpanded] = useState20(false);
|
|
43380
43616
|
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}` : "";
|
|
43381
43617
|
const iso2 = normalizeToIso2(creator.country);
|
|
43382
43618
|
const meta = codeToMeta[iso2];
|
|
43383
|
-
return /* @__PURE__ */
|
|
43384
|
-
/* @__PURE__ */
|
|
43385
|
-
/* @__PURE__ */
|
|
43386
|
-
/* @__PURE__ */
|
|
43619
|
+
return /* @__PURE__ */ jsxs135("div", { className: "flex flex-col md:flex-row items-start gap-1 md:gap-6", children: [
|
|
43620
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col items-center gap-6", children: [
|
|
43621
|
+
/* @__PURE__ */ jsx176("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__ */ jsxs135(Fragment11, { children: [
|
|
43622
|
+
/* @__PURE__ */ jsx176(
|
|
43387
43623
|
"img",
|
|
43388
43624
|
{
|
|
43389
43625
|
src: creator.profile_pic,
|
|
@@ -43391,24 +43627,37 @@ function ProfileSection({ creator, isValidationComplete }) {
|
|
|
43391
43627
|
className: "object-cover w-[5rem] h-[5rem] rounded-[15px]"
|
|
43392
43628
|
}
|
|
43393
43629
|
),
|
|
43394
|
-
creator?.profile?.isVerified && /* @__PURE__ */
|
|
43630
|
+
creator?.profile?.isVerified && /* @__PURE__ */ jsx176(
|
|
43395
43631
|
BadgeCheck,
|
|
43396
43632
|
{
|
|
43397
43633
|
size: 35,
|
|
43398
43634
|
className: "absolute -top-2 -right-2 text-blue-500 drop-shadow-sm fill-blue-300"
|
|
43399
43635
|
}
|
|
43400
43636
|
)
|
|
43401
|
-
] }) : /* @__PURE__ */
|
|
43402
|
-
/* @__PURE__ */
|
|
43637
|
+
] }) : /* @__PURE__ */ jsx176("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" }) }),
|
|
43638
|
+
/* @__PURE__ */ jsx176("div", { className: "block sm:hidden", children: /* @__PURE__ */ jsx176(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete, showMinialView: true }) })
|
|
43403
43639
|
] }),
|
|
43404
|
-
/* @__PURE__ */
|
|
43405
|
-
/* @__PURE__ */
|
|
43406
|
-
username && /* @__PURE__ */
|
|
43407
|
-
/* @__PURE__ */
|
|
43408
|
-
/* @__PURE__ */
|
|
43409
|
-
/* @__PURE__ */
|
|
43640
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col gap-3 truncate min-w-0", children: [
|
|
43641
|
+
/* @__PURE__ */ jsx176("div", { className: "flex items-center gap-2 min-w-0", children: /* @__PURE__ */ jsx176("h4", { className: "text-lg text-gray900 max-w-[220px] sm:max-w-[150px] truncate", title: creator.name, children: truncateName2(creator.name, 100) }) }),
|
|
43642
|
+
username && /* @__PURE__ */ jsx176("div", { className: "text-xs text-gray700 truncate", children: username }),
|
|
43643
|
+
/* @__PURE__ */ jsxs135("div", { className: "text-sm text-gray700 flex items-center gap-2 min-w-0", children: [
|
|
43644
|
+
/* @__PURE__ */ jsx176("span", { className: "text-base flex-shrink-0", children: meta?.flag }),
|
|
43645
|
+
/* @__PURE__ */ jsx176("span", { className: "truncate", children: meta?.name || creator.country || "Unknown" })
|
|
43410
43646
|
] }),
|
|
43411
|
-
/* @__PURE__ */
|
|
43647
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col gap-1 min-w-0", children: [
|
|
43648
|
+
/* @__PURE__ */ jsx176("div", { className: `text-xs text-gray700 ${!descriptionExpanded ? "line-clamp-2 whitespace-nowrap md:whitespace-normal md:line-clamp-none" : "whitespace-normal"}`, children: creator.description }),
|
|
43649
|
+
creator.description && /* @__PURE__ */ jsx176(
|
|
43650
|
+
"button",
|
|
43651
|
+
{
|
|
43652
|
+
onClick: (e) => {
|
|
43653
|
+
e.stopPropagation();
|
|
43654
|
+
setDescriptionExpanded(!descriptionExpanded);
|
|
43655
|
+
},
|
|
43656
|
+
className: "md:hidden text-xs text-purple600 font-medium hover:text-purple700 text-left w-fit",
|
|
43657
|
+
children: descriptionExpanded ? "Read Less" : "Read More"
|
|
43658
|
+
}
|
|
43659
|
+
)
|
|
43660
|
+
] })
|
|
43412
43661
|
] })
|
|
43413
43662
|
] });
|
|
43414
43663
|
}
|
|
@@ -43416,35 +43665,35 @@ function CreatorCardExpandedSection({
|
|
|
43416
43665
|
creator
|
|
43417
43666
|
}) {
|
|
43418
43667
|
const hasBrandBreakdown = creator?.brandCollaborations?.insights?.brandBreakdown && creator?.sentiment?.deepAnalysis;
|
|
43419
|
-
return /* @__PURE__ */
|
|
43668
|
+
return /* @__PURE__ */ jsxs135(
|
|
43420
43669
|
motion5.div,
|
|
43421
43670
|
{
|
|
43422
43671
|
initial: { y: 20, opacity: 0 },
|
|
43423
43672
|
animate: { y: 0, opacity: 1 },
|
|
43424
43673
|
transition: { duration: 0.3, delay: 0.1 },
|
|
43425
|
-
className: "md:mt-6 space-y-5",
|
|
43674
|
+
className: "md:mt-6 space-y-5 px-4 md:px-0",
|
|
43426
43675
|
children: [
|
|
43427
|
-
/* @__PURE__ */
|
|
43428
|
-
/* @__PURE__ */
|
|
43676
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col md:grid md:grid-cols-[1.3fr_1fr_2fr_120px] gap-4 md:gap-8 py-4 md:pr-7", children: [
|
|
43677
|
+
/* @__PURE__ */ jsx176("div", { className: "col-span-1 md:col-span-1", children: hasBrandBreakdown ? /* @__PURE__ */ jsx176(
|
|
43429
43678
|
BrandCollaborationsList,
|
|
43430
43679
|
{
|
|
43431
43680
|
brandBreakdown: creator?.brandCollaborations
|
|
43432
43681
|
}
|
|
43433
|
-
) : /* @__PURE__ */
|
|
43434
|
-
/* @__PURE__ */
|
|
43682
|
+
) : /* @__PURE__ */ jsx176("div", { className: "hidden md:block" }) }),
|
|
43683
|
+
/* @__PURE__ */ jsx176("div", { className: "col-span-1 md:col-span-3", children: creator?.audienceDemographics ? /* @__PURE__ */ jsx176(
|
|
43435
43684
|
EngagedAudienceDemographics,
|
|
43436
43685
|
{
|
|
43437
43686
|
audienceDemographics: creator.audienceDemographics
|
|
43438
43687
|
}
|
|
43439
43688
|
) : null })
|
|
43440
43689
|
] }),
|
|
43441
|
-
/* @__PURE__ */
|
|
43690
|
+
/* @__PURE__ */ jsx176("div", { className: "overflow-x-auto -mx-4 md:mx-0 px-4 md:px-0", children: /* @__PURE__ */ jsx176(
|
|
43442
43691
|
PlatformPostsSection,
|
|
43443
43692
|
{
|
|
43444
43693
|
platformMetrics: creator.platformMetrics,
|
|
43445
43694
|
posts: creator.posts ?? creator.post
|
|
43446
43695
|
}
|
|
43447
|
-
)
|
|
43696
|
+
) })
|
|
43448
43697
|
]
|
|
43449
43698
|
}
|
|
43450
43699
|
);
|
|
@@ -43453,14 +43702,14 @@ function CreatorCard({
|
|
|
43453
43702
|
creator,
|
|
43454
43703
|
isValidationComplete
|
|
43455
43704
|
}) {
|
|
43456
|
-
const [detailsExpanded, setDetailsExpanded] =
|
|
43705
|
+
const [detailsExpanded, setDetailsExpanded] = useState20(false);
|
|
43457
43706
|
const hasValidBrandMention = (() => {
|
|
43458
43707
|
const insights = creator?.brandCollaborations?.insights;
|
|
43459
43708
|
if (!insights) return false;
|
|
43460
43709
|
const isValid2 = (val) => val !== null && val !== void 0 && val !== 0 && val !== "0" && val !== "" && !Number.isNaN(val);
|
|
43461
43710
|
return isValid2(insights.averageBrandEngagementRate) || isValid2(insights.effectivenessPercent) || isValid2(insights.saturationRate);
|
|
43462
43711
|
})();
|
|
43463
|
-
return /* @__PURE__ */
|
|
43712
|
+
return /* @__PURE__ */ jsxs135(
|
|
43464
43713
|
motion5.div,
|
|
43465
43714
|
{
|
|
43466
43715
|
layout: true,
|
|
@@ -43468,23 +43717,23 @@ function CreatorCard({
|
|
|
43468
43717
|
animate: { opacity: 1, y: 0 },
|
|
43469
43718
|
exit: { opacity: 0, y: -20 },
|
|
43470
43719
|
transition: { duration: 0.4, ease: [0.22, 1, 0.36, 1] },
|
|
43471
|
-
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"}`,
|
|
43720
|
+
className: `flex flex-col bg-paperBackground rounded-[25px] py-5 px-4 md:pl-7 border-2 shadow-sm cursor-pointer transition-all ${detailsExpanded ? "border-purple100" : "border-gray300"}`,
|
|
43472
43721
|
onClick: () => setDetailsExpanded((prev) => !prev),
|
|
43473
43722
|
children: [
|
|
43474
|
-
/* @__PURE__ */
|
|
43475
|
-
/* @__PURE__ */
|
|
43476
|
-
hasValidBrandMention && /* @__PURE__ */
|
|
43477
|
-
/* @__PURE__ */
|
|
43478
|
-
/* @__PURE__ */
|
|
43723
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col gap-4 md:grid md:grid-cols-[1.3fr_1fr_2fr_120px] gap-4 md:gap-8 items-start w-full md:pr-7 overflow-hidden", children: [
|
|
43724
|
+
/* @__PURE__ */ jsx176(ProfileSection, { creator, isValidationComplete }),
|
|
43725
|
+
hasValidBrandMention && /* @__PURE__ */ jsx176(BrandMentionPerformance, { creator }),
|
|
43726
|
+
/* @__PURE__ */ jsx176(CreatorFitSummary, { creator, showBrandPerformance: hasValidBrandMention }),
|
|
43727
|
+
/* @__PURE__ */ jsx176("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx176(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete }) })
|
|
43479
43728
|
] }),
|
|
43480
|
-
/* @__PURE__ */
|
|
43729
|
+
/* @__PURE__ */ jsx176(AnimatePresence4, { children: detailsExpanded && /* @__PURE__ */ jsx176(
|
|
43481
43730
|
motion5.div,
|
|
43482
43731
|
{
|
|
43483
43732
|
initial: { height: 0, opacity: 0 },
|
|
43484
43733
|
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 } } },
|
|
43485
43734
|
exit: { height: 0, opacity: 0, transition: { height: { duration: 0.3, ease: [0.04, 0.62, 0.23, 0.98] }, opacity: { duration: 0.2 } } },
|
|
43486
43735
|
className: "overflow-hidden mt-4",
|
|
43487
|
-
children: /* @__PURE__ */
|
|
43736
|
+
children: /* @__PURE__ */ jsx176(CreatorCardExpandedSection, { creator })
|
|
43488
43737
|
}
|
|
43489
43738
|
) })
|
|
43490
43739
|
]
|
|
@@ -43495,19 +43744,19 @@ function CreatorDisplay({
|
|
|
43495
43744
|
creators,
|
|
43496
43745
|
isValidationComplete
|
|
43497
43746
|
}) {
|
|
43498
|
-
const [viewMode, setViewMode] =
|
|
43499
|
-
return /* @__PURE__ */
|
|
43500
|
-
/* @__PURE__ */
|
|
43501
|
-
/* @__PURE__ */
|
|
43747
|
+
const [viewMode, setViewMode] = useState20("list");
|
|
43748
|
+
return /* @__PURE__ */ jsxs135("div", { className: "px-4", children: [
|
|
43749
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex justify-end items-center my-3 gap-1", children: [
|
|
43750
|
+
/* @__PURE__ */ jsxs135("span", { className: "text-xs text-gray600 mr-2", children: [
|
|
43502
43751
|
creators.length,
|
|
43503
43752
|
" creators"
|
|
43504
43753
|
] }),
|
|
43505
|
-
/* @__PURE__ */
|
|
43754
|
+
/* @__PURE__ */ jsx176(
|
|
43506
43755
|
"button",
|
|
43507
43756
|
{
|
|
43508
|
-
className: `h-7 w-7
|
|
43757
|
+
className: `hidden md:flex h-7 w-7 items-center justify-center rounded ${viewMode === "list" ? "bg-gray200" : ""}`,
|
|
43509
43758
|
onClick: () => setViewMode("list"),
|
|
43510
|
-
children: /* @__PURE__ */
|
|
43759
|
+
children: /* @__PURE__ */ jsx176(
|
|
43511
43760
|
AlignJustify,
|
|
43512
43761
|
{
|
|
43513
43762
|
className: `h-5 w-5 ${viewMode === "list" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -43515,12 +43764,12 @@ function CreatorDisplay({
|
|
|
43515
43764
|
)
|
|
43516
43765
|
}
|
|
43517
43766
|
),
|
|
43518
|
-
/* @__PURE__ */
|
|
43767
|
+
/* @__PURE__ */ jsx176(
|
|
43519
43768
|
"button",
|
|
43520
43769
|
{
|
|
43521
|
-
className: `h-7 w-7
|
|
43770
|
+
className: `hidden md:flex h-7 w-7 items-center justify-center rounded ${viewMode === "grid" ? "bg-gray200" : ""}`,
|
|
43522
43771
|
onClick: () => setViewMode("grid"),
|
|
43523
|
-
children: /* @__PURE__ */
|
|
43772
|
+
children: /* @__PURE__ */ jsx176(
|
|
43524
43773
|
LayoutGrid,
|
|
43525
43774
|
{
|
|
43526
43775
|
className: `h-5 w-5 ${viewMode === "grid" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -43529,43 +43778,43 @@ function CreatorDisplay({
|
|
|
43529
43778
|
}
|
|
43530
43779
|
)
|
|
43531
43780
|
] }),
|
|
43532
|
-
creators.length > 0 ? viewMode === "list" ? /* @__PURE__ */
|
|
43533
|
-
/* @__PURE__ */
|
|
43534
|
-
/* @__PURE__ */
|
|
43535
|
-
/* @__PURE__ */
|
|
43781
|
+
creators.length > 0 ? viewMode === "list" ? /* @__PURE__ */ jsx176("div", { className: "space-y-4", children: creators.map((creator) => /* @__PURE__ */ jsx176(CreatorCard, { creator, isValidationComplete }, creator._id)) }) : /* @__PURE__ */ jsx176(CreatorGridView, { creatorData: creators }) : /* @__PURE__ */ jsxs135("div", { className: "text-center py-8 bg-gray100 rounded-lg border border-gray300", children: [
|
|
43782
|
+
/* @__PURE__ */ jsx176("div", { className: "w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-3", children: /* @__PURE__ */ jsx176(Users, { className: "w-6 h-6 text-primary" }) }),
|
|
43783
|
+
/* @__PURE__ */ jsx176("h3", { className: "text-base font-medium text-gray900", children: "No creators found" }),
|
|
43784
|
+
/* @__PURE__ */ jsx176("p", { className: "mt-1 text-sm text-gray600", children: "Try adjusting your search criteria" })
|
|
43536
43785
|
] })
|
|
43537
43786
|
] });
|
|
43538
43787
|
}
|
|
43539
43788
|
function CreatorCardSkeleton() {
|
|
43540
|
-
return /* @__PURE__ */
|
|
43541
|
-
/* @__PURE__ */
|
|
43542
|
-
/* @__PURE__ */
|
|
43543
|
-
/* @__PURE__ */
|
|
43544
|
-
/* @__PURE__ */
|
|
43545
|
-
/* @__PURE__ */
|
|
43546
|
-
/* @__PURE__ */
|
|
43547
|
-
/* @__PURE__ */
|
|
43789
|
+
return /* @__PURE__ */ jsx176("div", { className: "bg-paperBackground rounded-[25px] py-5 px-4 md:pl-7 md:pr-7 border-2 border-gray300 shadow-sm", children: /* @__PURE__ */ jsxs135("div", { className: "flex flex-col gap-4 md:grid md:grid-cols-[1.3fr_1fr_2fr_120px] gap-4 md:gap-8 items-start w-full", children: [
|
|
43790
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col md:grid md:grid-cols-[auto_1fr] items-start gap-1 md:gap-6", children: [
|
|
43791
|
+
/* @__PURE__ */ jsx176("div", { className: "w-[5rem] h-[5rem] rounded-[10px] bg-gray200 animate-pulse" }),
|
|
43792
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex flex-col gap-3", children: [
|
|
43793
|
+
/* @__PURE__ */ jsx176("div", { className: "h-5 w-36 rounded bg-gray200 animate-pulse" }),
|
|
43794
|
+
/* @__PURE__ */ jsx176("div", { className: "h-3 w-24 rounded bg-gray200 animate-pulse" }),
|
|
43795
|
+
/* @__PURE__ */ jsx176("div", { className: "h-3 w-32 rounded bg-gray200 animate-pulse" }),
|
|
43796
|
+
/* @__PURE__ */ jsx176("div", { className: "h-3 w-44 rounded bg-gray200 animate-pulse" })
|
|
43548
43797
|
] })
|
|
43549
43798
|
] }),
|
|
43550
|
-
/* @__PURE__ */
|
|
43551
|
-
/* @__PURE__ */
|
|
43552
|
-
/* @__PURE__ */
|
|
43553
|
-
/* @__PURE__ */
|
|
43799
|
+
/* @__PURE__ */ jsxs135("div", { className: "space-y-3 w-full", children: [
|
|
43800
|
+
/* @__PURE__ */ jsx176("div", { className: "h-4 w-32 rounded bg-gray200 animate-pulse" }),
|
|
43801
|
+
/* @__PURE__ */ jsx176("div", { className: "h-4 w-28 rounded bg-gray200 animate-pulse" }),
|
|
43802
|
+
/* @__PURE__ */ jsx176("div", { className: "h-4 w-24 rounded bg-gray200 animate-pulse" })
|
|
43554
43803
|
] }),
|
|
43555
|
-
/* @__PURE__ */
|
|
43556
|
-
/* @__PURE__ */
|
|
43557
|
-
/* @__PURE__ */
|
|
43558
|
-
/* @__PURE__ */
|
|
43559
|
-
/* @__PURE__ */
|
|
43804
|
+
/* @__PURE__ */ jsxs135("div", { className: "space-y-3 w-full", children: [
|
|
43805
|
+
/* @__PURE__ */ jsx176("div", { className: "h-4 w-40 rounded bg-gray200 animate-pulse" }),
|
|
43806
|
+
/* @__PURE__ */ jsx176("div", { className: "h-3 w-full rounded bg-gray200 animate-pulse" }),
|
|
43807
|
+
/* @__PURE__ */ jsx176("div", { className: "h-3 w-[90%] rounded bg-gray200 animate-pulse" }),
|
|
43808
|
+
/* @__PURE__ */ jsx176("div", { className: "h-3 w-[75%] rounded bg-gray200 animate-pulse" })
|
|
43560
43809
|
] }),
|
|
43561
|
-
/* @__PURE__ */
|
|
43562
|
-
/* @__PURE__ */
|
|
43563
|
-
/* @__PURE__ */
|
|
43810
|
+
/* @__PURE__ */ jsxs135("div", { className: "hidden md:flex flex-col items-center justify-center gap-3", children: [
|
|
43811
|
+
/* @__PURE__ */ jsx176("div", { className: "h-6 w-16 rounded bg-gray200 animate-pulse" }),
|
|
43812
|
+
/* @__PURE__ */ jsx176("div", { className: "h-4 w-20 rounded bg-gray200 animate-pulse" })
|
|
43564
43813
|
] })
|
|
43565
43814
|
] }) });
|
|
43566
43815
|
}
|
|
43567
43816
|
function CreatorDisplaySkeleton() {
|
|
43568
|
-
return /* @__PURE__ */
|
|
43817
|
+
return /* @__PURE__ */ jsx176("div", { className: "px-4 py-4 space-y-4", children: Array.from({ length: 3 }).map((_, idx) => /* @__PURE__ */ jsx176(CreatorCardSkeleton, {}, idx)) });
|
|
43569
43818
|
}
|
|
43570
43819
|
function CreatorExpandedPanel({
|
|
43571
43820
|
isOpen,
|
|
@@ -43576,8 +43825,8 @@ function CreatorExpandedPanel({
|
|
|
43576
43825
|
searchSpec,
|
|
43577
43826
|
fetchCreatorDetails
|
|
43578
43827
|
}) {
|
|
43579
|
-
const [creators, setCreators] =
|
|
43580
|
-
const [loading, setLoading] =
|
|
43828
|
+
const [creators, setCreators] = useState20([]);
|
|
43829
|
+
const [loading, setLoading] = useState20(false);
|
|
43581
43830
|
const fetcher = fetchCreatorDetails ?? defaultFetchCreatorDetails;
|
|
43582
43831
|
const loadCreators = useCallback7(async () => {
|
|
43583
43832
|
if (!creatorIds.length) return;
|
|
@@ -43591,15 +43840,15 @@ function CreatorExpandedPanel({
|
|
|
43591
43840
|
setLoading(false);
|
|
43592
43841
|
}
|
|
43593
43842
|
}, [creatorIds, sessionId, version, fetcher]);
|
|
43594
|
-
|
|
43843
|
+
useEffect13(() => {
|
|
43595
43844
|
if (isOpen && creatorIds.length > 0) {
|
|
43596
43845
|
loadCreators();
|
|
43597
43846
|
}
|
|
43598
43847
|
}, [isOpen, loadCreators]);
|
|
43599
43848
|
if (typeof window === "undefined") return null;
|
|
43600
43849
|
return ReactDOM2.createPortal(
|
|
43601
|
-
/* @__PURE__ */
|
|
43602
|
-
/* @__PURE__ */
|
|
43850
|
+
/* @__PURE__ */ jsx176(AnimatePresence4, { mode: "sync", children: isOpen && /* @__PURE__ */ jsxs135(Fragment11, { children: [
|
|
43851
|
+
/* @__PURE__ */ jsx176(
|
|
43603
43852
|
motion5.div,
|
|
43604
43853
|
{
|
|
43605
43854
|
initial: { opacity: 0 },
|
|
@@ -43614,7 +43863,7 @@ function CreatorExpandedPanel({
|
|
|
43614
43863
|
},
|
|
43615
43864
|
"overlay"
|
|
43616
43865
|
),
|
|
43617
|
-
/* @__PURE__ */
|
|
43866
|
+
/* @__PURE__ */ jsx176(
|
|
43618
43867
|
motion5.div,
|
|
43619
43868
|
{
|
|
43620
43869
|
initial: { x: "100%" },
|
|
@@ -43622,19 +43871,19 @@ function CreatorExpandedPanel({
|
|
|
43622
43871
|
exit: { x: "100%" },
|
|
43623
43872
|
transition: { type: "spring", damping: 30, stiffness: 400 },
|
|
43624
43873
|
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",
|
|
43625
|
-
children: /* @__PURE__ */
|
|
43626
|
-
/* @__PURE__ */
|
|
43627
|
-
/* @__PURE__ */
|
|
43628
|
-
/* @__PURE__ */
|
|
43629
|
-
/* @__PURE__ */
|
|
43630
|
-
/* @__PURE__ */
|
|
43631
|
-
/* @__PURE__ */
|
|
43874
|
+
children: /* @__PURE__ */ jsxs135("div", { className: "py-4 font-noto", children: [
|
|
43875
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex justify-between items-center w-full mb-4 px-2 md:pl-2", children: [
|
|
43876
|
+
/* @__PURE__ */ jsx176("button", { onClick: onClose, className: "p-2 rounded-full transition-colors flex-shrink-0", children: /* @__PURE__ */ jsx176(X, { className: "w-5 h-5" }) }),
|
|
43877
|
+
/* @__PURE__ */ jsxs135("div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
43878
|
+
/* @__PURE__ */ jsx176("div", { className: "flex flex-col md:flex-row justify-between gap-2 md:gap-0 md:items-center md:pr-16", children: /* @__PURE__ */ jsxs135("div", { className: "flex flex-col", children: [
|
|
43879
|
+
/* @__PURE__ */ jsx176("div", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] mb-2", children: /* @__PURE__ */ jsx176("h4", { className: "text-xs font-medium text-purpleText", children: "VERIFIED SEARCH RESULTS" }) }),
|
|
43880
|
+
/* @__PURE__ */ jsx176("h2", { className: "text-xl font-bold mb-1", children: "Creators Search Results" })
|
|
43632
43881
|
] }) }),
|
|
43633
|
-
searchSpec && /* @__PURE__ */
|
|
43882
|
+
searchSpec && /* @__PURE__ */ jsx176(SearchSpecDisplay, { spec: searchSpec })
|
|
43634
43883
|
] })
|
|
43635
43884
|
] }),
|
|
43636
|
-
/* @__PURE__ */
|
|
43637
|
-
loading ? /* @__PURE__ */
|
|
43885
|
+
/* @__PURE__ */ jsx176("div", { className: "border-b border-gray300" }),
|
|
43886
|
+
loading ? /* @__PURE__ */ jsx176(CreatorDisplaySkeleton, {}) : /* @__PURE__ */ jsx176(CreatorDisplay, { creators, isValidationComplete: version !== void 0 })
|
|
43638
43887
|
] })
|
|
43639
43888
|
},
|
|
43640
43889
|
"creator-panel"
|
|
@@ -43645,7 +43894,7 @@ function CreatorExpandedPanel({
|
|
|
43645
43894
|
}
|
|
43646
43895
|
|
|
43647
43896
|
// src/molecules/creator-discovery/CreatorWidget/useCreatorWidgetPolling.ts
|
|
43648
|
-
import { useState as
|
|
43897
|
+
import { useState as useState21, useEffect as useEffect14, useCallback as useCallback8, useMemo as useMemo11, useRef as useRef10 } from "react";
|
|
43649
43898
|
var DEFAULT_POLLING_CONFIG = {
|
|
43650
43899
|
pollInterval: 5e3,
|
|
43651
43900
|
maxDuration: 15 * 60 * 1e3,
|
|
@@ -43666,16 +43915,16 @@ function useCreatorWidgetPolling({
|
|
|
43666
43915
|
() => ({ ...DEFAULT_POLLING_CONFIG, ...pollingConfig }),
|
|
43667
43916
|
[pollingConfig]
|
|
43668
43917
|
);
|
|
43669
|
-
const [versionData, setVersionData] =
|
|
43670
|
-
const [totalVersions, setTotalVersions] =
|
|
43671
|
-
const [selectedVersion, setSelectedVersion] =
|
|
43672
|
-
const [isLoadingVersion, setIsLoadingVersion] =
|
|
43673
|
-
const [isValidationComplete, setIsValidationComplete] =
|
|
43674
|
-
const [versionStatus, setVersionStatus] =
|
|
43675
|
-
const [statusDetails, setStatusDetails] =
|
|
43676
|
-
const [timeDisplay, setTimeDisplay] =
|
|
43677
|
-
const [loadingStatus, setLoadingStatus] =
|
|
43678
|
-
const remainingTimeRef =
|
|
43918
|
+
const [versionData, setVersionData] = useState21(null);
|
|
43919
|
+
const [totalVersions, setTotalVersions] = useState21(0);
|
|
43920
|
+
const [selectedVersion, setSelectedVersion] = useState21();
|
|
43921
|
+
const [isLoadingVersion, setIsLoadingVersion] = useState21(false);
|
|
43922
|
+
const [isValidationComplete, setIsValidationComplete] = useState21(false);
|
|
43923
|
+
const [versionStatus, setVersionStatus] = useState21("checking");
|
|
43924
|
+
const [statusDetails, setStatusDetails] = useState21();
|
|
43925
|
+
const [timeDisplay, setTimeDisplay] = useState21("");
|
|
43926
|
+
const [loadingStatus, setLoadingStatus] = useState21(true);
|
|
43927
|
+
const remainingTimeRef = useRef10(0);
|
|
43679
43928
|
const requestedVersion = selectedVersion ?? currentVersion ?? versionData?.currentVersion;
|
|
43680
43929
|
const fetchVersionData = useCallback8(async () => {
|
|
43681
43930
|
if (!sessionId) return;
|
|
@@ -43698,17 +43947,17 @@ function useCreatorWidgetPolling({
|
|
|
43698
43947
|
setIsLoadingVersion(false);
|
|
43699
43948
|
}
|
|
43700
43949
|
}, [sessionId, requestedVersion, isValidationComplete, fetchVersions, versionData]);
|
|
43701
|
-
|
|
43950
|
+
useEffect14(() => {
|
|
43702
43951
|
fetchVersionData();
|
|
43703
43952
|
}, [sessionId, requestedVersion, isValidationComplete]);
|
|
43704
|
-
|
|
43953
|
+
useEffect14(() => {
|
|
43705
43954
|
if (totalVersions > 0 || !sessionId) return;
|
|
43706
43955
|
const interval = setInterval(() => {
|
|
43707
43956
|
if (totalVersions === 0) fetchVersionData();
|
|
43708
43957
|
}, config.pollInterval);
|
|
43709
43958
|
return () => clearInterval(interval);
|
|
43710
43959
|
}, [totalVersions, sessionId, fetchVersionData, config.pollInterval]);
|
|
43711
|
-
|
|
43960
|
+
useEffect14(() => {
|
|
43712
43961
|
if (!selectedVersion && !requestedVersion) return;
|
|
43713
43962
|
const activeVersion = selectedVersion ?? requestedVersion;
|
|
43714
43963
|
let isMounted = true;
|
|
@@ -43818,7 +44067,7 @@ function useCreatorWidgetPolling({
|
|
|
43818
44067
|
}
|
|
43819
44068
|
|
|
43820
44069
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
43821
|
-
import { jsx as
|
|
44070
|
+
import { jsx as jsx177, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
43822
44071
|
function CreatorWidgetInner({
|
|
43823
44072
|
sessionId,
|
|
43824
44073
|
currentVersion,
|
|
@@ -43831,7 +44080,7 @@ function CreatorWidgetInner({
|
|
|
43831
44080
|
onAction,
|
|
43832
44081
|
className
|
|
43833
44082
|
}) {
|
|
43834
|
-
const [isExpanded, setIsExpanded] =
|
|
44083
|
+
const [isExpanded, setIsExpanded] = useState22(false);
|
|
43835
44084
|
const {
|
|
43836
44085
|
versionNumbers,
|
|
43837
44086
|
selectedVersion,
|
|
@@ -43866,8 +44115,8 @@ function CreatorWidgetInner({
|
|
|
43866
44115
|
searchSpec
|
|
43867
44116
|
});
|
|
43868
44117
|
}, [onAction, sessionId, creatorIds, selectedVersion, searchSpec]);
|
|
43869
|
-
return /* @__PURE__ */
|
|
43870
|
-
/* @__PURE__ */
|
|
44118
|
+
return /* @__PURE__ */ jsxs136("div", { className, children: [
|
|
44119
|
+
/* @__PURE__ */ jsx177(
|
|
43871
44120
|
CreatorCompactView,
|
|
43872
44121
|
{
|
|
43873
44122
|
versions: versionNumbers,
|
|
@@ -43883,7 +44132,7 @@ function CreatorWidgetInner({
|
|
|
43883
44132
|
isLoading
|
|
43884
44133
|
}
|
|
43885
44134
|
),
|
|
43886
|
-
/* @__PURE__ */
|
|
44135
|
+
/* @__PURE__ */ jsx177(
|
|
43887
44136
|
CreatorExpandedPanel,
|
|
43888
44137
|
{
|
|
43889
44138
|
isOpen: isExpanded,
|
|
@@ -44191,7 +44440,7 @@ __export(ui_exports, {
|
|
|
44191
44440
|
// src/components/ui/button-group.tsx
|
|
44192
44441
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
44193
44442
|
import { cva as cva8 } from "class-variance-authority";
|
|
44194
|
-
import { jsx as
|
|
44443
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
44195
44444
|
var buttonGroupVariants = cva8(
|
|
44196
44445
|
"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",
|
|
44197
44446
|
{
|
|
@@ -44211,7 +44460,7 @@ function ButtonGroup({
|
|
|
44211
44460
|
orientation,
|
|
44212
44461
|
...props
|
|
44213
44462
|
}) {
|
|
44214
|
-
return /* @__PURE__ */
|
|
44463
|
+
return /* @__PURE__ */ jsx178(
|
|
44215
44464
|
"div",
|
|
44216
44465
|
{
|
|
44217
44466
|
role: "group",
|
|
@@ -44228,7 +44477,7 @@ function ButtonGroupText({
|
|
|
44228
44477
|
...props
|
|
44229
44478
|
}) {
|
|
44230
44479
|
const Comp = asChild ? Slot4 : "div";
|
|
44231
|
-
return /* @__PURE__ */
|
|
44480
|
+
return /* @__PURE__ */ jsx178(
|
|
44232
44481
|
Comp,
|
|
44233
44482
|
{
|
|
44234
44483
|
className: cn(
|
|
@@ -44244,7 +44493,7 @@ function ButtonGroupSeparator({
|
|
|
44244
44493
|
orientation = "vertical",
|
|
44245
44494
|
...props
|
|
44246
44495
|
}) {
|
|
44247
|
-
return /* @__PURE__ */
|
|
44496
|
+
return /* @__PURE__ */ jsx178(
|
|
44248
44497
|
Separator2,
|
|
44249
44498
|
{
|
|
44250
44499
|
"data-slot": "button-group-separator",
|
|
@@ -44260,9 +44509,9 @@ function ButtonGroupSeparator({
|
|
|
44260
44509
|
|
|
44261
44510
|
// src/components/ui/empty.tsx
|
|
44262
44511
|
import { cva as cva9 } from "class-variance-authority";
|
|
44263
|
-
import { jsx as
|
|
44512
|
+
import { jsx as jsx179 } from "react/jsx-runtime";
|
|
44264
44513
|
function Empty({ className, ...props }) {
|
|
44265
|
-
return /* @__PURE__ */
|
|
44514
|
+
return /* @__PURE__ */ jsx179(
|
|
44266
44515
|
"div",
|
|
44267
44516
|
{
|
|
44268
44517
|
"data-slot": "empty",
|
|
@@ -44275,7 +44524,7 @@ function Empty({ className, ...props }) {
|
|
|
44275
44524
|
);
|
|
44276
44525
|
}
|
|
44277
44526
|
function EmptyHeader({ className, ...props }) {
|
|
44278
|
-
return /* @__PURE__ */
|
|
44527
|
+
return /* @__PURE__ */ jsx179(
|
|
44279
44528
|
"div",
|
|
44280
44529
|
{
|
|
44281
44530
|
"data-slot": "empty-header",
|
|
@@ -44306,7 +44555,7 @@ function EmptyMedia({
|
|
|
44306
44555
|
variant = "default",
|
|
44307
44556
|
...props
|
|
44308
44557
|
}) {
|
|
44309
|
-
return /* @__PURE__ */
|
|
44558
|
+
return /* @__PURE__ */ jsx179(
|
|
44310
44559
|
"div",
|
|
44311
44560
|
{
|
|
44312
44561
|
"data-slot": "empty-icon",
|
|
@@ -44317,7 +44566,7 @@ function EmptyMedia({
|
|
|
44317
44566
|
);
|
|
44318
44567
|
}
|
|
44319
44568
|
function EmptyTitle({ className, ...props }) {
|
|
44320
|
-
return /* @__PURE__ */
|
|
44569
|
+
return /* @__PURE__ */ jsx179(
|
|
44321
44570
|
"div",
|
|
44322
44571
|
{
|
|
44323
44572
|
"data-slot": "empty-title",
|
|
@@ -44327,7 +44576,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
44327
44576
|
);
|
|
44328
44577
|
}
|
|
44329
44578
|
function EmptyDescription({ className, ...props }) {
|
|
44330
|
-
return /* @__PURE__ */
|
|
44579
|
+
return /* @__PURE__ */ jsx179(
|
|
44331
44580
|
"div",
|
|
44332
44581
|
{
|
|
44333
44582
|
"data-slot": "empty-description",
|
|
@@ -44340,7 +44589,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
44340
44589
|
);
|
|
44341
44590
|
}
|
|
44342
44591
|
function EmptyContent({ className, ...props }) {
|
|
44343
|
-
return /* @__PURE__ */
|
|
44592
|
+
return /* @__PURE__ */ jsx179(
|
|
44344
44593
|
"div",
|
|
44345
44594
|
{
|
|
44346
44595
|
"data-slot": "empty-content",
|
|
@@ -44356,9 +44605,9 @@ function EmptyContent({ className, ...props }) {
|
|
|
44356
44605
|
// src/components/ui/field.tsx
|
|
44357
44606
|
import { useMemo as useMemo12 } from "react";
|
|
44358
44607
|
import { cva as cva10 } from "class-variance-authority";
|
|
44359
|
-
import { jsx as
|
|
44608
|
+
import { jsx as jsx180, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
44360
44609
|
function FieldSet({ className, ...props }) {
|
|
44361
|
-
return /* @__PURE__ */
|
|
44610
|
+
return /* @__PURE__ */ jsx180(
|
|
44362
44611
|
"fieldset",
|
|
44363
44612
|
{
|
|
44364
44613
|
"data-slot": "field-set",
|
|
@@ -44376,7 +44625,7 @@ function FieldLegend({
|
|
|
44376
44625
|
variant = "legend",
|
|
44377
44626
|
...props
|
|
44378
44627
|
}) {
|
|
44379
|
-
return /* @__PURE__ */
|
|
44628
|
+
return /* @__PURE__ */ jsx180(
|
|
44380
44629
|
"legend",
|
|
44381
44630
|
{
|
|
44382
44631
|
"data-slot": "field-legend",
|
|
@@ -44392,7 +44641,7 @@ function FieldLegend({
|
|
|
44392
44641
|
);
|
|
44393
44642
|
}
|
|
44394
44643
|
function FieldGroup({ className, ...props }) {
|
|
44395
|
-
return /* @__PURE__ */
|
|
44644
|
+
return /* @__PURE__ */ jsx180(
|
|
44396
44645
|
"div",
|
|
44397
44646
|
{
|
|
44398
44647
|
"data-slot": "field-group",
|
|
@@ -44432,7 +44681,7 @@ function Field({
|
|
|
44432
44681
|
orientation = "vertical",
|
|
44433
44682
|
...props
|
|
44434
44683
|
}) {
|
|
44435
|
-
return /* @__PURE__ */
|
|
44684
|
+
return /* @__PURE__ */ jsx180(
|
|
44436
44685
|
"div",
|
|
44437
44686
|
{
|
|
44438
44687
|
role: "group",
|
|
@@ -44444,7 +44693,7 @@ function Field({
|
|
|
44444
44693
|
);
|
|
44445
44694
|
}
|
|
44446
44695
|
function FieldContent({ className, ...props }) {
|
|
44447
|
-
return /* @__PURE__ */
|
|
44696
|
+
return /* @__PURE__ */ jsx180(
|
|
44448
44697
|
"div",
|
|
44449
44698
|
{
|
|
44450
44699
|
"data-slot": "field-content",
|
|
@@ -44460,7 +44709,7 @@ function FieldLabel({
|
|
|
44460
44709
|
className,
|
|
44461
44710
|
...props
|
|
44462
44711
|
}) {
|
|
44463
|
-
return /* @__PURE__ */
|
|
44712
|
+
return /* @__PURE__ */ jsx180(
|
|
44464
44713
|
Label,
|
|
44465
44714
|
{
|
|
44466
44715
|
"data-slot": "field-label",
|
|
@@ -44475,7 +44724,7 @@ function FieldLabel({
|
|
|
44475
44724
|
);
|
|
44476
44725
|
}
|
|
44477
44726
|
function FieldTitle({ className, ...props }) {
|
|
44478
|
-
return /* @__PURE__ */
|
|
44727
|
+
return /* @__PURE__ */ jsx180(
|
|
44479
44728
|
"div",
|
|
44480
44729
|
{
|
|
44481
44730
|
"data-slot": "field-label",
|
|
@@ -44488,7 +44737,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
44488
44737
|
);
|
|
44489
44738
|
}
|
|
44490
44739
|
function FieldDescription({ className, ...props }) {
|
|
44491
|
-
return /* @__PURE__ */
|
|
44740
|
+
return /* @__PURE__ */ jsx180(
|
|
44492
44741
|
"p",
|
|
44493
44742
|
{
|
|
44494
44743
|
"data-slot": "field-description",
|
|
@@ -44507,7 +44756,7 @@ function FieldSeparator({
|
|
|
44507
44756
|
className,
|
|
44508
44757
|
...props
|
|
44509
44758
|
}) {
|
|
44510
|
-
return /* @__PURE__ */
|
|
44759
|
+
return /* @__PURE__ */ jsxs137(
|
|
44511
44760
|
"div",
|
|
44512
44761
|
{
|
|
44513
44762
|
"data-slot": "field-separator",
|
|
@@ -44518,8 +44767,8 @@ function FieldSeparator({
|
|
|
44518
44767
|
),
|
|
44519
44768
|
...props,
|
|
44520
44769
|
children: [
|
|
44521
|
-
/* @__PURE__ */
|
|
44522
|
-
children && /* @__PURE__ */
|
|
44770
|
+
/* @__PURE__ */ jsx180(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
44771
|
+
children && /* @__PURE__ */ jsx180(
|
|
44523
44772
|
"span",
|
|
44524
44773
|
{
|
|
44525
44774
|
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
@@ -44547,14 +44796,14 @@ function FieldError({
|
|
|
44547
44796
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
44548
44797
|
return errors[0].message;
|
|
44549
44798
|
}
|
|
44550
|
-
return /* @__PURE__ */
|
|
44551
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
44799
|
+
return /* @__PURE__ */ jsx180("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
44800
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx180("li", { children: error.message }, index)
|
|
44552
44801
|
) });
|
|
44553
44802
|
}, [children, errors]);
|
|
44554
44803
|
if (!content) {
|
|
44555
44804
|
return null;
|
|
44556
44805
|
}
|
|
44557
|
-
return /* @__PURE__ */
|
|
44806
|
+
return /* @__PURE__ */ jsx180(
|
|
44558
44807
|
"div",
|
|
44559
44808
|
{
|
|
44560
44809
|
role: "alert",
|
|
@@ -44568,9 +44817,9 @@ function FieldError({
|
|
|
44568
44817
|
|
|
44569
44818
|
// src/components/ui/input-group.tsx
|
|
44570
44819
|
import { cva as cva11 } from "class-variance-authority";
|
|
44571
|
-
import { jsx as
|
|
44820
|
+
import { jsx as jsx181 } from "react/jsx-runtime";
|
|
44572
44821
|
function InputGroup({ className, ...props }) {
|
|
44573
|
-
return /* @__PURE__ */
|
|
44822
|
+
return /* @__PURE__ */ jsx181(
|
|
44574
44823
|
"div",
|
|
44575
44824
|
{
|
|
44576
44825
|
"data-slot": "input-group",
|
|
@@ -44614,7 +44863,7 @@ function InputGroupAddon({
|
|
|
44614
44863
|
align = "inline-start",
|
|
44615
44864
|
...props
|
|
44616
44865
|
}) {
|
|
44617
|
-
return /* @__PURE__ */
|
|
44866
|
+
return /* @__PURE__ */ jsx181(
|
|
44618
44867
|
"div",
|
|
44619
44868
|
{
|
|
44620
44869
|
role: "group",
|
|
@@ -44654,7 +44903,7 @@ function InputGroupButton({
|
|
|
44654
44903
|
size = "xs",
|
|
44655
44904
|
...props
|
|
44656
44905
|
}) {
|
|
44657
|
-
return /* @__PURE__ */
|
|
44906
|
+
return /* @__PURE__ */ jsx181(
|
|
44658
44907
|
Button,
|
|
44659
44908
|
{
|
|
44660
44909
|
type,
|
|
@@ -44666,7 +44915,7 @@ function InputGroupButton({
|
|
|
44666
44915
|
);
|
|
44667
44916
|
}
|
|
44668
44917
|
function InputGroupText({ className, ...props }) {
|
|
44669
|
-
return /* @__PURE__ */
|
|
44918
|
+
return /* @__PURE__ */ jsx181(
|
|
44670
44919
|
"span",
|
|
44671
44920
|
{
|
|
44672
44921
|
className: cn(
|
|
@@ -44681,7 +44930,7 @@ function InputGroupInput({
|
|
|
44681
44930
|
className,
|
|
44682
44931
|
...props
|
|
44683
44932
|
}) {
|
|
44684
|
-
return /* @__PURE__ */
|
|
44933
|
+
return /* @__PURE__ */ jsx181(
|
|
44685
44934
|
Input,
|
|
44686
44935
|
{
|
|
44687
44936
|
"data-slot": "input-group-control",
|
|
@@ -44697,7 +44946,7 @@ function InputGroupTextarea({
|
|
|
44697
44946
|
className,
|
|
44698
44947
|
...props
|
|
44699
44948
|
}) {
|
|
44700
|
-
return /* @__PURE__ */
|
|
44949
|
+
return /* @__PURE__ */ jsx181(
|
|
44701
44950
|
Textarea,
|
|
44702
44951
|
{
|
|
44703
44952
|
"data-slot": "input-group-control",
|
|
@@ -44713,9 +44962,9 @@ function InputGroupTextarea({
|
|
|
44713
44962
|
// src/components/ui/item.tsx
|
|
44714
44963
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
44715
44964
|
import { cva as cva12 } from "class-variance-authority";
|
|
44716
|
-
import { jsx as
|
|
44965
|
+
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
44717
44966
|
function ItemGroup({ className, ...props }) {
|
|
44718
|
-
return /* @__PURE__ */
|
|
44967
|
+
return /* @__PURE__ */ jsx182(
|
|
44719
44968
|
"div",
|
|
44720
44969
|
{
|
|
44721
44970
|
role: "list",
|
|
@@ -44729,7 +44978,7 @@ function ItemSeparator({
|
|
|
44729
44978
|
className,
|
|
44730
44979
|
...props
|
|
44731
44980
|
}) {
|
|
44732
|
-
return /* @__PURE__ */
|
|
44981
|
+
return /* @__PURE__ */ jsx182(
|
|
44733
44982
|
Separator2,
|
|
44734
44983
|
{
|
|
44735
44984
|
"data-slot": "item-separator",
|
|
@@ -44767,7 +45016,7 @@ function Item8({
|
|
|
44767
45016
|
...props
|
|
44768
45017
|
}) {
|
|
44769
45018
|
const Comp = asChild ? Slot5 : "div";
|
|
44770
|
-
return /* @__PURE__ */
|
|
45019
|
+
return /* @__PURE__ */ jsx182(
|
|
44771
45020
|
Comp,
|
|
44772
45021
|
{
|
|
44773
45022
|
"data-slot": "item",
|
|
@@ -44798,7 +45047,7 @@ function ItemMedia({
|
|
|
44798
45047
|
variant = "default",
|
|
44799
45048
|
...props
|
|
44800
45049
|
}) {
|
|
44801
|
-
return /* @__PURE__ */
|
|
45050
|
+
return /* @__PURE__ */ jsx182(
|
|
44802
45051
|
"div",
|
|
44803
45052
|
{
|
|
44804
45053
|
"data-slot": "item-media",
|
|
@@ -44809,7 +45058,7 @@ function ItemMedia({
|
|
|
44809
45058
|
);
|
|
44810
45059
|
}
|
|
44811
45060
|
function ItemContent({ className, ...props }) {
|
|
44812
|
-
return /* @__PURE__ */
|
|
45061
|
+
return /* @__PURE__ */ jsx182(
|
|
44813
45062
|
"div",
|
|
44814
45063
|
{
|
|
44815
45064
|
"data-slot": "item-content",
|
|
@@ -44822,7 +45071,7 @@ function ItemContent({ className, ...props }) {
|
|
|
44822
45071
|
);
|
|
44823
45072
|
}
|
|
44824
45073
|
function ItemTitle({ className, ...props }) {
|
|
44825
|
-
return /* @__PURE__ */
|
|
45074
|
+
return /* @__PURE__ */ jsx182(
|
|
44826
45075
|
"div",
|
|
44827
45076
|
{
|
|
44828
45077
|
"data-slot": "item-title",
|
|
@@ -44835,7 +45084,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
44835
45084
|
);
|
|
44836
45085
|
}
|
|
44837
45086
|
function ItemDescription({ className, ...props }) {
|
|
44838
|
-
return /* @__PURE__ */
|
|
45087
|
+
return /* @__PURE__ */ jsx182(
|
|
44839
45088
|
"p",
|
|
44840
45089
|
{
|
|
44841
45090
|
"data-slot": "item-description",
|
|
@@ -44849,7 +45098,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
44849
45098
|
);
|
|
44850
45099
|
}
|
|
44851
45100
|
function ItemActions({ className, ...props }) {
|
|
44852
|
-
return /* @__PURE__ */
|
|
45101
|
+
return /* @__PURE__ */ jsx182(
|
|
44853
45102
|
"div",
|
|
44854
45103
|
{
|
|
44855
45104
|
"data-slot": "item-actions",
|
|
@@ -44859,7 +45108,7 @@ function ItemActions({ className, ...props }) {
|
|
|
44859
45108
|
);
|
|
44860
45109
|
}
|
|
44861
45110
|
function ItemHeader({ className, ...props }) {
|
|
44862
|
-
return /* @__PURE__ */
|
|
45111
|
+
return /* @__PURE__ */ jsx182(
|
|
44863
45112
|
"div",
|
|
44864
45113
|
{
|
|
44865
45114
|
"data-slot": "item-header",
|
|
@@ -44872,7 +45121,7 @@ function ItemHeader({ className, ...props }) {
|
|
|
44872
45121
|
);
|
|
44873
45122
|
}
|
|
44874
45123
|
function ItemFooter({ className, ...props }) {
|
|
44875
|
-
return /* @__PURE__ */
|
|
45124
|
+
return /* @__PURE__ */ jsx182(
|
|
44876
45125
|
"div",
|
|
44877
45126
|
{
|
|
44878
45127
|
"data-slot": "item-footer",
|
|
@@ -44886,9 +45135,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
44886
45135
|
}
|
|
44887
45136
|
|
|
44888
45137
|
// src/components/ui/kbd.tsx
|
|
44889
|
-
import { jsx as
|
|
45138
|
+
import { jsx as jsx183 } from "react/jsx-runtime";
|
|
44890
45139
|
function Kbd({ className, ...props }) {
|
|
44891
|
-
return /* @__PURE__ */
|
|
45140
|
+
return /* @__PURE__ */ jsx183(
|
|
44892
45141
|
"kbd",
|
|
44893
45142
|
{
|
|
44894
45143
|
"data-slot": "kbd",
|
|
@@ -44903,7 +45152,7 @@ function Kbd({ className, ...props }) {
|
|
|
44903
45152
|
);
|
|
44904
45153
|
}
|
|
44905
45154
|
function KbdGroup({ className, ...props }) {
|
|
44906
|
-
return /* @__PURE__ */
|
|
45155
|
+
return /* @__PURE__ */ jsx183(
|
|
44907
45156
|
"kbd",
|
|
44908
45157
|
{
|
|
44909
45158
|
"data-slot": "kbd-group",
|
|
@@ -44914,16 +45163,16 @@ function KbdGroup({ className, ...props }) {
|
|
|
44914
45163
|
}
|
|
44915
45164
|
|
|
44916
45165
|
// src/components/ui/sidebar.tsx
|
|
44917
|
-
import * as
|
|
45166
|
+
import * as React115 from "react";
|
|
44918
45167
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
44919
45168
|
import { cva as cva13 } from "class-variance-authority";
|
|
44920
45169
|
|
|
44921
45170
|
// src/hooks/use-mobile.tsx
|
|
44922
|
-
import * as
|
|
45171
|
+
import * as React114 from "react";
|
|
44923
45172
|
var MOBILE_BREAKPOINT = 768;
|
|
44924
45173
|
function useIsMobile() {
|
|
44925
|
-
const [isMobile, setIsMobile] =
|
|
44926
|
-
|
|
45174
|
+
const [isMobile, setIsMobile] = React114.useState(void 0);
|
|
45175
|
+
React114.useEffect(() => {
|
|
44927
45176
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
44928
45177
|
const onChange = () => {
|
|
44929
45178
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -44936,22 +45185,22 @@ function useIsMobile() {
|
|
|
44936
45185
|
}
|
|
44937
45186
|
|
|
44938
45187
|
// src/components/ui/sidebar.tsx
|
|
44939
|
-
import { jsx as
|
|
45188
|
+
import { jsx as jsx184, jsxs as jsxs138 } from "react/jsx-runtime";
|
|
44940
45189
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
44941
45190
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
44942
45191
|
var SIDEBAR_WIDTH = "16rem";
|
|
44943
45192
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
44944
45193
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
44945
45194
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
44946
|
-
var SidebarContext =
|
|
45195
|
+
var SidebarContext = React115.createContext(null);
|
|
44947
45196
|
function useSidebar() {
|
|
44948
|
-
const context =
|
|
45197
|
+
const context = React115.useContext(SidebarContext);
|
|
44949
45198
|
if (!context) {
|
|
44950
45199
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
44951
45200
|
}
|
|
44952
45201
|
return context;
|
|
44953
45202
|
}
|
|
44954
|
-
var SidebarProvider =
|
|
45203
|
+
var SidebarProvider = React115.forwardRef(
|
|
44955
45204
|
({
|
|
44956
45205
|
defaultOpen = true,
|
|
44957
45206
|
open: openProp,
|
|
@@ -44962,10 +45211,10 @@ var SidebarProvider = React114.forwardRef(
|
|
|
44962
45211
|
...props
|
|
44963
45212
|
}, ref) => {
|
|
44964
45213
|
const isMobile = useIsMobile();
|
|
44965
|
-
const [openMobile, setOpenMobile] =
|
|
44966
|
-
const [_open, _setOpen] =
|
|
45214
|
+
const [openMobile, setOpenMobile] = React115.useState(false);
|
|
45215
|
+
const [_open, _setOpen] = React115.useState(defaultOpen);
|
|
44967
45216
|
const open = openProp ?? _open;
|
|
44968
|
-
const setOpen =
|
|
45217
|
+
const setOpen = React115.useCallback(
|
|
44969
45218
|
(value) => {
|
|
44970
45219
|
const openState = typeof value === "function" ? value(open) : value;
|
|
44971
45220
|
if (setOpenProp) {
|
|
@@ -44977,10 +45226,10 @@ var SidebarProvider = React114.forwardRef(
|
|
|
44977
45226
|
},
|
|
44978
45227
|
[setOpenProp, open]
|
|
44979
45228
|
);
|
|
44980
|
-
const toggleSidebar =
|
|
45229
|
+
const toggleSidebar = React115.useCallback(() => {
|
|
44981
45230
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
44982
45231
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
44983
|
-
|
|
45232
|
+
React115.useEffect(() => {
|
|
44984
45233
|
const handleKeyDown = (event) => {
|
|
44985
45234
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
44986
45235
|
event.preventDefault();
|
|
@@ -44991,7 +45240,7 @@ var SidebarProvider = React114.forwardRef(
|
|
|
44991
45240
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
44992
45241
|
}, [toggleSidebar]);
|
|
44993
45242
|
const state = open ? "expanded" : "collapsed";
|
|
44994
|
-
const contextValue =
|
|
45243
|
+
const contextValue = React115.useMemo(
|
|
44995
45244
|
() => ({
|
|
44996
45245
|
state,
|
|
44997
45246
|
open,
|
|
@@ -45003,7 +45252,7 @@ var SidebarProvider = React114.forwardRef(
|
|
|
45003
45252
|
}),
|
|
45004
45253
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
45005
45254
|
);
|
|
45006
|
-
return /* @__PURE__ */
|
|
45255
|
+
return /* @__PURE__ */ jsx184(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx184(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx184(
|
|
45007
45256
|
"div",
|
|
45008
45257
|
{
|
|
45009
45258
|
style: {
|
|
@@ -45023,7 +45272,7 @@ var SidebarProvider = React114.forwardRef(
|
|
|
45023
45272
|
}
|
|
45024
45273
|
);
|
|
45025
45274
|
SidebarProvider.displayName = "SidebarProvider";
|
|
45026
|
-
var Sidebar =
|
|
45275
|
+
var Sidebar = React115.forwardRef(
|
|
45027
45276
|
({
|
|
45028
45277
|
side = "left",
|
|
45029
45278
|
variant = "sidebar",
|
|
@@ -45034,7 +45283,7 @@ var Sidebar = React114.forwardRef(
|
|
|
45034
45283
|
}, ref) => {
|
|
45035
45284
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
45036
45285
|
if (collapsible === "none") {
|
|
45037
|
-
return /* @__PURE__ */
|
|
45286
|
+
return /* @__PURE__ */ jsx184(
|
|
45038
45287
|
"div",
|
|
45039
45288
|
{
|
|
45040
45289
|
className: cn(
|
|
@@ -45048,7 +45297,7 @@ var Sidebar = React114.forwardRef(
|
|
|
45048
45297
|
);
|
|
45049
45298
|
}
|
|
45050
45299
|
if (isMobile) {
|
|
45051
|
-
return /* @__PURE__ */
|
|
45300
|
+
return /* @__PURE__ */ jsx184(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs138(
|
|
45052
45301
|
SheetContent,
|
|
45053
45302
|
{
|
|
45054
45303
|
"data-sidebar": "sidebar",
|
|
@@ -45059,16 +45308,16 @@ var Sidebar = React114.forwardRef(
|
|
|
45059
45308
|
},
|
|
45060
45309
|
side,
|
|
45061
45310
|
children: [
|
|
45062
|
-
/* @__PURE__ */
|
|
45063
|
-
/* @__PURE__ */
|
|
45064
|
-
/* @__PURE__ */
|
|
45311
|
+
/* @__PURE__ */ jsxs138(SheetHeader, { className: "sr-only", children: [
|
|
45312
|
+
/* @__PURE__ */ jsx184(SheetTitle, { children: "Sidebar" }),
|
|
45313
|
+
/* @__PURE__ */ jsx184(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
45065
45314
|
] }),
|
|
45066
|
-
/* @__PURE__ */
|
|
45315
|
+
/* @__PURE__ */ jsx184("div", { className: "flex h-full w-full flex-col", children })
|
|
45067
45316
|
]
|
|
45068
45317
|
}
|
|
45069
45318
|
) });
|
|
45070
45319
|
}
|
|
45071
|
-
return /* @__PURE__ */
|
|
45320
|
+
return /* @__PURE__ */ jsxs138(
|
|
45072
45321
|
"div",
|
|
45073
45322
|
{
|
|
45074
45323
|
ref,
|
|
@@ -45078,7 +45327,7 @@ var Sidebar = React114.forwardRef(
|
|
|
45078
45327
|
"data-variant": variant,
|
|
45079
45328
|
"data-side": side,
|
|
45080
45329
|
children: [
|
|
45081
|
-
/* @__PURE__ */
|
|
45330
|
+
/* @__PURE__ */ jsx184(
|
|
45082
45331
|
"div",
|
|
45083
45332
|
{
|
|
45084
45333
|
className: cn(
|
|
@@ -45089,7 +45338,7 @@ var Sidebar = React114.forwardRef(
|
|
|
45089
45338
|
)
|
|
45090
45339
|
}
|
|
45091
45340
|
),
|
|
45092
|
-
/* @__PURE__ */
|
|
45341
|
+
/* @__PURE__ */ jsx184(
|
|
45093
45342
|
"div",
|
|
45094
45343
|
{
|
|
45095
45344
|
className: cn(
|
|
@@ -45100,7 +45349,7 @@ var Sidebar = React114.forwardRef(
|
|
|
45100
45349
|
className
|
|
45101
45350
|
),
|
|
45102
45351
|
...props,
|
|
45103
|
-
children: /* @__PURE__ */
|
|
45352
|
+
children: /* @__PURE__ */ jsx184(
|
|
45104
45353
|
"div",
|
|
45105
45354
|
{
|
|
45106
45355
|
"data-sidebar": "sidebar",
|
|
@@ -45116,9 +45365,9 @@ var Sidebar = React114.forwardRef(
|
|
|
45116
45365
|
}
|
|
45117
45366
|
);
|
|
45118
45367
|
Sidebar.displayName = "Sidebar";
|
|
45119
|
-
var SidebarTrigger =
|
|
45368
|
+
var SidebarTrigger = React115.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
45120
45369
|
const { toggleSidebar } = useSidebar();
|
|
45121
|
-
return /* @__PURE__ */
|
|
45370
|
+
return /* @__PURE__ */ jsxs138(
|
|
45122
45371
|
Button,
|
|
45123
45372
|
{
|
|
45124
45373
|
ref,
|
|
@@ -45132,16 +45381,16 @@ var SidebarTrigger = React114.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
45132
45381
|
},
|
|
45133
45382
|
...props,
|
|
45134
45383
|
children: [
|
|
45135
|
-
/* @__PURE__ */
|
|
45136
|
-
/* @__PURE__ */
|
|
45384
|
+
/* @__PURE__ */ jsx184(PanelLeft, {}),
|
|
45385
|
+
/* @__PURE__ */ jsx184("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
45137
45386
|
]
|
|
45138
45387
|
}
|
|
45139
45388
|
);
|
|
45140
45389
|
});
|
|
45141
45390
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
45142
|
-
var SidebarRail =
|
|
45391
|
+
var SidebarRail = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45143
45392
|
const { toggleSidebar } = useSidebar();
|
|
45144
|
-
return /* @__PURE__ */
|
|
45393
|
+
return /* @__PURE__ */ jsx184(
|
|
45145
45394
|
"button",
|
|
45146
45395
|
{
|
|
45147
45396
|
ref,
|
|
@@ -45164,8 +45413,8 @@ var SidebarRail = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45164
45413
|
);
|
|
45165
45414
|
});
|
|
45166
45415
|
SidebarRail.displayName = "SidebarRail";
|
|
45167
|
-
var SidebarInset =
|
|
45168
|
-
return /* @__PURE__ */
|
|
45416
|
+
var SidebarInset = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45417
|
+
return /* @__PURE__ */ jsx184(
|
|
45169
45418
|
"main",
|
|
45170
45419
|
{
|
|
45171
45420
|
ref,
|
|
@@ -45179,8 +45428,8 @@ var SidebarInset = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45179
45428
|
);
|
|
45180
45429
|
});
|
|
45181
45430
|
SidebarInset.displayName = "SidebarInset";
|
|
45182
|
-
var SidebarInput =
|
|
45183
|
-
return /* @__PURE__ */
|
|
45431
|
+
var SidebarInput = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45432
|
+
return /* @__PURE__ */ jsx184(
|
|
45184
45433
|
Input,
|
|
45185
45434
|
{
|
|
45186
45435
|
ref,
|
|
@@ -45194,8 +45443,8 @@ var SidebarInput = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45194
45443
|
);
|
|
45195
45444
|
});
|
|
45196
45445
|
SidebarInput.displayName = "SidebarInput";
|
|
45197
|
-
var SidebarHeader =
|
|
45198
|
-
return /* @__PURE__ */
|
|
45446
|
+
var SidebarHeader = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45447
|
+
return /* @__PURE__ */ jsx184(
|
|
45199
45448
|
"div",
|
|
45200
45449
|
{
|
|
45201
45450
|
ref,
|
|
@@ -45206,8 +45455,8 @@ var SidebarHeader = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45206
45455
|
);
|
|
45207
45456
|
});
|
|
45208
45457
|
SidebarHeader.displayName = "SidebarHeader";
|
|
45209
|
-
var SidebarFooter =
|
|
45210
|
-
return /* @__PURE__ */
|
|
45458
|
+
var SidebarFooter = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45459
|
+
return /* @__PURE__ */ jsx184(
|
|
45211
45460
|
"div",
|
|
45212
45461
|
{
|
|
45213
45462
|
ref,
|
|
@@ -45218,8 +45467,8 @@ var SidebarFooter = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45218
45467
|
);
|
|
45219
45468
|
});
|
|
45220
45469
|
SidebarFooter.displayName = "SidebarFooter";
|
|
45221
|
-
var SidebarSeparator =
|
|
45222
|
-
return /* @__PURE__ */
|
|
45470
|
+
var SidebarSeparator = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45471
|
+
return /* @__PURE__ */ jsx184(
|
|
45223
45472
|
Separator2,
|
|
45224
45473
|
{
|
|
45225
45474
|
ref,
|
|
@@ -45230,8 +45479,8 @@ var SidebarSeparator = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45230
45479
|
);
|
|
45231
45480
|
});
|
|
45232
45481
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
45233
|
-
var SidebarContent =
|
|
45234
|
-
return /* @__PURE__ */
|
|
45482
|
+
var SidebarContent = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45483
|
+
return /* @__PURE__ */ jsx184(
|
|
45235
45484
|
"div",
|
|
45236
45485
|
{
|
|
45237
45486
|
ref,
|
|
@@ -45245,8 +45494,8 @@ var SidebarContent = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45245
45494
|
);
|
|
45246
45495
|
});
|
|
45247
45496
|
SidebarContent.displayName = "SidebarContent";
|
|
45248
|
-
var SidebarGroup =
|
|
45249
|
-
return /* @__PURE__ */
|
|
45497
|
+
var SidebarGroup = React115.forwardRef(({ className, ...props }, ref) => {
|
|
45498
|
+
return /* @__PURE__ */ jsx184(
|
|
45250
45499
|
"div",
|
|
45251
45500
|
{
|
|
45252
45501
|
ref,
|
|
@@ -45257,9 +45506,9 @@ var SidebarGroup = React114.forwardRef(({ className, ...props }, ref) => {
|
|
|
45257
45506
|
);
|
|
45258
45507
|
});
|
|
45259
45508
|
SidebarGroup.displayName = "SidebarGroup";
|
|
45260
|
-
var SidebarGroupLabel =
|
|
45509
|
+
var SidebarGroupLabel = React115.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
45261
45510
|
const Comp = asChild ? Slot6 : "div";
|
|
45262
|
-
return /* @__PURE__ */
|
|
45511
|
+
return /* @__PURE__ */ jsx184(
|
|
45263
45512
|
Comp,
|
|
45264
45513
|
{
|
|
45265
45514
|
ref,
|
|
@@ -45274,9 +45523,9 @@ var SidebarGroupLabel = React114.forwardRef(({ className, asChild = false, ...pr
|
|
|
45274
45523
|
);
|
|
45275
45524
|
});
|
|
45276
45525
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
45277
|
-
var SidebarGroupAction =
|
|
45526
|
+
var SidebarGroupAction = React115.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
45278
45527
|
const Comp = asChild ? Slot6 : "button";
|
|
45279
|
-
return /* @__PURE__ */
|
|
45528
|
+
return /* @__PURE__ */ jsx184(
|
|
45280
45529
|
Comp,
|
|
45281
45530
|
{
|
|
45282
45531
|
ref,
|
|
@@ -45293,7 +45542,7 @@ var SidebarGroupAction = React114.forwardRef(({ className, asChild = false, ...p
|
|
|
45293
45542
|
);
|
|
45294
45543
|
});
|
|
45295
45544
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
45296
|
-
var SidebarGroupContent =
|
|
45545
|
+
var SidebarGroupContent = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
|
|
45297
45546
|
"div",
|
|
45298
45547
|
{
|
|
45299
45548
|
ref,
|
|
@@ -45303,7 +45552,7 @@ var SidebarGroupContent = React114.forwardRef(({ className, ...props }, ref) =>
|
|
|
45303
45552
|
}
|
|
45304
45553
|
));
|
|
45305
45554
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
45306
|
-
var SidebarMenu =
|
|
45555
|
+
var SidebarMenu = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
|
|
45307
45556
|
"ul",
|
|
45308
45557
|
{
|
|
45309
45558
|
ref,
|
|
@@ -45313,7 +45562,7 @@ var SidebarMenu = React114.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
45313
45562
|
}
|
|
45314
45563
|
));
|
|
45315
45564
|
SidebarMenu.displayName = "SidebarMenu";
|
|
45316
|
-
var SidebarMenuItem =
|
|
45565
|
+
var SidebarMenuItem = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
|
|
45317
45566
|
"li",
|
|
45318
45567
|
{
|
|
45319
45568
|
ref,
|
|
@@ -45343,7 +45592,7 @@ var sidebarMenuButtonVariants = cva13(
|
|
|
45343
45592
|
}
|
|
45344
45593
|
}
|
|
45345
45594
|
);
|
|
45346
|
-
var SidebarMenuButton =
|
|
45595
|
+
var SidebarMenuButton = React115.forwardRef(
|
|
45347
45596
|
({
|
|
45348
45597
|
asChild = false,
|
|
45349
45598
|
isActive = false,
|
|
@@ -45355,7 +45604,7 @@ var SidebarMenuButton = React114.forwardRef(
|
|
|
45355
45604
|
}, ref) => {
|
|
45356
45605
|
const Comp = asChild ? Slot6 : "button";
|
|
45357
45606
|
const { isMobile, state } = useSidebar();
|
|
45358
|
-
const button = /* @__PURE__ */
|
|
45607
|
+
const button = /* @__PURE__ */ jsx184(
|
|
45359
45608
|
Comp,
|
|
45360
45609
|
{
|
|
45361
45610
|
ref,
|
|
@@ -45374,9 +45623,9 @@ var SidebarMenuButton = React114.forwardRef(
|
|
|
45374
45623
|
children: tooltip
|
|
45375
45624
|
};
|
|
45376
45625
|
}
|
|
45377
|
-
return /* @__PURE__ */
|
|
45378
|
-
/* @__PURE__ */
|
|
45379
|
-
/* @__PURE__ */
|
|
45626
|
+
return /* @__PURE__ */ jsxs138(Tooltip, { children: [
|
|
45627
|
+
/* @__PURE__ */ jsx184(TooltipTrigger, { asChild: true, children: button }),
|
|
45628
|
+
/* @__PURE__ */ jsx184(
|
|
45380
45629
|
TooltipContent,
|
|
45381
45630
|
{
|
|
45382
45631
|
side: "right",
|
|
@@ -45389,9 +45638,9 @@ var SidebarMenuButton = React114.forwardRef(
|
|
|
45389
45638
|
}
|
|
45390
45639
|
);
|
|
45391
45640
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
45392
|
-
var SidebarMenuAction =
|
|
45641
|
+
var SidebarMenuAction = React115.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
45393
45642
|
const Comp = asChild ? Slot6 : "button";
|
|
45394
|
-
return /* @__PURE__ */
|
|
45643
|
+
return /* @__PURE__ */ jsx184(
|
|
45395
45644
|
Comp,
|
|
45396
45645
|
{
|
|
45397
45646
|
ref,
|
|
@@ -45412,7 +45661,7 @@ var SidebarMenuAction = React114.forwardRef(({ className, asChild = false, showO
|
|
|
45412
45661
|
);
|
|
45413
45662
|
});
|
|
45414
45663
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
45415
|
-
var SidebarMenuBadge =
|
|
45664
|
+
var SidebarMenuBadge = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
|
|
45416
45665
|
"div",
|
|
45417
45666
|
{
|
|
45418
45667
|
ref,
|
|
@@ -45430,11 +45679,11 @@ var SidebarMenuBadge = React114.forwardRef(({ className, ...props }, ref) => /*
|
|
|
45430
45679
|
}
|
|
45431
45680
|
));
|
|
45432
45681
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
45433
|
-
var SidebarMenuSkeleton =
|
|
45434
|
-
const width =
|
|
45682
|
+
var SidebarMenuSkeleton = React115.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
45683
|
+
const width = React115.useMemo(() => {
|
|
45435
45684
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
45436
45685
|
}, []);
|
|
45437
|
-
return /* @__PURE__ */
|
|
45686
|
+
return /* @__PURE__ */ jsxs138(
|
|
45438
45687
|
"div",
|
|
45439
45688
|
{
|
|
45440
45689
|
ref,
|
|
@@ -45442,14 +45691,14 @@ var SidebarMenuSkeleton = React114.forwardRef(({ className, showIcon = false, ..
|
|
|
45442
45691
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
45443
45692
|
...props,
|
|
45444
45693
|
children: [
|
|
45445
|
-
showIcon && /* @__PURE__ */
|
|
45694
|
+
showIcon && /* @__PURE__ */ jsx184(
|
|
45446
45695
|
Skeleton,
|
|
45447
45696
|
{
|
|
45448
45697
|
className: "size-4 rounded-md",
|
|
45449
45698
|
"data-sidebar": "menu-skeleton-icon"
|
|
45450
45699
|
}
|
|
45451
45700
|
),
|
|
45452
|
-
/* @__PURE__ */
|
|
45701
|
+
/* @__PURE__ */ jsx184(
|
|
45453
45702
|
Skeleton,
|
|
45454
45703
|
{
|
|
45455
45704
|
className: "h-4 max-w-[--skeleton-width] flex-1",
|
|
@@ -45464,7 +45713,7 @@ var SidebarMenuSkeleton = React114.forwardRef(({ className, showIcon = false, ..
|
|
|
45464
45713
|
);
|
|
45465
45714
|
});
|
|
45466
45715
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
45467
|
-
var SidebarMenuSub =
|
|
45716
|
+
var SidebarMenuSub = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
|
|
45468
45717
|
"ul",
|
|
45469
45718
|
{
|
|
45470
45719
|
ref,
|
|
@@ -45478,11 +45727,11 @@ var SidebarMenuSub = React114.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
45478
45727
|
}
|
|
45479
45728
|
));
|
|
45480
45729
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
45481
|
-
var SidebarMenuSubItem =
|
|
45730
|
+
var SidebarMenuSubItem = React115.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx184("li", { ref, ...props }));
|
|
45482
45731
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
45483
|
-
var SidebarMenuSubButton =
|
|
45732
|
+
var SidebarMenuSubButton = React115.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
45484
45733
|
const Comp = asChild ? Slot6 : "a";
|
|
45485
|
-
return /* @__PURE__ */
|
|
45734
|
+
return /* @__PURE__ */ jsx184(
|
|
45486
45735
|
Comp,
|
|
45487
45736
|
{
|
|
45488
45737
|
ref,
|
|
@@ -45506,20 +45755,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
45506
45755
|
// src/components/ui/sonner.tsx
|
|
45507
45756
|
import { useTheme } from "next-themes";
|
|
45508
45757
|
import { Toaster as Sonner } from "sonner";
|
|
45509
|
-
import { jsx as
|
|
45758
|
+
import { jsx as jsx185 } from "react/jsx-runtime";
|
|
45510
45759
|
var Toaster = ({ ...props }) => {
|
|
45511
45760
|
const { theme = "system" } = useTheme();
|
|
45512
|
-
return /* @__PURE__ */
|
|
45761
|
+
return /* @__PURE__ */ jsx185(
|
|
45513
45762
|
Sonner,
|
|
45514
45763
|
{
|
|
45515
45764
|
theme,
|
|
45516
45765
|
className: "toaster group",
|
|
45517
45766
|
icons: {
|
|
45518
|
-
success: /* @__PURE__ */
|
|
45519
|
-
info: /* @__PURE__ */
|
|
45520
|
-
warning: /* @__PURE__ */
|
|
45521
|
-
error: /* @__PURE__ */
|
|
45522
|
-
loading: /* @__PURE__ */
|
|
45767
|
+
success: /* @__PURE__ */ jsx185(CircleCheck, { className: "h-4 w-4" }),
|
|
45768
|
+
info: /* @__PURE__ */ jsx185(Info, { className: "h-4 w-4" }),
|
|
45769
|
+
warning: /* @__PURE__ */ jsx185(TriangleAlert, { className: "h-4 w-4" }),
|
|
45770
|
+
error: /* @__PURE__ */ jsx185(OctagonX, { className: "h-4 w-4" }),
|
|
45771
|
+
loading: /* @__PURE__ */ jsx185(LoaderCircle, { className: "h-4 w-4 animate-spin" })
|
|
45523
45772
|
},
|
|
45524
45773
|
toastOptions: {
|
|
45525
45774
|
classNames: {
|
|
@@ -45535,26 +45784,26 @@ var Toaster = ({ ...props }) => {
|
|
|
45535
45784
|
};
|
|
45536
45785
|
|
|
45537
45786
|
// src/components/ui/toggle-group.tsx
|
|
45538
|
-
import * as
|
|
45787
|
+
import * as React116 from "react";
|
|
45539
45788
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
45540
|
-
import { jsx as
|
|
45541
|
-
var ToggleGroupContext =
|
|
45789
|
+
import { jsx as jsx186 } from "react/jsx-runtime";
|
|
45790
|
+
var ToggleGroupContext = React116.createContext({
|
|
45542
45791
|
size: "default",
|
|
45543
45792
|
variant: "default"
|
|
45544
45793
|
});
|
|
45545
|
-
var ToggleGroup =
|
|
45794
|
+
var ToggleGroup = React116.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx186(
|
|
45546
45795
|
ToggleGroupPrimitive.Root,
|
|
45547
45796
|
{
|
|
45548
45797
|
ref,
|
|
45549
45798
|
className: cn("flex items-center justify-center gap-1", className),
|
|
45550
45799
|
...props,
|
|
45551
|
-
children: /* @__PURE__ */
|
|
45800
|
+
children: /* @__PURE__ */ jsx186(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
45552
45801
|
}
|
|
45553
45802
|
));
|
|
45554
45803
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
45555
|
-
var ToggleGroupItem =
|
|
45556
|
-
const context =
|
|
45557
|
-
return /* @__PURE__ */
|
|
45804
|
+
var ToggleGroupItem = React116.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
45805
|
+
const context = React116.useContext(ToggleGroupContext);
|
|
45806
|
+
return /* @__PURE__ */ jsx186(
|
|
45558
45807
|
ToggleGroupPrimitive.Item,
|
|
45559
45808
|
{
|
|
45560
45809
|
ref,
|
|
@@ -45573,7 +45822,7 @@ var ToggleGroupItem = React115.forwardRef(({ className, children, variant, size,
|
|
|
45573
45822
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
45574
45823
|
|
|
45575
45824
|
// src/render/PXEngineRenderer.tsx
|
|
45576
|
-
import { jsx as
|
|
45825
|
+
import { jsx as jsx187, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
45577
45826
|
var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
|
|
45578
45827
|
// Form components - require FormField + FormItem context
|
|
45579
45828
|
"FormLabel",
|
|
@@ -45678,24 +45927,24 @@ var REGISTERED_COMPONENTS = /* @__PURE__ */ new Set([
|
|
|
45678
45927
|
]);
|
|
45679
45928
|
var renderContextDependentError = (componentName, normalizedName, key) => {
|
|
45680
45929
|
const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
|
|
45681
|
-
return /* @__PURE__ */
|
|
45930
|
+
return /* @__PURE__ */ jsxs139(
|
|
45682
45931
|
"div",
|
|
45683
45932
|
{
|
|
45684
45933
|
className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
|
|
45685
45934
|
children: [
|
|
45686
|
-
/* @__PURE__ */
|
|
45687
|
-
/* @__PURE__ */
|
|
45688
|
-
/* @__PURE__ */
|
|
45689
|
-
/* @__PURE__ */
|
|
45935
|
+
/* @__PURE__ */ jsxs139("div", { className: "flex items-start gap-2", children: [
|
|
45936
|
+
/* @__PURE__ */ jsx187("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
|
|
45937
|
+
/* @__PURE__ */ jsxs139("div", { className: "flex-1", children: [
|
|
45938
|
+
/* @__PURE__ */ jsxs139("p", { className: "text-sm font-semibold text-amber-900", children: [
|
|
45690
45939
|
"Invalid Component: ",
|
|
45691
45940
|
componentName
|
|
45692
45941
|
] }),
|
|
45693
|
-
/* @__PURE__ */
|
|
45942
|
+
/* @__PURE__ */ jsx187("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
|
|
45694
45943
|
] })
|
|
45695
45944
|
] }),
|
|
45696
|
-
/* @__PURE__ */
|
|
45697
|
-
/* @__PURE__ */
|
|
45698
|
-
/* @__PURE__ */
|
|
45945
|
+
/* @__PURE__ */ jsxs139("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
|
|
45946
|
+
/* @__PURE__ */ jsx187("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
|
|
45947
|
+
/* @__PURE__ */ jsx187("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
|
|
45699
45948
|
] })
|
|
45700
45949
|
]
|
|
45701
45950
|
},
|
|
@@ -45773,12 +46022,12 @@ var PXEngineRenderer = ({
|
|
|
45773
46022
|
const root = schema.root || schema;
|
|
45774
46023
|
const renderRecursive = (component, index) => {
|
|
45775
46024
|
if (Array.isArray(component)) {
|
|
45776
|
-
return /* @__PURE__ */
|
|
46025
|
+
return /* @__PURE__ */ jsx187(React117.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
|
|
45777
46026
|
}
|
|
45778
46027
|
if (typeof component === "string" || typeof component === "number") {
|
|
45779
46028
|
return component;
|
|
45780
46029
|
}
|
|
45781
|
-
if (
|
|
46030
|
+
if (React117.isValidElement(component)) {
|
|
45782
46031
|
return component;
|
|
45783
46032
|
}
|
|
45784
46033
|
if (!component || typeof component !== "object") return null;
|
|
@@ -45860,7 +46109,7 @@ var PXEngineRenderer = ({
|
|
|
45860
46109
|
const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
|
|
45861
46110
|
const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
|
|
45862
46111
|
if (isAtomWithRenderProp) {
|
|
45863
|
-
return /* @__PURE__ */
|
|
46112
|
+
return /* @__PURE__ */ jsx187(
|
|
45864
46113
|
TargetComponent,
|
|
45865
46114
|
{
|
|
45866
46115
|
...finalProps,
|
|
@@ -45872,7 +46121,7 @@ var PXEngineRenderer = ({
|
|
|
45872
46121
|
uniqueKey
|
|
45873
46122
|
);
|
|
45874
46123
|
} else {
|
|
45875
|
-
return /* @__PURE__ */
|
|
46124
|
+
return /* @__PURE__ */ jsx187(
|
|
45876
46125
|
TargetComponent,
|
|
45877
46126
|
{
|
|
45878
46127
|
...finalProps,
|
|
@@ -45884,7 +46133,7 @@ var PXEngineRenderer = ({
|
|
|
45884
46133
|
);
|
|
45885
46134
|
}
|
|
45886
46135
|
};
|
|
45887
|
-
return /* @__PURE__ */
|
|
46136
|
+
return /* @__PURE__ */ jsx187("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
|
|
45888
46137
|
};
|
|
45889
46138
|
export {
|
|
45890
46139
|
Accordion,
|
|
@@ -46192,6 +46441,7 @@ export {
|
|
|
46192
46441
|
TooltipTrigger,
|
|
46193
46442
|
TopPostsGrid,
|
|
46194
46443
|
VideoAtom,
|
|
46444
|
+
WebSearchJobCard,
|
|
46195
46445
|
cn,
|
|
46196
46446
|
defaultFetchSelections,
|
|
46197
46447
|
defaultPersistSelection,
|