pxengine 0.1.117 → 0.1.118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +132 -132
- package/config/tailwind-preset.js +159 -159
- package/dist/index.cjs +182 -133
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +182 -133
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +141 -141
- package/package.json +124 -124
package/dist/index.cjs
CHANGED
|
@@ -16129,6 +16129,10 @@ var RefreshIcon = () => /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("svg", {
|
|
|
16129
16129
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("polyline", { points: "23 4 23 10 17 10" }),
|
|
16130
16130
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("path", { d: "M20.49 15a9 9 0 1 1-2.12-9.36L23 10" })
|
|
16131
16131
|
] });
|
|
16132
|
+
var EditIcon = () => /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
16133
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
|
|
16134
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
|
|
16135
|
+
] });
|
|
16132
16136
|
var SlideTypeIcon = () => /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
16133
16137
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2" }),
|
|
16134
16138
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
|
|
@@ -16166,7 +16170,7 @@ var FORMATS = [
|
|
|
16166
16170
|
ext: ".html",
|
|
16167
16171
|
emoji: "\u{1F310}",
|
|
16168
16172
|
desc: "Interactive web presentation \u2014 download and open in browser",
|
|
16169
|
-
accent: { text: "text-
|
|
16173
|
+
accent: { text: "text-sky-400", bg: "bg-sky-500/10 border-sky-500/20" }
|
|
16170
16174
|
}
|
|
16171
16175
|
];
|
|
16172
16176
|
var ExportModal = ({ formats, title, onClose }) => {
|
|
@@ -16283,7 +16287,7 @@ var FullscreenModal = ({ url, title, slideCount, initialSlide = 1, onClose }) =>
|
|
|
16283
16287
|
return /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "fixed inset-0 z-50 bg-black flex flex-col", children: [
|
|
16284
16288
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center justify-between gap-4 px-4 h-11 bg-zinc-950/90 border-b border-zinc-800/60 flex-shrink-0", children: [
|
|
16285
16289
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
16286
|
-
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-
|
|
16290
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-[#DCC99B] flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(SlidesIcon, {}) }),
|
|
16287
16291
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-sm font-medium text-zinc-300 truncate", children: title }),
|
|
16288
16292
|
slideCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("span", { className: "text-xs text-zinc-600 flex-shrink-0", children: [
|
|
16289
16293
|
currentSlide,
|
|
@@ -16297,7 +16301,7 @@ var FullscreenModal = ({ url, title, slideCount, initialSlide = 1, onClose }) =>
|
|
|
16297
16301
|
{
|
|
16298
16302
|
onClick: () => sendSlideCommand("prevSlide"),
|
|
16299
16303
|
disabled: !iframeReady,
|
|
16300
|
-
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-
|
|
16304
|
+
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
16301
16305
|
"aria-label": "Previous slide",
|
|
16302
16306
|
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronLeft2, {})
|
|
16303
16307
|
}
|
|
@@ -16307,7 +16311,7 @@ var FullscreenModal = ({ url, title, slideCount, initialSlide = 1, onClose }) =>
|
|
|
16307
16311
|
{
|
|
16308
16312
|
onClick: () => sendSlideCommand("nextSlide"),
|
|
16309
16313
|
disabled: !iframeReady,
|
|
16310
|
-
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-
|
|
16314
|
+
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
16311
16315
|
"aria-label": "Next slide",
|
|
16312
16316
|
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronRight2, {})
|
|
16313
16317
|
}
|
|
@@ -16883,11 +16887,11 @@ var PresentationJobCard = ({
|
|
|
16883
16887
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
16884
16888
|
"div",
|
|
16885
16889
|
{
|
|
16886
|
-
className: "h-[3px]
|
|
16890
|
+
className: "h-[3px]",
|
|
16887
16891
|
style: {
|
|
16892
|
+
backgroundImage: accentGradient || "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B, #C0AE82, #8B7D5E)",
|
|
16888
16893
|
backgroundSize: "200% 100%",
|
|
16889
|
-
animation: "gradient-shift 2s ease-in-out infinite"
|
|
16890
|
-
...accentGradient ? { backgroundImage: accentGradient } : {}
|
|
16894
|
+
animation: "gradient-shift 2s ease-in-out infinite"
|
|
16891
16895
|
}
|
|
16892
16896
|
}
|
|
16893
16897
|
),
|
|
@@ -16896,7 +16900,7 @@ var PresentationJobCard = ({
|
|
|
16896
16900
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
16897
16901
|
"div",
|
|
16898
16902
|
{
|
|
16899
|
-
className: "w-10 h-10 rounded-xl bg-
|
|
16903
|
+
className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0",
|
|
16900
16904
|
style: { ...t.accentSubtle(0.1), ...t.accentBorder },
|
|
16901
16905
|
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-lg", children: getPhaseIcon() })
|
|
16902
16906
|
}
|
|
@@ -16914,10 +16918,11 @@ var PresentationJobCard = ({
|
|
|
16914
16918
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("div", { className: "h-2 bg-zinc-800 rounded-full overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
16915
16919
|
"div",
|
|
16916
16920
|
{
|
|
16917
|
-
className: "h-full
|
|
16921
|
+
className: "h-full rounded-full transition-all duration-500 ease-out",
|
|
16918
16922
|
style: {
|
|
16919
16923
|
width: `${Math.max(pct, 2)}%`,
|
|
16920
|
-
|
|
16924
|
+
backgroundImage: accentGradient || "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)",
|
|
16925
|
+
...!accentGradient ? t.accentBg : {}
|
|
16921
16926
|
}
|
|
16922
16927
|
}
|
|
16923
16928
|
) }),
|
|
@@ -16927,7 +16932,7 @@ var PresentationJobCard = ({
|
|
|
16927
16932
|
] })
|
|
16928
16933
|
] }),
|
|
16929
16934
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
16930
|
-
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("div", { className: "w-2 h-2 rounded-full bg-
|
|
16935
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("div", { className: "w-2 h-2 rounded-full bg-[#C0AE82] animate-pulse", style: t.accentBg }),
|
|
16931
16936
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-xs text-zinc-400", children: step })
|
|
16932
16937
|
] }),
|
|
16933
16938
|
phase === "ai_generation" && slidesTotal > 0 && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-2 pt-1", children: [
|
|
@@ -16936,7 +16941,7 @@ var PresentationJobCard = ({
|
|
|
16936
16941
|
{
|
|
16937
16942
|
className: cn(
|
|
16938
16943
|
"w-6 h-1.5 rounded-full transition-all duration-300",
|
|
16939
|
-
i < slidesCompleted ? "bg-
|
|
16944
|
+
i < slidesCompleted ? "bg-[#C0AE82]" : i === slidesCompleted ? "bg-[#C0AE82]/50 animate-pulse" : "bg-zinc-700"
|
|
16940
16945
|
)
|
|
16941
16946
|
},
|
|
16942
16947
|
i
|
|
@@ -16984,7 +16989,7 @@ var PresentationJobCard = ({
|
|
|
16984
16989
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
16985
16990
|
"div",
|
|
16986
16991
|
{
|
|
16987
|
-
className: "w-10 h-10 rounded-xl bg-
|
|
16992
|
+
className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0 text-[#DCC99B]",
|
|
16988
16993
|
style: { ...t.accentSubtle(0.1), ...t.accentBorder, ...t.accent },
|
|
16989
16994
|
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(SlidesIcon, {})
|
|
16990
16995
|
}
|
|
@@ -17021,7 +17026,7 @@ var PresentationJobCard = ({
|
|
|
17021
17026
|
onChange: (e) => setSlideTemplate(i, e.target.value),
|
|
17022
17027
|
disabled: rowBusy,
|
|
17023
17028
|
title: "Design template for this slide only (default: deck's template)",
|
|
17024
|
-
className: "w-24 flex-shrink-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-1.5 h-8 text-[10px] text-zinc-300 focus:border-
|
|
17029
|
+
className: "w-24 flex-shrink-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-1.5 h-8 text-[10px] text-zinc-300 focus:border-[#C0AE82] outline-none disabled:opacity-60",
|
|
17025
17030
|
children: [
|
|
17026
17031
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("option", { value: "", children: "Deck default" }),
|
|
17027
17032
|
slideTemplateOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("option", { value: opt.id, children: opt.name }, opt.id))
|
|
@@ -17034,7 +17039,7 @@ var PresentationJobCard = ({
|
|
|
17034
17039
|
value: messageEdits[i] ?? s.message ?? "",
|
|
17035
17040
|
onChange: (e) => setMessageEdits((prev) => ({ ...prev, [i]: e.target.value })),
|
|
17036
17041
|
disabled: building,
|
|
17037
|
-
className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-
|
|
17042
|
+
className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-[#C0AE82] outline-none disabled:opacity-60"
|
|
17038
17043
|
}
|
|
17039
17044
|
),
|
|
17040
17045
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
@@ -17109,7 +17114,7 @@ var PresentationJobCard = ({
|
|
|
17109
17114
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
17110
17115
|
"div",
|
|
17111
17116
|
{
|
|
17112
|
-
className: "w-10 h-10 rounded-xl bg-
|
|
17117
|
+
className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0 text-[#DCC99B]",
|
|
17113
17118
|
style: { ...t.accentSubtle(0.1), ...t.accentBorder, ...t.accent },
|
|
17114
17119
|
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(SlidesIcon, {})
|
|
17115
17120
|
}
|
|
@@ -17124,19 +17129,63 @@ var PresentationJobCard = ({
|
|
|
17124
17129
|
generationMode === "template" && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("p", { className: "text-xs mt-1", children: isApproved ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-emerald-400/90", children: "Approved \u2014 future decks use this format" }) : reviewStatus === "pending_review" ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-amber-400/90", children: "Review this deck, then approve to lock the format" }) : null })
|
|
17125
17130
|
] }),
|
|
17126
17131
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-1.5 flex-shrink-0 flex-wrap justify-end", children: [
|
|
17127
|
-
|
|
17128
|
-
|
|
17129
|
-
|
|
17130
|
-
|
|
17131
|
-
|
|
17132
|
-
|
|
17133
|
-
|
|
17134
|
-
|
|
17135
|
-
|
|
17136
|
-
|
|
17137
|
-
|
|
17138
|
-
|
|
17139
|
-
|
|
17132
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center rounded-lg border border-zinc-700 bg-zinc-800 overflow-hidden divide-x divide-zinc-700", children: [
|
|
17133
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
17134
|
+
"a",
|
|
17135
|
+
{
|
|
17136
|
+
href: hasHtml ? `/presentations/${_job_id}/edit` : void 0,
|
|
17137
|
+
"aria-disabled": !hasHtml,
|
|
17138
|
+
title: "Edit presentation content",
|
|
17139
|
+
className: cn(
|
|
17140
|
+
"flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors",
|
|
17141
|
+
!hasHtml && "pointer-events-none opacity-40"
|
|
17142
|
+
),
|
|
17143
|
+
children: [
|
|
17144
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(EditIcon, {}),
|
|
17145
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Edit" })
|
|
17146
|
+
]
|
|
17147
|
+
}
|
|
17148
|
+
),
|
|
17149
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
17150
|
+
"button",
|
|
17151
|
+
{
|
|
17152
|
+
onClick: () => setShowFullscreen(true),
|
|
17153
|
+
disabled: !hasHtml,
|
|
17154
|
+
title: "Open fullscreen preview",
|
|
17155
|
+
className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
|
|
17156
|
+
children: [
|
|
17157
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ExpandIcon, {}),
|
|
17158
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Preview" })
|
|
17159
|
+
]
|
|
17160
|
+
}
|
|
17161
|
+
),
|
|
17162
|
+
canRegenerate && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
17163
|
+
"button",
|
|
17164
|
+
{
|
|
17165
|
+
onClick: handleRegenerate,
|
|
17166
|
+
disabled: regenerating || approving,
|
|
17167
|
+
title: "Try another design template with the same content",
|
|
17168
|
+
className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40",
|
|
17169
|
+
children: [
|
|
17170
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(RefreshIcon, {}),
|
|
17171
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: regenerating ? "Switching\u2026" : "Regenerate" })
|
|
17172
|
+
]
|
|
17173
|
+
}
|
|
17174
|
+
),
|
|
17175
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
17176
|
+
"button",
|
|
17177
|
+
{
|
|
17178
|
+
onClick: handleShare,
|
|
17179
|
+
disabled: !hasHtml,
|
|
17180
|
+
title: copied ? "Copied!" : "Copy shareable link",
|
|
17181
|
+
className: cn(
|
|
17182
|
+
"flex items-center justify-center w-7 h-7 transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
17183
|
+
copied ? "text-green-400" : "text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60"
|
|
17184
|
+
),
|
|
17185
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(CheckIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ShareIcon, {})
|
|
17186
|
+
}
|
|
17187
|
+
)
|
|
17188
|
+
] }),
|
|
17140
17189
|
canApprove && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
17141
17190
|
"button",
|
|
17142
17191
|
{
|
|
@@ -17151,39 +17200,16 @@ var PresentationJobCard = ({
|
|
|
17151
17200
|
}
|
|
17152
17201
|
),
|
|
17153
17202
|
isApproved && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "flex items-center justify-center w-7 h-7 rounded-lg border border-emerald-500/40 bg-emerald-500/10 text-emerald-400", title: "Format saved", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(CheckIcon, {}) }),
|
|
17154
|
-
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
17155
|
-
"button",
|
|
17156
|
-
{
|
|
17157
|
-
onClick: handleShare,
|
|
17158
|
-
disabled: !hasHtml,
|
|
17159
|
-
title: copied ? "Copied!" : "Copy shareable link",
|
|
17160
|
-
className: cn(
|
|
17161
|
-
"w-7 h-7 rounded-lg border flex items-center justify-center transition-all",
|
|
17162
|
-
copied ? "border-green-500/40 bg-green-500/10 text-green-400" : "border-zinc-700 bg-zinc-800 text-zinc-400 hover:border-zinc-500 hover:text-zinc-200",
|
|
17163
|
-
"disabled:opacity-30 disabled:cursor-not-allowed"
|
|
17164
|
-
),
|
|
17165
|
-
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(CheckIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ShareIcon, {})
|
|
17166
|
-
}
|
|
17167
|
-
),
|
|
17168
|
-
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
17169
|
-
"button",
|
|
17170
|
-
{
|
|
17171
|
-
onClick: () => setShowFullscreen(true),
|
|
17172
|
-
disabled: !hasHtml,
|
|
17173
|
-
title: "Open fullscreen preview",
|
|
17174
|
-
className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs font-medium transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
17175
|
-
children: [
|
|
17176
|
-
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ExpandIcon, {}),
|
|
17177
|
-
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Preview" })
|
|
17178
|
-
]
|
|
17179
|
-
}
|
|
17180
|
-
),
|
|
17181
17203
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
17182
17204
|
"button",
|
|
17183
17205
|
{
|
|
17184
17206
|
onClick: () => setShowExport(true),
|
|
17185
|
-
className: "flex items-center gap-1.5 px-
|
|
17186
|
-
style: {
|
|
17207
|
+
className: "flex items-center gap-1.5 px-3 h-7 text-xs font-semibold rounded-lg transition-colors",
|
|
17208
|
+
style: {
|
|
17209
|
+
backgroundImage: accentGradient || "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)",
|
|
17210
|
+
color: "#0A0A0A",
|
|
17211
|
+
...accentGradient ? t.accentText : {}
|
|
17212
|
+
},
|
|
17187
17213
|
children: [
|
|
17188
17214
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)(DownloadIcon, {}),
|
|
17189
17215
|
/* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Export" })
|
|
@@ -17238,7 +17264,7 @@ var PresentationJobCard = ({
|
|
|
17238
17264
|
sendSlideCommand("prevSlide");
|
|
17239
17265
|
},
|
|
17240
17266
|
disabled: !hasHtml || !iframeReady,
|
|
17241
|
-
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-
|
|
17267
|
+
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
17242
17268
|
"aria-label": "Previous slide",
|
|
17243
17269
|
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronLeft2, {})
|
|
17244
17270
|
}
|
|
@@ -17256,7 +17282,7 @@ var PresentationJobCard = ({
|
|
|
17256
17282
|
sendSlideCommand("nextSlide");
|
|
17257
17283
|
},
|
|
17258
17284
|
disabled: !hasHtml || !iframeReady,
|
|
17259
|
-
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-
|
|
17285
|
+
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
17260
17286
|
"aria-label": "Next slide",
|
|
17261
17287
|
children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronRight2, {})
|
|
17262
17288
|
}
|
|
@@ -17283,10 +17309,11 @@ var PresentationJobCard = ({
|
|
|
17283
17309
|
var import_react79 = require("react");
|
|
17284
17310
|
var import_jsx_runtime148 = require("react/jsx-runtime");
|
|
17285
17311
|
var DEFAULT_THEME = {
|
|
17286
|
-
primary: "#
|
|
17287
|
-
secondary: "#
|
|
17288
|
-
accent: "#
|
|
17312
|
+
primary: "#C0AE82",
|
|
17313
|
+
secondary: "#C4AD7C",
|
|
17314
|
+
accent: "#DCC99B"
|
|
17289
17315
|
};
|
|
17316
|
+
var GOLD_GRADIENT = "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)";
|
|
17290
17317
|
function readableOn(bg) {
|
|
17291
17318
|
if (!bg || typeof bg !== "string") return "#ffffff";
|
|
17292
17319
|
const hex = bg.replace("#", "");
|
|
@@ -17333,6 +17360,10 @@ var RefreshIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("svg",
|
|
|
17333
17360
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("polyline", { points: "23 4 23 10 17 10" }),
|
|
17334
17361
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("path", { d: "M20.49 15a9 9 0 1 1-2.12-9.36L23 10" })
|
|
17335
17362
|
] });
|
|
17363
|
+
var EditIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
17364
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
|
|
17365
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
|
|
17366
|
+
] });
|
|
17336
17367
|
function formatTemplateLabel2(templateId) {
|
|
17337
17368
|
if (!templateId) return null;
|
|
17338
17369
|
return templateId.split("-").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
|
|
@@ -17354,7 +17385,7 @@ var FullscreenPreviewModal = ({ url, title, onClose }) => {
|
|
|
17354
17385
|
return /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "fixed inset-0 z-50 bg-black flex flex-col", children: [
|
|
17355
17386
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center justify-between gap-4 px-4 h-11 bg-zinc-950/90 border-b border-zinc-800/60 flex-shrink-0", children: [
|
|
17356
17387
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
17357
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-
|
|
17388
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-[#DCC99B] flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DocumentIcon, {}) }),
|
|
17358
17389
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-sm font-medium text-zinc-300 truncate", children: title })
|
|
17359
17390
|
] }),
|
|
17360
17391
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
@@ -17835,8 +17866,9 @@ var ResearchReportJobCard = (props) => {
|
|
|
17835
17866
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
17836
17867
|
"div",
|
|
17837
17868
|
{
|
|
17838
|
-
className: "h-[3px]
|
|
17869
|
+
className: "h-[3px]",
|
|
17839
17870
|
style: {
|
|
17871
|
+
backgroundImage: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B, #C0AE82, #8B7D5E)",
|
|
17840
17872
|
backgroundSize: "200% 100%",
|
|
17841
17873
|
animation: "gradient-shift 2s ease-in-out infinite"
|
|
17842
17874
|
}
|
|
@@ -17844,7 +17876,7 @@ var ResearchReportJobCard = (props) => {
|
|
|
17844
17876
|
),
|
|
17845
17877
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "p-5", children: [
|
|
17846
17878
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
17847
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-
|
|
17879
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-lg", children: getPhaseIcon() }) }),
|
|
17848
17880
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
17849
17881
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title || "Generating Research Report" }),
|
|
17850
17882
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("p", { className: "text-xs text-zinc-500 mt-0.5", children: [
|
|
@@ -17859,8 +17891,8 @@ var ResearchReportJobCard = (props) => {
|
|
|
17859
17891
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "h-2 bg-zinc-800 rounded-full overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
17860
17892
|
"div",
|
|
17861
17893
|
{
|
|
17862
|
-
className: "h-full
|
|
17863
|
-
style: { width: `${Math.max(pct, 2)}
|
|
17894
|
+
className: "h-full rounded-full transition-all duration-500 ease-out",
|
|
17895
|
+
style: { width: `${Math.max(pct, 2)}%`, backgroundImage: GOLD_GRADIENT }
|
|
17864
17896
|
}
|
|
17865
17897
|
) }),
|
|
17866
17898
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("span", { className: "absolute right-0 -top-5 text-xs text-zinc-500 font-medium tabular-nums", children: [
|
|
@@ -17869,7 +17901,7 @@ var ResearchReportJobCard = (props) => {
|
|
|
17869
17901
|
] })
|
|
17870
17902
|
] }),
|
|
17871
17903
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
17872
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-2 h-2 rounded-full bg-
|
|
17904
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-2 h-2 rounded-full bg-[#C0AE82] animate-pulse" }),
|
|
17873
17905
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-xs text-zinc-400", children: step })
|
|
17874
17906
|
] }),
|
|
17875
17907
|
phase === "ai_generation" && searchesTotal > 0 && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "pt-1", children: [
|
|
@@ -17886,7 +17918,7 @@ var ResearchReportJobCard = (props) => {
|
|
|
17886
17918
|
{
|
|
17887
17919
|
className: cn(
|
|
17888
17920
|
"flex-1 h-1 rounded-full transition-all duration-300",
|
|
17889
|
-
i < searchesCompleted ? "bg-
|
|
17921
|
+
i < searchesCompleted ? "bg-[#C0AE82]" : i === searchesCompleted ? "bg-[#C0AE82]/50 animate-pulse" : "bg-zinc-700"
|
|
17890
17922
|
)
|
|
17891
17923
|
},
|
|
17892
17924
|
i
|
|
@@ -17920,12 +17952,12 @@ var ResearchReportJobCard = (props) => {
|
|
|
17920
17952
|
"div",
|
|
17921
17953
|
{
|
|
17922
17954
|
className: "h-[3px]",
|
|
17923
|
-
style: {
|
|
17955
|
+
style: { backgroundImage: GOLD_GRADIENT }
|
|
17924
17956
|
}
|
|
17925
17957
|
),
|
|
17926
17958
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "p-5", children: [
|
|
17927
17959
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
17928
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-
|
|
17960
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0 text-[#DCC99B]", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DocumentIcon, {}) }),
|
|
17929
17961
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
17930
17962
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title || "Report outline" }),
|
|
17931
17963
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("p", { className: "text-xs text-amber-400/90 mt-0.5", children: [
|
|
@@ -17946,7 +17978,7 @@ var ResearchReportJobCard = (props) => {
|
|
|
17946
17978
|
value: headingEdits[i] ?? s.heading ?? "",
|
|
17947
17979
|
onChange: (e) => setHeadingEdits((prev) => ({ ...prev, [i]: e.target.value })),
|
|
17948
17980
|
disabled: building,
|
|
17949
|
-
className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-
|
|
17981
|
+
className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-[#C0AE82] outline-none disabled:opacity-60"
|
|
17950
17982
|
}
|
|
17951
17983
|
),
|
|
17952
17984
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
@@ -18208,19 +18240,75 @@ var ResearchReportJobCard = (props) => {
|
|
|
18208
18240
|
generationMode === "template" && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("p", { className: "text-xs mt-1", children: isApproved ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-emerald-400/90", children: "Approved \u2014 future reports use this format" }) : reviewStatus === "pending_review" ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-amber-400/90", children: "Review this report, then approve to lock the layout" }) : null })
|
|
18209
18241
|
] }),
|
|
18210
18242
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center gap-1.5 flex-shrink-0 flex-wrap justify-end", children: [
|
|
18211
|
-
|
|
18212
|
-
|
|
18213
|
-
|
|
18214
|
-
|
|
18215
|
-
|
|
18216
|
-
|
|
18217
|
-
|
|
18218
|
-
|
|
18219
|
-
|
|
18220
|
-
|
|
18221
|
-
|
|
18222
|
-
|
|
18223
|
-
|
|
18243
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center rounded-lg border border-zinc-700 bg-zinc-800 overflow-hidden divide-x divide-zinc-700", children: [
|
|
18244
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18245
|
+
"a",
|
|
18246
|
+
{
|
|
18247
|
+
href: htmlUrl ? `/reports/${job_id}/edit` : void 0,
|
|
18248
|
+
"aria-disabled": !htmlUrl,
|
|
18249
|
+
title: "Edit report content",
|
|
18250
|
+
className: cn(
|
|
18251
|
+
"flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors",
|
|
18252
|
+
!htmlUrl && "pointer-events-none opacity-40"
|
|
18253
|
+
),
|
|
18254
|
+
children: [
|
|
18255
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(EditIcon2, {}),
|
|
18256
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "Edit" })
|
|
18257
|
+
]
|
|
18258
|
+
}
|
|
18259
|
+
),
|
|
18260
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18261
|
+
"button",
|
|
18262
|
+
{
|
|
18263
|
+
onClick: () => setShowPreview(true),
|
|
18264
|
+
disabled: !hasHTML,
|
|
18265
|
+
title: "Preview report",
|
|
18266
|
+
className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
|
|
18267
|
+
children: [
|
|
18268
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ExpandIcon2, {}),
|
|
18269
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "Preview" })
|
|
18270
|
+
]
|
|
18271
|
+
}
|
|
18272
|
+
),
|
|
18273
|
+
canRegenerate && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18274
|
+
"button",
|
|
18275
|
+
{
|
|
18276
|
+
onClick: handleRegenerate,
|
|
18277
|
+
disabled: regenerating || approving,
|
|
18278
|
+
title: "Try another report template with the same data",
|
|
18279
|
+
className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40",
|
|
18280
|
+
children: [
|
|
18281
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(RefreshIcon2, {}),
|
|
18282
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: regenerating ? "Switching\u2026" : "Regenerate" })
|
|
18283
|
+
]
|
|
18284
|
+
}
|
|
18285
|
+
),
|
|
18286
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
18287
|
+
"button",
|
|
18288
|
+
{
|
|
18289
|
+
onClick: handleShare,
|
|
18290
|
+
disabled: !canShare,
|
|
18291
|
+
title: !canShare && reviewStatus === "pending_review" ? "Approve the report to enable sharing" : copied ? "Copied!" : "Copy shareable link",
|
|
18292
|
+
className: cn(
|
|
18293
|
+
"flex items-center justify-center w-7 h-7 transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
18294
|
+
copied ? "text-green-400" : "text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60"
|
|
18295
|
+
),
|
|
18296
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(CheckIcon2, {}) : /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ShareIcon2, {})
|
|
18297
|
+
}
|
|
18298
|
+
),
|
|
18299
|
+
pdfUrl && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18300
|
+
"button",
|
|
18301
|
+
{
|
|
18302
|
+
onClick: handleDownloadPdf,
|
|
18303
|
+
title: "Download PDF",
|
|
18304
|
+
className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors",
|
|
18305
|
+
children: [
|
|
18306
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DownloadIcon2, {}),
|
|
18307
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "PDF" })
|
|
18308
|
+
]
|
|
18309
|
+
}
|
|
18310
|
+
)
|
|
18311
|
+
] }),
|
|
18224
18312
|
canApprove && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18225
18313
|
"button",
|
|
18226
18314
|
{
|
|
@@ -18235,53 +18323,14 @@ var ResearchReportJobCard = (props) => {
|
|
|
18235
18323
|
}
|
|
18236
18324
|
),
|
|
18237
18325
|
isApproved && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "flex items-center justify-center w-7 h-7 rounded-lg border border-emerald-500/40 bg-emerald-500/10 text-emerald-400", title: "Format saved", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(CheckIcon2, {}) }),
|
|
18238
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
18239
|
-
"button",
|
|
18240
|
-
{
|
|
18241
|
-
onClick: handleShare,
|
|
18242
|
-
disabled: !canShare,
|
|
18243
|
-
title: !canShare && reviewStatus === "pending_review" ? "Approve the report to enable sharing" : copied ? "Copied!" : "Copy shareable link",
|
|
18244
|
-
className: cn(
|
|
18245
|
-
"w-7 h-7 rounded-lg border flex items-center justify-center transition-all",
|
|
18246
|
-
copied ? "border-green-500/40 bg-green-500/10 text-green-400" : "border-zinc-700 bg-zinc-800 text-zinc-400 hover:border-zinc-500 hover:text-zinc-200",
|
|
18247
|
-
"disabled:opacity-30 disabled:cursor-not-allowed"
|
|
18248
|
-
),
|
|
18249
|
-
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(CheckIcon2, {}) : /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ShareIcon2, {})
|
|
18250
|
-
}
|
|
18251
|
-
),
|
|
18252
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18253
|
-
"button",
|
|
18254
|
-
{
|
|
18255
|
-
onClick: () => setShowPreview(true),
|
|
18256
|
-
disabled: !hasHTML,
|
|
18257
|
-
title: "Preview report",
|
|
18258
|
-
className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs font-medium transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
18259
|
-
children: [
|
|
18260
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ExpandIcon2, {}),
|
|
18261
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "Preview" })
|
|
18262
|
-
]
|
|
18263
|
-
}
|
|
18264
|
-
),
|
|
18265
|
-
pdfUrl && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18266
|
-
"button",
|
|
18267
|
-
{
|
|
18268
|
-
onClick: handleDownloadPdf,
|
|
18269
|
-
title: "Download PDF",
|
|
18270
|
-
className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs font-medium transition-colors",
|
|
18271
|
-
children: [
|
|
18272
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DownloadIcon2, {}),
|
|
18273
|
-
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "PDF" })
|
|
18274
|
-
]
|
|
18275
|
-
}
|
|
18276
|
-
),
|
|
18277
18326
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
|
|
18278
18327
|
"button",
|
|
18279
18328
|
{
|
|
18280
18329
|
onClick: handleDownload,
|
|
18281
18330
|
disabled: !hasHTML,
|
|
18282
|
-
className: "flex items-center gap-1.5 px-
|
|
18283
|
-
style: {
|
|
18284
|
-
onMouseEnter: (e) => e.currentTarget.style.filter = "brightness(1.
|
|
18331
|
+
className: "flex items-center gap-1.5 px-3 h-7 text-xs font-semibold rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
18332
|
+
style: { backgroundImage: GOLD_GRADIENT, color: readableOn(primaryColor) },
|
|
18333
|
+
onMouseEnter: (e) => e.currentTarget.style.filter = "brightness(1.1)",
|
|
18285
18334
|
onMouseLeave: (e) => e.currentTarget.style.filter = "brightness(1)",
|
|
18286
18335
|
children: [
|
|
18287
18336
|
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DownloadIcon2, {}),
|
|
@@ -18479,7 +18528,7 @@ var WebSearchJobCard = ({
|
|
|
18479
18528
|
{
|
|
18480
18529
|
className: "h-[3px]",
|
|
18481
18530
|
style: {
|
|
18482
|
-
|
|
18531
|
+
backgroundImage: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B, #C0AE82, #8B7D5E)",
|
|
18483
18532
|
backgroundSize: "200% 100%",
|
|
18484
18533
|
animation: "gradient-shift 2s ease-in-out infinite"
|
|
18485
18534
|
}
|
|
@@ -18501,7 +18550,7 @@ var WebSearchJobCard = ({
|
|
|
18501
18550
|
className: "h-full rounded-full transition-all duration-500 ease-out",
|
|
18502
18551
|
style: {
|
|
18503
18552
|
width: `${Math.max(pct, 2)}%`,
|
|
18504
|
-
|
|
18553
|
+
backgroundImage: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)"
|
|
18505
18554
|
}
|
|
18506
18555
|
}
|
|
18507
18556
|
) }),
|
|
@@ -18511,7 +18560,7 @@ var WebSearchJobCard = ({
|
|
|
18511
18560
|
] })
|
|
18512
18561
|
] }),
|
|
18513
18562
|
/* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
18514
|
-
/* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "w-2 h-2 rounded-full bg-
|
|
18563
|
+
/* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "w-2 h-2 rounded-full bg-[#C0AE82] animate-pulse flex-shrink-0" }),
|
|
18515
18564
|
/* @__PURE__ */ (0, import_jsx_runtime149.jsx)("span", { className: "text-xs text-zinc-400", children: step })
|
|
18516
18565
|
] }),
|
|
18517
18566
|
searchesTotal > 0 && /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { className: "pt-1", children: [
|
|
@@ -18528,7 +18577,7 @@ var WebSearchJobCard = ({
|
|
|
18528
18577
|
{
|
|
18529
18578
|
className: cn(
|
|
18530
18579
|
"flex-1 h-1 rounded-full transition-all duration-300",
|
|
18531
|
-
i < searchesCompleted ? "bg-
|
|
18580
|
+
i < searchesCompleted ? "bg-[#C0AE82]" : phase === "ai_generation" && i === searchesCompleted ? "bg-[#C0AE82]/50 animate-pulse" : "bg-zinc-700"
|
|
18532
18581
|
)
|
|
18533
18582
|
},
|
|
18534
18583
|
i
|
|
@@ -21768,7 +21817,7 @@ function PlatformMetricsBanner({
|
|
|
21768
21817
|
return /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)(
|
|
21769
21818
|
"div",
|
|
21770
21819
|
{
|
|
21771
|
-
className: "\
|
|
21820
|
+
className: "\n grid grid-cols-1 gap-3 rounded-xl py-4 px-4 shadow-sm\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\n ",
|
|
21772
21821
|
style: { backgroundColor: bgColor },
|
|
21773
21822
|
children: [
|
|
21774
21823
|
/* @__PURE__ */ (0, import_jsx_runtime173.jsxs)("div", { className: "flex flex-col items-center md:min-w-0", children: [
|