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