@consilioweb/payload-seo-analyzer 1.13.0 → 1.15.0
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/client.cjs +320 -211
- package/dist/client.js +320 -211
- package/dist/index.cjs +100 -18
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +100 -18
- package/package.json +1 -1
package/dist/client.cjs
CHANGED
|
@@ -1068,6 +1068,8 @@ var fr = {
|
|
|
1068
1068
|
bulkOptimizeMeta: "Optimiser m\xE9ta (IA)",
|
|
1069
1069
|
bulkOptimizing: "Analyse\u2026",
|
|
1070
1070
|
bulkConfirm: "Confirmer ?",
|
|
1071
|
+
optimizeSite: "Optimiser le site",
|
|
1072
|
+
optimizeSiteHint: "Cible automatiquement les pages \xE0 probl\xE8me (m\xE9ta manquante, sans mot-cl\xE9, score faible) \u2192 aper\xE7u \u2192 appliquer",
|
|
1071
1073
|
bulkPreviewTitle: "Corrections m\xE9ta propos\xE9es",
|
|
1072
1074
|
bulkApply: "Appliquer",
|
|
1073
1075
|
bulkApplying: "Application\u2026",
|
|
@@ -1670,6 +1672,8 @@ var en = {
|
|
|
1670
1672
|
bulkOptimizeMeta: "Optimize meta (AI)",
|
|
1671
1673
|
bulkOptimizing: "Analyzing\u2026",
|
|
1672
1674
|
bulkConfirm: "Confirm?",
|
|
1675
|
+
optimizeSite: "Optimize site",
|
|
1676
|
+
optimizeSiteHint: "Auto-targets pages that need work (missing meta, no keyword, low score) \u2192 preview \u2192 apply",
|
|
1673
1677
|
bulkPreviewTitle: "Proposed meta corrections",
|
|
1674
1678
|
bulkApply: "Apply",
|
|
1675
1679
|
bulkApplying: "Applying\u2026",
|
|
@@ -9544,9 +9548,9 @@ function SeoView() {
|
|
|
9544
9548
|
},
|
|
9545
9549
|
[selectedIds, fetchAudit]
|
|
9546
9550
|
);
|
|
9547
|
-
const
|
|
9548
|
-
const
|
|
9549
|
-
if (
|
|
9551
|
+
const runBulkPreview = React4.useCallback(async (ids) => {
|
|
9552
|
+
const clean = ids.filter((k) => !k.startsWith("global:"));
|
|
9553
|
+
if (clean.length === 0) return;
|
|
9550
9554
|
setBulkOptimizing(true);
|
|
9551
9555
|
setBulkPreview(null);
|
|
9552
9556
|
try {
|
|
@@ -9554,7 +9558,7 @@ function SeoView() {
|
|
|
9554
9558
|
method: "POST",
|
|
9555
9559
|
headers: { "Content-Type": "application/json" },
|
|
9556
9560
|
credentials: "include",
|
|
9557
|
-
body: JSON.stringify({ ids, apply: false, limit: 100 })
|
|
9561
|
+
body: JSON.stringify({ ids: clean, apply: false, limit: 100 })
|
|
9558
9562
|
});
|
|
9559
9563
|
if (res.ok) {
|
|
9560
9564
|
const data = await res.json();
|
|
@@ -9564,7 +9568,15 @@ function SeoView() {
|
|
|
9564
9568
|
} catch {
|
|
9565
9569
|
}
|
|
9566
9570
|
setBulkOptimizing(false);
|
|
9567
|
-
}, [
|
|
9571
|
+
}, []);
|
|
9572
|
+
const handleBulkOptimizeMeta = React4.useCallback(
|
|
9573
|
+
() => runBulkPreview(Array.from(selectedIds)),
|
|
9574
|
+
[selectedIds, runBulkPreview]
|
|
9575
|
+
);
|
|
9576
|
+
const handleOptimizeSite = React4.useCallback(() => {
|
|
9577
|
+
const targets = items.filter((i) => !i.collection.startsWith("global:")).filter((i) => !i.metaTitle || !i.metaDescription || !i.focusKeyword || i.score < 70).slice(0, 100).map(itemKey);
|
|
9578
|
+
runBulkPreview(targets);
|
|
9579
|
+
}, [items, runBulkPreview]);
|
|
9568
9580
|
const handleBulkApplyPreview = React4.useCallback(async () => {
|
|
9569
9581
|
if (!bulkPreview || bulkPreview.results.length === 0) return;
|
|
9570
9582
|
setBulkApplying(true);
|
|
@@ -9931,6 +9943,16 @@ function SeoView() {
|
|
|
9931
9943
|
] })
|
|
9932
9944
|
] }),
|
|
9933
9945
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", gap: 8 }, children: [
|
|
9946
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9947
|
+
"button",
|
|
9948
|
+
{
|
|
9949
|
+
onClick: handleOptimizeSite,
|
|
9950
|
+
disabled: bulkOptimizing || items.length === 0,
|
|
9951
|
+
title: t.seoView.optimizeSiteHint,
|
|
9952
|
+
style: { ...btnBase, backgroundColor: "#7c3aed", color: "#fff", opacity: bulkOptimizing || items.length === 0 ? 0.6 : 1 },
|
|
9953
|
+
children: bulkOptimizing ? t.seoView.bulkOptimizing : `\u2728 ${t.seoView.optimizeSite}`
|
|
9954
|
+
}
|
|
9955
|
+
),
|
|
9934
9956
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
9935
9957
|
"button",
|
|
9936
9958
|
{
|
|
@@ -16960,6 +16982,92 @@ function CoreWebVitalsPanel({ locale }) {
|
|
|
16960
16982
|
);
|
|
16961
16983
|
}
|
|
16962
16984
|
var C5 = {
|
|
16985
|
+
text: "var(--theme-text, #1a1a1a)",
|
|
16986
|
+
sub: "var(--theme-elevation-600, #6b7280)",
|
|
16987
|
+
card: "var(--theme-elevation-50, #f9fafb)",
|
|
16988
|
+
border: "var(--theme-elevation-200, #e5e7eb)",
|
|
16989
|
+
green: "#22c55e",
|
|
16990
|
+
amber: "#f59e0b"
|
|
16991
|
+
};
|
|
16992
|
+
var S2 = {
|
|
16993
|
+
fr: {
|
|
16994
|
+
title: "Sant\xE9 du module SEO",
|
|
16995
|
+
subtitle: "Configuration et \xE9tat des int\xE9grations / jobs (lecture seule).",
|
|
16996
|
+
ok: "Tout est configur\xE9 \u2713",
|
|
16997
|
+
ai: "IA (Claude)",
|
|
16998
|
+
gsc: "Search Console",
|
|
16999
|
+
psi: "PageSpeed",
|
|
17000
|
+
alerts: "Alertes",
|
|
17001
|
+
rank: "Dernier relev\xE9 positions",
|
|
17002
|
+
none: "jamais",
|
|
17003
|
+
warnings: "\xC0 corriger"
|
|
17004
|
+
},
|
|
17005
|
+
en: {
|
|
17006
|
+
title: "SEO module health",
|
|
17007
|
+
subtitle: "Integration & background-job status (read-only).",
|
|
17008
|
+
ok: "All configured \u2713",
|
|
17009
|
+
ai: "AI (Claude)",
|
|
17010
|
+
gsc: "Search Console",
|
|
17011
|
+
psi: "PageSpeed",
|
|
17012
|
+
alerts: "Alerts",
|
|
17013
|
+
rank: "Last rank snapshot",
|
|
17014
|
+
none: "never",
|
|
17015
|
+
warnings: "To fix"
|
|
17016
|
+
}
|
|
17017
|
+
};
|
|
17018
|
+
function HealthPanel({ locale }) {
|
|
17019
|
+
const s = S2[locale] ?? S2.fr;
|
|
17020
|
+
const [h, setH] = React4.useState(null);
|
|
17021
|
+
const load = React4.useCallback(async () => {
|
|
17022
|
+
try {
|
|
17023
|
+
const res = await fetch("/api/seo-plugin/health", { credentials: "include", cache: "no-store" });
|
|
17024
|
+
if (res.ok) setH(await res.json());
|
|
17025
|
+
} catch {
|
|
17026
|
+
}
|
|
17027
|
+
}, []);
|
|
17028
|
+
React4.useEffect(() => {
|
|
17029
|
+
void load();
|
|
17030
|
+
}, [load]);
|
|
17031
|
+
if (!h) return null;
|
|
17032
|
+
const card = { padding: 16, borderRadius: 12, border: `1px solid ${C5.border}`, backgroundColor: C5.card, marginBottom: 20 };
|
|
17033
|
+
const dot = (on) => ({
|
|
17034
|
+
display: "inline-block",
|
|
17035
|
+
width: 8,
|
|
17036
|
+
height: 8,
|
|
17037
|
+
borderRadius: 999,
|
|
17038
|
+
marginRight: 6,
|
|
17039
|
+
backgroundColor: on ? C5.green : C5.sub
|
|
17040
|
+
});
|
|
17041
|
+
const chip = (label, on) => /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: 12, color: C5.text, marginRight: 14, whiteSpace: "nowrap" }, children: [
|
|
17042
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: dot(on) }),
|
|
17043
|
+
label
|
|
17044
|
+
] });
|
|
17045
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17046
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", gap: 8, flexWrap: "wrap" }, children: [
|
|
17047
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17048
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C5.text }, children: s.title }),
|
|
17049
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C5.sub, marginTop: 2 }, children: s.subtitle })
|
|
17050
|
+
] }),
|
|
17051
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 12, fontWeight: 700, color: h.ok ? C5.green : C5.amber }, children: h.ok ? s.ok : `${h.warnings.length} \u26A0` })
|
|
17052
|
+
] }),
|
|
17053
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12, display: "flex", flexWrap: "wrap", rowGap: 6 }, children: [
|
|
17054
|
+
chip(s.ai, h.config.aiKey),
|
|
17055
|
+
chip(s.gsc, h.config.gscConfigured && h.runtime.gscConnected),
|
|
17056
|
+
chip(s.psi, h.config.pageSpeedKey),
|
|
17057
|
+
chip(s.alerts, h.config.alertWebhook || h.config.alertEmail),
|
|
17058
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: 12, color: C5.sub, whiteSpace: "nowrap" }, children: [
|
|
17059
|
+
s.rank,
|
|
17060
|
+
": ",
|
|
17061
|
+
h.runtime.lastRankSnapshot ? new Date(h.runtime.lastRankSnapshot).toLocaleDateString(locale) : s.none
|
|
17062
|
+
] })
|
|
17063
|
+
] }),
|
|
17064
|
+
h.warnings.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17065
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, fontWeight: 700, color: C5.amber, textTransform: "uppercase", marginBottom: 4 }, children: s.warnings }),
|
|
17066
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color: C5.sub, lineHeight: 1.6 }, children: h.warnings.map((w, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: w }, i)) })
|
|
17067
|
+
] })
|
|
17068
|
+
] });
|
|
17069
|
+
}
|
|
17070
|
+
var C6 = {
|
|
16963
17071
|
text: "var(--theme-text, #1a1a1a)",
|
|
16964
17072
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
16965
17073
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -16969,7 +17077,7 @@ var C5 = {
|
|
|
16969
17077
|
red: "#ef4444",
|
|
16970
17078
|
blue: "#3b82f6"
|
|
16971
17079
|
};
|
|
16972
|
-
var
|
|
17080
|
+
var S3 = {
|
|
16973
17081
|
fr: {
|
|
16974
17082
|
title: "Google Search Console",
|
|
16975
17083
|
subtitle: "Connexion OAuth pour importer automatiquement clics, impressions et positions r\xE9elles.",
|
|
@@ -17016,7 +17124,7 @@ var S2 = {
|
|
|
17016
17124
|
}
|
|
17017
17125
|
};
|
|
17018
17126
|
function GscPanel({ locale }) {
|
|
17019
|
-
const s =
|
|
17127
|
+
const s = S3[locale] ?? S3.fr;
|
|
17020
17128
|
const [status, setStatus] = React4.useState(null);
|
|
17021
17129
|
const [busy, setBusy] = React4.useState(false);
|
|
17022
17130
|
const [error, setError] = React4.useState(null);
|
|
@@ -17083,9 +17191,9 @@ function GscPanel({ locale }) {
|
|
|
17083
17191
|
const btn = (primary) => ({
|
|
17084
17192
|
padding: "8px 12px",
|
|
17085
17193
|
borderRadius: 8,
|
|
17086
|
-
border: `1px solid ${primary ?
|
|
17087
|
-
backgroundColor: primary ?
|
|
17088
|
-
color: primary ? "#fff" :
|
|
17194
|
+
border: `1px solid ${primary ? C6.blue : C6.border}`,
|
|
17195
|
+
backgroundColor: primary ? C6.blue : C6.bg,
|
|
17196
|
+
color: primary ? "#fff" : C6.text,
|
|
17089
17197
|
fontSize: 12,
|
|
17090
17198
|
fontWeight: 700,
|
|
17091
17199
|
cursor: "pointer",
|
|
@@ -17094,21 +17202,21 @@ function GscPanel({ locale }) {
|
|
|
17094
17202
|
const card = {
|
|
17095
17203
|
padding: 16,
|
|
17096
17204
|
borderRadius: 12,
|
|
17097
|
-
border: `1px solid ${
|
|
17098
|
-
backgroundColor:
|
|
17205
|
+
border: `1px solid ${C6.border}`,
|
|
17206
|
+
backgroundColor: C6.card,
|
|
17099
17207
|
marginBottom: 20
|
|
17100
17208
|
};
|
|
17101
17209
|
if (!status) {
|
|
17102
17210
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17103
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17104
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17211
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C6.text }, children: s.title }),
|
|
17212
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C6.sub, marginTop: 6 }, children: "\u2026" })
|
|
17105
17213
|
] });
|
|
17106
17214
|
}
|
|
17107
17215
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17108
17216
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, flexWrap: "wrap" }, children: [
|
|
17109
17217
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17110
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17111
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17218
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C6.text }, children: s.title }),
|
|
17219
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C6.sub, marginTop: 2 }, children: s.subtitle })
|
|
17112
17220
|
] }),
|
|
17113
17221
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17114
17222
|
"span",
|
|
@@ -17119,14 +17227,14 @@ function GscPanel({ locale }) {
|
|
|
17119
17227
|
padding: "4px 10px",
|
|
17120
17228
|
borderRadius: 999,
|
|
17121
17229
|
color: "#fff",
|
|
17122
|
-
backgroundColor: status.connected ?
|
|
17230
|
+
backgroundColor: status.connected ? C6.green : C6.sub
|
|
17123
17231
|
},
|
|
17124
17232
|
children: status.connected ? "\u25CF " + s.connectedAs : "\u25CB"
|
|
17125
17233
|
}
|
|
17126
17234
|
)
|
|
17127
17235
|
] }),
|
|
17128
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
17129
|
-
!status.configured && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17236
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C6.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
17237
|
+
!status.configured && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12, fontSize: 13, color: C6.sub, lineHeight: 1.5 }, children: [
|
|
17130
17238
|
s.notConfigured,
|
|
17131
17239
|
status.redirectUri && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 8 }, children: [
|
|
17132
17240
|
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontWeight: 700 }, children: s.redirectHint }),
|
|
@@ -17137,10 +17245,10 @@ function GscPanel({ locale }) {
|
|
|
17137
17245
|
status.configured && !status.connected && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17138
17246
|
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: connect, disabled: busy, style: btn(true), children: s.connect }),
|
|
17139
17247
|
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void loadStatus(), disabled: busy, style: { ...btn(false), marginLeft: 8 }, children: s.refreshStatus }),
|
|
17140
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color:
|
|
17248
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C6.sub, marginTop: 8 }, children: s.connectHint })
|
|
17141
17249
|
] }),
|
|
17142
17250
|
status.configured && status.connected && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17143
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color:
|
|
17251
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color: C6.sub, marginBottom: 10 }, children: [
|
|
17144
17252
|
s.connectedAs,
|
|
17145
17253
|
status.connectedEmail ? ` \xB7 ${status.connectedEmail}` : "",
|
|
17146
17254
|
status.propertyUrl ? ` \xB7 ${status.propertyUrl}` : ""
|
|
@@ -17150,17 +17258,17 @@ function GscPanel({ locale }) {
|
|
|
17150
17258
|
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void fetchData("page"), disabled: dataLoading, style: btn(dimension === "page"), children: s.byPage }),
|
|
17151
17259
|
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: disconnect, disabled: busy, style: btn(false), children: s.disconnect })
|
|
17152
17260
|
] }),
|
|
17153
|
-
dataLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17154
|
-
rows && rows.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17261
|
+
dataLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C6.sub }, children: s.fetching }),
|
|
17262
|
+
rows && rows.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C6.sub }, children: s.noData }),
|
|
17155
17263
|
rows && rows.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflowX: "auto" }, children: /* @__PURE__ */ jsxRuntime.jsxs("table", { style: { width: "100%", borderCollapse: "collapse", fontSize: 12 }, children: [
|
|
17156
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { textAlign: "left", color:
|
|
17264
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { textAlign: "left", color: C6.sub }, children: [
|
|
17157
17265
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px" }, children: dimension === "query" ? s.query : s.page }),
|
|
17158
17266
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.clicks }),
|
|
17159
17267
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.impressions }),
|
|
17160
17268
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.ctr }),
|
|
17161
17269
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.position })
|
|
17162
17270
|
] }) }),
|
|
17163
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderTop: `1px solid ${
|
|
17271
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderTop: `1px solid ${C6.border}`, color: C6.text }, children: [
|
|
17164
17272
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", maxWidth: 320, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: r.keys?.[0] || "\u2014" }),
|
|
17165
17273
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right", fontWeight: 700 }, children: r.clicks }),
|
|
17166
17274
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right" }, children: r.impressions }),
|
|
@@ -17174,7 +17282,7 @@ function GscPanel({ locale }) {
|
|
|
17174
17282
|
] })
|
|
17175
17283
|
] });
|
|
17176
17284
|
}
|
|
17177
|
-
var
|
|
17285
|
+
var C7 = {
|
|
17178
17286
|
text: "var(--theme-text, #1a1a1a)",
|
|
17179
17287
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
17180
17288
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -17183,7 +17291,7 @@ var C6 = {
|
|
|
17183
17291
|
red: "#ef4444",
|
|
17184
17292
|
blue: "#3b82f6"
|
|
17185
17293
|
};
|
|
17186
|
-
var
|
|
17294
|
+
var S4 = {
|
|
17187
17295
|
fr: {
|
|
17188
17296
|
title: "Suivi de positions (rank tracking)",
|
|
17189
17297
|
subtitle: "Historique quotidien des positions Google (via Search Console) et mouvements dans le temps.",
|
|
@@ -17220,7 +17328,7 @@ var S3 = {
|
|
|
17220
17328
|
}
|
|
17221
17329
|
};
|
|
17222
17330
|
function RankTrackingPanel({ locale }) {
|
|
17223
|
-
const s =
|
|
17331
|
+
const s = S4[locale] ?? S4.fr;
|
|
17224
17332
|
const [movers, setMovers] = React4.useState(null);
|
|
17225
17333
|
const [lastSnapshot, setLastSnapshot] = React4.useState(null);
|
|
17226
17334
|
const [loading, setLoading] = React4.useState(true);
|
|
@@ -17277,15 +17385,15 @@ function RankTrackingPanel({ locale }) {
|
|
|
17277
17385
|
const card = {
|
|
17278
17386
|
padding: 16,
|
|
17279
17387
|
borderRadius: 12,
|
|
17280
|
-
border: `1px solid ${
|
|
17281
|
-
backgroundColor:
|
|
17388
|
+
border: `1px solid ${C7.border}`,
|
|
17389
|
+
backgroundColor: C7.card,
|
|
17282
17390
|
marginBottom: 20
|
|
17283
17391
|
};
|
|
17284
17392
|
const btn = {
|
|
17285
17393
|
padding: "8px 12px",
|
|
17286
17394
|
borderRadius: 8,
|
|
17287
|
-
border: `1px solid ${
|
|
17288
|
-
backgroundColor:
|
|
17395
|
+
border: `1px solid ${C7.blue}`,
|
|
17396
|
+
backgroundColor: C7.blue,
|
|
17289
17397
|
color: "#fff",
|
|
17290
17398
|
fontSize: 12,
|
|
17291
17399
|
fontWeight: 700,
|
|
@@ -17294,16 +17402,16 @@ function RankTrackingPanel({ locale }) {
|
|
|
17294
17402
|
};
|
|
17295
17403
|
const renderDelta = (m) => {
|
|
17296
17404
|
if (m.previousPosition === null) {
|
|
17297
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color:
|
|
17405
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: C7.sub, fontSize: 11 }, children: s.newQ });
|
|
17298
17406
|
}
|
|
17299
17407
|
if (Math.abs(m.delta) < 0.1) {
|
|
17300
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color:
|
|
17408
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: C7.sub, fontSize: 11 }, children: [
|
|
17301
17409
|
"\u2014 ",
|
|
17302
17410
|
s.stable
|
|
17303
17411
|
] });
|
|
17304
17412
|
}
|
|
17305
17413
|
const up = m.delta > 0;
|
|
17306
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: up ?
|
|
17414
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: up ? C7.green : C7.red, fontWeight: 700, fontSize: 12 }, children: [
|
|
17307
17415
|
up ? "\u25B2" : "\u25BC",
|
|
17308
17416
|
" ",
|
|
17309
17417
|
Math.abs(m.delta).toFixed(1)
|
|
@@ -17312,31 +17420,31 @@ function RankTrackingPanel({ locale }) {
|
|
|
17312
17420
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17313
17421
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, flexWrap: "wrap" }, children: [
|
|
17314
17422
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17315
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17316
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17423
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C7.text }, children: s.title }),
|
|
17424
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C7.sub, marginTop: 2 }, children: s.subtitle })
|
|
17317
17425
|
] }),
|
|
17318
17426
|
!notConnected && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: snapshotNow, disabled: busy, style: btn, children: busy ? s.snapshotting : s.snapshot })
|
|
17319
17427
|
] }),
|
|
17320
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
17321
|
-
notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17428
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C7.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
17429
|
+
notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C7.sub }, children: s.needGsc }),
|
|
17322
17430
|
!notConnected && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17323
|
-
lastSnapshot && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 11, color:
|
|
17431
|
+
lastSnapshot && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 11, color: C7.sub, marginBottom: 8 }, children: [
|
|
17324
17432
|
s.lastSnapshot,
|
|
17325
17433
|
": ",
|
|
17326
17434
|
new Date(lastSnapshot).toLocaleString(locale),
|
|
17327
17435
|
movers ? ` \xB7 ${movers.length} ${s.countLabel}` : ""
|
|
17328
17436
|
] }),
|
|
17329
|
-
loading && !movers && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17330
|
-
movers && movers.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17437
|
+
loading && !movers && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C7.sub }, children: "\u2026" }),
|
|
17438
|
+
movers && movers.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C7.sub }, children: s.noData }),
|
|
17331
17439
|
movers && movers.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflowX: "auto" }, children: /* @__PURE__ */ jsxRuntime.jsxs("table", { style: { width: "100%", borderCollapse: "collapse", fontSize: 12 }, children: [
|
|
17332
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { textAlign: "left", color:
|
|
17440
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { textAlign: "left", color: C7.sub }, children: [
|
|
17333
17441
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px" }, children: s.query }),
|
|
17334
17442
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.position }),
|
|
17335
17443
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.change }),
|
|
17336
17444
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.clicks }),
|
|
17337
17445
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.impressions })
|
|
17338
17446
|
] }) }),
|
|
17339
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: movers.slice(0, 100).map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderTop: `1px solid ${
|
|
17447
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: movers.slice(0, 100).map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderTop: `1px solid ${C7.border}`, color: C7.text }, children: [
|
|
17340
17448
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", maxWidth: 320, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: m.query }),
|
|
17341
17449
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right", fontWeight: 700 }, children: m.position.toFixed(1) }),
|
|
17342
17450
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right" }, children: renderDelta(m) }),
|
|
@@ -17347,7 +17455,7 @@ function RankTrackingPanel({ locale }) {
|
|
|
17347
17455
|
] })
|
|
17348
17456
|
] });
|
|
17349
17457
|
}
|
|
17350
|
-
var
|
|
17458
|
+
var C8 = {
|
|
17351
17459
|
text: "var(--theme-text, #1a1a1a)",
|
|
17352
17460
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
17353
17461
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -17357,7 +17465,7 @@ var C7 = {
|
|
|
17357
17465
|
amber: "#f59e0b",
|
|
17358
17466
|
violet: "#7c3aed"
|
|
17359
17467
|
};
|
|
17360
|
-
var
|
|
17468
|
+
var S5 = {
|
|
17361
17469
|
fr: {
|
|
17362
17470
|
title: "Opportunit\xE9s CTR (faible clic / bonne position)",
|
|
17363
17471
|
subtitle: "Pages bien positionn\xE9es mais peu cliqu\xE9es (m\xE9ta peu attractive). Donn\xE9es Google Search Console \u2192 r\xE9\xE9criture m\xE9ta cibl\xE9e.",
|
|
@@ -17398,7 +17506,7 @@ var S4 = {
|
|
|
17398
17506
|
}
|
|
17399
17507
|
};
|
|
17400
17508
|
function CtrOpportunitiesPanel({ locale }) {
|
|
17401
|
-
const s =
|
|
17509
|
+
const s = S5[locale] ?? S5.fr;
|
|
17402
17510
|
const [opps, setOpps] = React4.useState(null);
|
|
17403
17511
|
const [loading, setLoading] = React4.useState(true);
|
|
17404
17512
|
const [notConnected, setNotConnected] = React4.useState(false);
|
|
@@ -17473,7 +17581,7 @@ function CtrOpportunitiesPanel({ locale }) {
|
|
|
17473
17581
|
setRow(o.url, { busy: false, error: e instanceof Error ? e.message : "Network error" });
|
|
17474
17582
|
}
|
|
17475
17583
|
};
|
|
17476
|
-
const card = { padding: 16, borderRadius: 12, border: `1px solid ${
|
|
17584
|
+
const card = { padding: 16, borderRadius: 12, border: `1px solid ${C8.border}`, backgroundColor: C8.card, marginBottom: 20 };
|
|
17477
17585
|
const btn = (bg) => ({
|
|
17478
17586
|
padding: "5px 10px",
|
|
17479
17587
|
borderRadius: 6,
|
|
@@ -17487,17 +17595,17 @@ function CtrOpportunitiesPanel({ locale }) {
|
|
|
17487
17595
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17488
17596
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", gap: 8, flexWrap: "wrap" }, children: [
|
|
17489
17597
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17490
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17491
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17598
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C8.text }, children: s.title }),
|
|
17599
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C8.sub, marginTop: 2 }, children: s.subtitle })
|
|
17492
17600
|
] }),
|
|
17493
|
-
!notConnected && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void load(), style: btn(
|
|
17601
|
+
!notConnected && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void load(), style: btn(C8.sub), children: s.refresh })
|
|
17494
17602
|
] }),
|
|
17495
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
17496
|
-
notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17497
|
-
loading && !notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17498
|
-
!loading && !notConnected && opps && opps.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17603
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C8.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
17604
|
+
notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C8.sub }, children: s.needGsc }),
|
|
17605
|
+
loading && !notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C8.sub }, children: s.loading }),
|
|
17606
|
+
!loading && !notConnected && opps && opps.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C8.sub }, children: s.none }),
|
|
17499
17607
|
!notConnected && opps && opps.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflowX: "auto", marginTop: 12 }, children: /* @__PURE__ */ jsxRuntime.jsxs("table", { style: { width: "100%", borderCollapse: "collapse", fontSize: 12 }, children: [
|
|
17500
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { textAlign: "left", color:
|
|
17608
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { textAlign: "left", color: C8.sub }, children: [
|
|
17501
17609
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px" }, children: s.page }),
|
|
17502
17610
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.pos }),
|
|
17503
17611
|
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.ctr }),
|
|
@@ -17514,41 +17622,41 @@ function CtrOpportunitiesPanel({ locale }) {
|
|
|
17514
17622
|
}
|
|
17515
17623
|
})();
|
|
17516
17624
|
return /* @__PURE__ */ jsxRuntime.jsxs(React4__default.default.Fragment, { children: [
|
|
17517
|
-
/* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderTop: `1px solid ${
|
|
17625
|
+
/* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderTop: `1px solid ${C8.border}`, color: C8.text }, children: [
|
|
17518
17626
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", maxWidth: 320, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: path }),
|
|
17519
17627
|
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right" }, children: o.position.toFixed(1) }),
|
|
17520
17628
|
/* @__PURE__ */ jsxRuntime.jsxs("td", { style: { padding: "6px 8px", textAlign: "right" }, children: [
|
|
17521
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color:
|
|
17629
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: C8.red }, children: [
|
|
17522
17630
|
(o.ctr * 100).toFixed(1),
|
|
17523
17631
|
"%"
|
|
17524
17632
|
] }),
|
|
17525
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color:
|
|
17633
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: C8.sub }, children: [
|
|
17526
17634
|
" / ",
|
|
17527
17635
|
(o.expectedCtr * 100).toFixed(0),
|
|
17528
17636
|
"% ",
|
|
17529
17637
|
s.expected
|
|
17530
17638
|
] })
|
|
17531
17639
|
] }),
|
|
17532
|
-
/* @__PURE__ */ jsxRuntime.jsxs("td", { style: { padding: "6px 8px", textAlign: "right", fontWeight: 700, color:
|
|
17640
|
+
/* @__PURE__ */ jsxRuntime.jsxs("td", { style: { padding: "6px 8px", textAlign: "right", fontWeight: 700, color: C8.amber }, children: [
|
|
17533
17641
|
"+",
|
|
17534
17642
|
o.potentialClicks
|
|
17535
17643
|
] }),
|
|
17536
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right" }, children: rs.applied ? /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, fontWeight: 700, color:
|
|
17644
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right" }, children: rs.applied ? /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, fontWeight: 700, color: C8.green }, children: s.applied }) : o.doc ? rs.suggestion ? /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void apply(o), disabled: rs.busy, style: btn(C8.green), children: rs.busy ? s.optimizing : s.apply }) : /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void optimize(o), disabled: rs.busy, style: btn(C8.violet), children: rs.busy ? s.optimizing : `\u2728 ${s.optimize}` }) : /* @__PURE__ */ jsxRuntime.jsxs("a", { href: o.url, target: "_blank", rel: "noopener noreferrer", style: { fontSize: 11, color: C8.sub }, children: [
|
|
17537
17645
|
s.open,
|
|
17538
17646
|
" \u2197"
|
|
17539
17647
|
] }) })
|
|
17540
17648
|
] }),
|
|
17541
|
-
rs.suggestion && !rs.applied && /* @__PURE__ */ jsxRuntime.jsx("tr", { style: { color:
|
|
17542
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color:
|
|
17543
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color:
|
|
17649
|
+
rs.suggestion && !rs.applied && /* @__PURE__ */ jsxRuntime.jsx("tr", { style: { color: C8.text }, children: /* @__PURE__ */ jsxRuntime.jsxs("td", { colSpan: 5, style: { padding: "0 8px 8px 8px" }, children: [
|
|
17650
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C8.green, fontWeight: 600 }, children: rs.suggestion.metaTitle }),
|
|
17651
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C8.sub }, children: rs.suggestion.metaDescription })
|
|
17544
17652
|
] }) }),
|
|
17545
|
-
rs.error && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 5, style: { padding: "0 8px 6px 8px", fontSize: 11, color:
|
|
17653
|
+
rs.error && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 5, style: { padding: "0 8px 6px 8px", fontSize: 11, color: C8.red }, children: rs.error }) })
|
|
17546
17654
|
] }, o.url);
|
|
17547
17655
|
}) })
|
|
17548
17656
|
] }) })
|
|
17549
17657
|
] });
|
|
17550
17658
|
}
|
|
17551
|
-
var
|
|
17659
|
+
var C9 = {
|
|
17552
17660
|
text: "var(--theme-text, #1a1a1a)",
|
|
17553
17661
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
17554
17662
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -17558,7 +17666,7 @@ var C8 = {
|
|
|
17558
17666
|
amber: "#f59e0b",
|
|
17559
17667
|
blue: "#3b82f6"
|
|
17560
17668
|
};
|
|
17561
|
-
var
|
|
17669
|
+
var S6 = {
|
|
17562
17670
|
fr: {
|
|
17563
17671
|
title: "Monitoring & alertes",
|
|
17564
17672
|
subtitle: "Digest p\xE9riodique : r\xE9gressions de score, nouveaux 404, chutes de position (webhook / email).",
|
|
@@ -17601,7 +17709,7 @@ var S5 = {
|
|
|
17601
17709
|
}
|
|
17602
17710
|
};
|
|
17603
17711
|
function AlertsPanel({ locale }) {
|
|
17604
|
-
const s =
|
|
17712
|
+
const s = S6[locale] ?? S6.fr;
|
|
17605
17713
|
const [digest, setDigest] = React4.useState(null);
|
|
17606
17714
|
const [config, setConfig] = React4.useState(null);
|
|
17607
17715
|
const [loading, setLoading] = React4.useState(true);
|
|
@@ -17656,15 +17764,15 @@ function AlertsPanel({ locale }) {
|
|
|
17656
17764
|
const card = {
|
|
17657
17765
|
padding: 16,
|
|
17658
17766
|
borderRadius: 12,
|
|
17659
|
-
border: `1px solid ${
|
|
17660
|
-
backgroundColor:
|
|
17767
|
+
border: `1px solid ${C9.border}`,
|
|
17768
|
+
backgroundColor: C9.card,
|
|
17661
17769
|
marginBottom: 20
|
|
17662
17770
|
};
|
|
17663
17771
|
const btn = {
|
|
17664
17772
|
padding: "8px 12px",
|
|
17665
17773
|
borderRadius: 8,
|
|
17666
|
-
border: `1px solid ${
|
|
17667
|
-
backgroundColor:
|
|
17774
|
+
border: `1px solid ${C9.blue}`,
|
|
17775
|
+
backgroundColor: C9.blue,
|
|
17668
17776
|
color: "#fff",
|
|
17669
17777
|
fontSize: 12,
|
|
17670
17778
|
fontWeight: 700,
|
|
@@ -17677,32 +17785,32 @@ function AlertsPanel({ locale }) {
|
|
|
17677
17785
|
padding: "3px 8px",
|
|
17678
17786
|
borderRadius: 999,
|
|
17679
17787
|
color: "#fff",
|
|
17680
|
-
backgroundColor: ok ?
|
|
17788
|
+
backgroundColor: ok ? C9.green : C9.sub,
|
|
17681
17789
|
marginRight: 6
|
|
17682
17790
|
});
|
|
17683
17791
|
const hasChannel = config && (config.webhookConfigured || config.emailConfigured);
|
|
17684
17792
|
const list = (title, rows) => rows.length ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 10 }, children: [
|
|
17685
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, fontWeight: 700, color:
|
|
17793
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, fontWeight: 700, color: C9.text, marginBottom: 4 }, children: [
|
|
17686
17794
|
title,
|
|
17687
17795
|
" ",
|
|
17688
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color:
|
|
17796
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: C9.amber }, children: [
|
|
17689
17797
|
"(",
|
|
17690
17798
|
rows.length,
|
|
17691
17799
|
")"
|
|
17692
17800
|
] })
|
|
17693
17801
|
] }),
|
|
17694
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color:
|
|
17802
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color: C9.sub, lineHeight: 1.6 }, children: rows.slice(0, 8).map((r, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: r }, i)) })
|
|
17695
17803
|
] }) : null;
|
|
17696
17804
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17697
17805
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, flexWrap: "wrap" }, children: [
|
|
17698
17806
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17699
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17700
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17807
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C9.text }, children: s.title }),
|
|
17808
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C9.sub, marginTop: 2 }, children: s.subtitle })
|
|
17701
17809
|
] }),
|
|
17702
17810
|
hasChannel && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: sendNow, disabled: busy, style: btn, children: busy ? s.sending : s.sendNow })
|
|
17703
17811
|
] }),
|
|
17704
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
17705
|
-
notice && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
17812
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C9.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
17813
|
+
notice && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C9.green, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: notice }),
|
|
17706
17814
|
config && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17707
17815
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: chip(config.webhookConfigured, s.webhook), children: [
|
|
17708
17816
|
s.webhook,
|
|
@@ -17715,15 +17823,15 @@ function AlertsPanel({ locale }) {
|
|
|
17715
17823
|
config.emailConfigured ? s.configured : s.missing
|
|
17716
17824
|
] })
|
|
17717
17825
|
] }),
|
|
17718
|
-
!loading && !hasChannel && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17719
|
-
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17826
|
+
!loading && !hasChannel && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C9.sub }, children: s.notConfigured }),
|
|
17827
|
+
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C9.sub }, children: s.loading }),
|
|
17720
17828
|
digest && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 8 }, children: [
|
|
17721
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color:
|
|
17829
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color: C9.sub, marginTop: 6 }, children: [
|
|
17722
17830
|
digest.totalIssues,
|
|
17723
17831
|
" ",
|
|
17724
17832
|
s.issues
|
|
17725
17833
|
] }),
|
|
17726
|
-
digest.totalIssues === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 8, fontSize: 13, color:
|
|
17834
|
+
digest.totalIssues === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 8, fontSize: 13, color: C9.sub }, children: s.noIssues }),
|
|
17727
17835
|
list(
|
|
17728
17836
|
s.scoreReg,
|
|
17729
17837
|
digest.scoreRegressions.map((r) => `${r.collection}/${r.documentId} \u2014 ${r.from} \u2192 ${r.to} (\u2212${r.drop})`)
|
|
@@ -17733,7 +17841,7 @@ function AlertsPanel({ locale }) {
|
|
|
17733
17841
|
] })
|
|
17734
17842
|
] });
|
|
17735
17843
|
}
|
|
17736
|
-
var
|
|
17844
|
+
var C10 = {
|
|
17737
17845
|
text: "var(--theme-text, #1a1a1a)",
|
|
17738
17846
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
17739
17847
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -17743,7 +17851,7 @@ var C9 = {
|
|
|
17743
17851
|
red: "#ef4444",
|
|
17744
17852
|
violet: "#7c3aed"
|
|
17745
17853
|
};
|
|
17746
|
-
var
|
|
17854
|
+
var S7 = {
|
|
17747
17855
|
fr: {
|
|
17748
17856
|
title: "Alt-text IA des images",
|
|
17749
17857
|
subtitle: "G\xE9n\xE8re l'attribut alt des images qui n'en ont pas (Claude vision), pour l'accessibilit\xE9 et le SEO.",
|
|
@@ -17776,7 +17884,7 @@ var S6 = {
|
|
|
17776
17884
|
}
|
|
17777
17885
|
};
|
|
17778
17886
|
function AltTextPanel({ locale }) {
|
|
17779
|
-
const s =
|
|
17887
|
+
const s = S7[locale] ?? S7.fr;
|
|
17780
17888
|
const [items, setItems] = React4.useState(null);
|
|
17781
17889
|
const [collection, setCollection] = React4.useState("media");
|
|
17782
17890
|
const [missingCount, setMissingCount] = React4.useState(0);
|
|
@@ -17853,8 +17961,8 @@ function AltTextPanel({ locale }) {
|
|
|
17853
17961
|
const card = {
|
|
17854
17962
|
padding: 16,
|
|
17855
17963
|
borderRadius: 12,
|
|
17856
|
-
border: `1px solid ${
|
|
17857
|
-
backgroundColor:
|
|
17964
|
+
border: `1px solid ${C10.border}`,
|
|
17965
|
+
backgroundColor: C10.card,
|
|
17858
17966
|
marginBottom: 20
|
|
17859
17967
|
};
|
|
17860
17968
|
const btn = (bg) => ({
|
|
@@ -17870,18 +17978,18 @@ function AltTextPanel({ locale }) {
|
|
|
17870
17978
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17871
17979
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, flexWrap: "wrap" }, children: [
|
|
17872
17980
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17873
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17874
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17981
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C10.text }, children: s.title }),
|
|
17982
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C10.sub, marginTop: 2 }, children: s.subtitle })
|
|
17875
17983
|
] }),
|
|
17876
|
-
status === "ok" && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void load(), style: btn(
|
|
17984
|
+
status === "ok" && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void load(), style: btn(C10.sub), children: s.refresh })
|
|
17877
17985
|
] }),
|
|
17878
|
-
status === "forbidden" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17879
|
-
status === "disabled" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17986
|
+
status === "forbidden" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C10.sub }, children: s.forbidden }),
|
|
17987
|
+
status === "disabled" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C10.sub }, children: s.disabled }),
|
|
17880
17988
|
status === "ok" && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17881
|
-
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17882
|
-
!loading && items && items.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17989
|
+
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C10.sub }, children: s.loading }),
|
|
17990
|
+
!loading && items && items.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C10.sub }, children: s.none }),
|
|
17883
17991
|
!loading && items && items.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
17884
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color:
|
|
17992
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color: C10.sub, marginBottom: 10 }, children: [
|
|
17885
17993
|
missingCount,
|
|
17886
17994
|
" ",
|
|
17887
17995
|
s.missing
|
|
@@ -17897,8 +18005,8 @@ function AltTextPanel({ locale }) {
|
|
|
17897
18005
|
alignItems: "center",
|
|
17898
18006
|
padding: 8,
|
|
17899
18007
|
borderRadius: 8,
|
|
17900
|
-
border: `1px solid ${
|
|
17901
|
-
backgroundColor:
|
|
18008
|
+
border: `1px solid ${C10.border}`,
|
|
18009
|
+
backgroundColor: C10.bg
|
|
17902
18010
|
},
|
|
17903
18011
|
children: [
|
|
17904
18012
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -17906,11 +18014,11 @@ function AltTextPanel({ locale }) {
|
|
|
17906
18014
|
{
|
|
17907
18015
|
src: item.url,
|
|
17908
18016
|
alt: "",
|
|
17909
|
-
style: { width: 48, height: 48, objectFit: "cover", borderRadius: 6, flexShrink: 0, border: `1px solid ${
|
|
18017
|
+
style: { width: 48, height: 48, objectFit: "cover", borderRadius: 6, flexShrink: 0, border: `1px solid ${C10.border}` }
|
|
17910
18018
|
}
|
|
17911
18019
|
),
|
|
17912
18020
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
17913
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color:
|
|
18021
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C10.sub, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: item.filename }),
|
|
17914
18022
|
rs.alt !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17915
18023
|
"input",
|
|
17916
18024
|
{
|
|
@@ -17924,15 +18032,15 @@ function AltTextPanel({ locale }) {
|
|
|
17924
18032
|
padding: "4px 8px",
|
|
17925
18033
|
fontSize: 12,
|
|
17926
18034
|
borderRadius: 6,
|
|
17927
|
-
border: `1px solid ${
|
|
17928
|
-
backgroundColor:
|
|
17929
|
-
color:
|
|
18035
|
+
border: `1px solid ${C10.border}`,
|
|
18036
|
+
backgroundColor: C10.bg,
|
|
18037
|
+
color: C10.text
|
|
17930
18038
|
}
|
|
17931
18039
|
}
|
|
17932
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17933
|
-
rs.error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color:
|
|
18040
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C10.sub, marginTop: 4, fontStyle: "italic" }, children: "\u2014" }),
|
|
18041
|
+
rs.error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C10.red, marginTop: 2 }, children: rs.error })
|
|
17934
18042
|
] }),
|
|
17935
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { flexShrink: 0 }, children: rs.applied ? /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, fontWeight: 700, color:
|
|
18043
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { flexShrink: 0 }, children: rs.applied ? /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, fontWeight: 700, color: C10.green }, children: s.applied }) : rs.alt !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void apply(item), disabled: rs.busy, style: btn(C10.green), children: rs.busy ? s.generating : s.apply }) : /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void generate(item), disabled: rs.busy, style: btn(C10.violet), children: rs.busy ? s.generating : s.generate }) })
|
|
17936
18044
|
]
|
|
17937
18045
|
},
|
|
17938
18046
|
item.id
|
|
@@ -18354,6 +18462,7 @@ function PerformanceView() {
|
|
|
18354
18462
|
]
|
|
18355
18463
|
}
|
|
18356
18464
|
),
|
|
18465
|
+
/* @__PURE__ */ jsxRuntime.jsx(HealthPanel, { locale }),
|
|
18357
18466
|
/* @__PURE__ */ jsxRuntime.jsx(CoreWebVitalsPanel, { locale }),
|
|
18358
18467
|
/* @__PURE__ */ jsxRuntime.jsx(GscPanel, { locale }),
|
|
18359
18468
|
/* @__PURE__ */ jsxRuntime.jsx(RankTrackingPanel, { locale }),
|
|
@@ -18883,7 +18992,7 @@ function PerformanceView() {
|
|
|
18883
18992
|
}
|
|
18884
18993
|
);
|
|
18885
18994
|
}
|
|
18886
|
-
var
|
|
18995
|
+
var C11 = {
|
|
18887
18996
|
text: "var(--theme-text, #1a1a1a)",
|
|
18888
18997
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
18889
18998
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -18893,7 +19002,7 @@ var C10 = {
|
|
|
18893
19002
|
red: "#ef4444",
|
|
18894
19003
|
blue: "#3b82f6"
|
|
18895
19004
|
};
|
|
18896
|
-
var
|
|
19005
|
+
var S8 = {
|
|
18897
19006
|
fr: {
|
|
18898
19007
|
title: "Brief de contenu IA",
|
|
18899
19008
|
subtitle: "G\xE9n\xE8re un plan r\xE9dactionnel optimis\xE9 pour un mot-cl\xE9 (plan, entit\xE9s, questions, longueur cible).",
|
|
@@ -18928,7 +19037,7 @@ var S7 = {
|
|
|
18928
19037
|
}
|
|
18929
19038
|
};
|
|
18930
19039
|
function ContentBriefPanel({ locale }) {
|
|
18931
|
-
const s =
|
|
19040
|
+
const s = S8[locale] ?? S8.fr;
|
|
18932
19041
|
const [keyword, setKeyword] = React4.useState("");
|
|
18933
19042
|
const [brief, setBrief] = React4.useState(null);
|
|
18934
19043
|
const [busy, setBusy] = React4.useState(false);
|
|
@@ -18964,8 +19073,8 @@ function ContentBriefPanel({ locale }) {
|
|
|
18964
19073
|
const card = {
|
|
18965
19074
|
padding: 16,
|
|
18966
19075
|
borderRadius: 12,
|
|
18967
|
-
border: `1px solid ${
|
|
18968
|
-
backgroundColor:
|
|
19076
|
+
border: `1px solid ${C11.border}`,
|
|
19077
|
+
backgroundColor: C11.card,
|
|
18969
19078
|
marginBottom: 20
|
|
18970
19079
|
};
|
|
18971
19080
|
const chip = {
|
|
@@ -18974,14 +19083,14 @@ function ContentBriefPanel({ locale }) {
|
|
|
18974
19083
|
padding: "3px 8px",
|
|
18975
19084
|
borderRadius: 999,
|
|
18976
19085
|
backgroundColor: "rgba(59,130,246,0.12)",
|
|
18977
|
-
color:
|
|
18978
|
-
border: `1px solid ${
|
|
19086
|
+
color: C11.blue,
|
|
19087
|
+
border: `1px solid ${C11.border}`,
|
|
18979
19088
|
margin: "0 6px 6px 0"
|
|
18980
19089
|
};
|
|
18981
|
-
const h4 = { fontSize: 12, fontWeight: 800, color:
|
|
19090
|
+
const h4 = { fontSize: 12, fontWeight: 800, color: C11.text, margin: "14px 0 6px", textTransform: "uppercase" };
|
|
18982
19091
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
18983
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
18984
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
19092
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C11.text }, children: s.title }),
|
|
19093
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C11.sub, marginTop: 2, marginBottom: 12 }, children: s.subtitle }),
|
|
18985
19094
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", gap: 8, flexWrap: "wrap" }, children: [
|
|
18986
19095
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18987
19096
|
"input",
|
|
@@ -18998,9 +19107,9 @@ function ContentBriefPanel({ locale }) {
|
|
|
18998
19107
|
padding: "8px 12px",
|
|
18999
19108
|
fontSize: 13,
|
|
19000
19109
|
borderRadius: 8,
|
|
19001
|
-
border: `1px solid ${
|
|
19002
|
-
backgroundColor:
|
|
19003
|
-
color:
|
|
19110
|
+
border: `1px solid ${C11.border}`,
|
|
19111
|
+
backgroundColor: C11.bg,
|
|
19112
|
+
color: C11.text
|
|
19004
19113
|
}
|
|
19005
19114
|
}
|
|
19006
19115
|
),
|
|
@@ -19013,8 +19122,8 @@ function ContentBriefPanel({ locale }) {
|
|
|
19013
19122
|
style: {
|
|
19014
19123
|
padding: "8px 14px",
|
|
19015
19124
|
borderRadius: 8,
|
|
19016
|
-
border: `1px solid ${
|
|
19017
|
-
backgroundColor:
|
|
19125
|
+
border: `1px solid ${C11.violet}`,
|
|
19126
|
+
backgroundColor: C11.violet,
|
|
19018
19127
|
color: "#fff",
|
|
19019
19128
|
fontSize: 12,
|
|
19020
19129
|
fontWeight: 700,
|
|
@@ -19025,12 +19134,12 @@ function ContentBriefPanel({ locale }) {
|
|
|
19025
19134
|
}
|
|
19026
19135
|
)
|
|
19027
19136
|
] }),
|
|
19028
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
19137
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C11.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
19029
19138
|
brief && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 8 }, children: [
|
|
19030
|
-
brief.recommendedWordCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color:
|
|
19139
|
+
brief.recommendedWordCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color: C11.sub, marginTop: 10 }, children: [
|
|
19031
19140
|
s.words,
|
|
19032
19141
|
": ",
|
|
19033
|
-
/* @__PURE__ */ jsxRuntime.jsxs("b", { style: { color:
|
|
19142
|
+
/* @__PURE__ */ jsxRuntime.jsxs("b", { style: { color: C11.text }, children: [
|
|
19034
19143
|
"~",
|
|
19035
19144
|
brief.recommendedWordCount,
|
|
19036
19145
|
" ",
|
|
@@ -19039,7 +19148,7 @@ function ContentBriefPanel({ locale }) {
|
|
|
19039
19148
|
] }),
|
|
19040
19149
|
brief.outline.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19041
19150
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.outline }),
|
|
19042
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color:
|
|
19151
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color: C11.text, lineHeight: 1.6 }, children: brief.outline.map((o, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { style: { marginLeft: o.level === "h3" ? 18 : 0, color: o.level === "h3" ? C11.sub : C11.text, fontWeight: o.level === "h2" ? 700 : 400 }, children: o.text }, i)) })
|
|
19043
19152
|
] }),
|
|
19044
19153
|
brief.entities.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19045
19154
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.entities }),
|
|
@@ -19047,7 +19156,7 @@ function ContentBriefPanel({ locale }) {
|
|
|
19047
19156
|
] }),
|
|
19048
19157
|
brief.questions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19049
19158
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.questions }),
|
|
19050
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color:
|
|
19159
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color: C11.text, lineHeight: 1.6 }, children: brief.questions.map((q, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: q }, i)) })
|
|
19051
19160
|
] }),
|
|
19052
19161
|
brief.internalLinkIdeas.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19053
19162
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.links }),
|
|
@@ -19055,7 +19164,7 @@ function ContentBriefPanel({ locale }) {
|
|
|
19055
19164
|
] }),
|
|
19056
19165
|
brief.notes.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19057
19166
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.notes }),
|
|
19058
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color:
|
|
19167
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color: C11.sub, lineHeight: 1.6 }, children: brief.notes.map((n, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: n }, i)) })
|
|
19059
19168
|
] })
|
|
19060
19169
|
] })
|
|
19061
19170
|
] });
|
|
@@ -20197,7 +20306,7 @@ var controlBtnStyle = {
|
|
|
20197
20306
|
cursor: "pointer",
|
|
20198
20307
|
lineHeight: 1.4
|
|
20199
20308
|
};
|
|
20200
|
-
var
|
|
20309
|
+
var C12 = {
|
|
20201
20310
|
cyan: "#00E5FF",
|
|
20202
20311
|
black: "#000",
|
|
20203
20312
|
green: "#22c55e",
|
|
@@ -20212,10 +20321,10 @@ var C11 = {
|
|
|
20212
20321
|
var TITLE_MIN = 30;
|
|
20213
20322
|
var TITLE_MAX = 60;
|
|
20214
20323
|
function getCharColor(len) {
|
|
20215
|
-
if (len === 0) return
|
|
20216
|
-
if (len >= TITLE_MIN && len <= TITLE_MAX) return
|
|
20217
|
-
if (len > 0 && len < TITLE_MIN) return
|
|
20218
|
-
return
|
|
20324
|
+
if (len === 0) return C12.textSecondary;
|
|
20325
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C12.green;
|
|
20326
|
+
if (len > 0 && len < TITLE_MIN) return C12.orange;
|
|
20327
|
+
return C12.red;
|
|
20219
20328
|
}
|
|
20220
20329
|
function getProgressPercent(len) {
|
|
20221
20330
|
if (len === 0) return 0;
|
|
@@ -20223,9 +20332,9 @@ function getProgressPercent(len) {
|
|
|
20223
20332
|
}
|
|
20224
20333
|
function getProgressColor(len) {
|
|
20225
20334
|
if (len === 0) return "var(--theme-elevation-200, #e5e7eb)";
|
|
20226
|
-
if (len >= TITLE_MIN && len <= TITLE_MAX) return
|
|
20227
|
-
if (len < TITLE_MIN) return
|
|
20228
|
-
return
|
|
20335
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C12.green;
|
|
20336
|
+
if (len < TITLE_MIN) return C12.orange;
|
|
20337
|
+
return C12.red;
|
|
20229
20338
|
}
|
|
20230
20339
|
function MetaTitleField({
|
|
20231
20340
|
path,
|
|
@@ -20296,7 +20405,7 @@ function MetaTitleField({
|
|
|
20296
20405
|
style: {
|
|
20297
20406
|
fontSize: 13,
|
|
20298
20407
|
fontWeight: 700,
|
|
20299
|
-
color:
|
|
20408
|
+
color: C12.textPrimary
|
|
20300
20409
|
},
|
|
20301
20410
|
children: t.metaTitle.label
|
|
20302
20411
|
}
|
|
@@ -20336,9 +20445,9 @@ function MetaTitleField({
|
|
|
20336
20445
|
fontSize: 14,
|
|
20337
20446
|
fontFamily: "inherit",
|
|
20338
20447
|
borderRadius: 8,
|
|
20339
|
-
border: `2px solid ${
|
|
20340
|
-
backgroundColor:
|
|
20341
|
-
color:
|
|
20448
|
+
border: `2px solid ${C12.border}`,
|
|
20449
|
+
backgroundColor: C12.surfaceBg,
|
|
20450
|
+
color: C12.textPrimary,
|
|
20342
20451
|
outline: "none",
|
|
20343
20452
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
20344
20453
|
}
|
|
@@ -20356,9 +20465,9 @@ function MetaTitleField({
|
|
|
20356
20465
|
gap: 5,
|
|
20357
20466
|
padding: "8px 14px",
|
|
20358
20467
|
borderRadius: 8,
|
|
20359
|
-
border: `2px solid ${
|
|
20360
|
-
backgroundColor: loading ?
|
|
20361
|
-
color: loading ?
|
|
20468
|
+
border: `2px solid ${C12.border}`,
|
|
20469
|
+
backgroundColor: loading ? C12.surface50 : C12.cyan,
|
|
20470
|
+
color: loading ? C12.textSecondary : C12.black,
|
|
20362
20471
|
fontWeight: 800,
|
|
20363
20472
|
fontSize: 11,
|
|
20364
20473
|
textTransform: "uppercase",
|
|
@@ -20405,7 +20514,7 @@ function MetaTitleField({
|
|
|
20405
20514
|
justifyContent: "space-between",
|
|
20406
20515
|
marginTop: 4,
|
|
20407
20516
|
fontSize: 10,
|
|
20408
|
-
color:
|
|
20517
|
+
color: C12.textSecondary
|
|
20409
20518
|
},
|
|
20410
20519
|
children: [
|
|
20411
20520
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -20439,9 +20548,9 @@ function MetaTitleField({
|
|
|
20439
20548
|
borderRadius: 6,
|
|
20440
20549
|
fontSize: 11,
|
|
20441
20550
|
fontWeight: 600,
|
|
20442
|
-
color:
|
|
20551
|
+
color: C12.red,
|
|
20443
20552
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20444
|
-
border: `1px solid ${
|
|
20553
|
+
border: `1px solid ${C12.red}`
|
|
20445
20554
|
},
|
|
20446
20555
|
children: error
|
|
20447
20556
|
}
|
|
@@ -20450,7 +20559,7 @@ function MetaTitleField({
|
|
|
20450
20559
|
}
|
|
20451
20560
|
);
|
|
20452
20561
|
}
|
|
20453
|
-
var
|
|
20562
|
+
var C13 = {
|
|
20454
20563
|
cyan: "#00E5FF",
|
|
20455
20564
|
black: "#000",
|
|
20456
20565
|
green: "#22c55e",
|
|
@@ -20465,10 +20574,10 @@ var C12 = {
|
|
|
20465
20574
|
var DESC_MIN = 120;
|
|
20466
20575
|
var DESC_MAX = 160;
|
|
20467
20576
|
function getCharColor2(len) {
|
|
20468
|
-
if (len === 0) return
|
|
20469
|
-
if (len >= DESC_MIN && len <= DESC_MAX) return
|
|
20470
|
-
if (len > 0 && len < DESC_MIN) return
|
|
20471
|
-
return
|
|
20577
|
+
if (len === 0) return C13.textSecondary;
|
|
20578
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C13.green;
|
|
20579
|
+
if (len > 0 && len < DESC_MIN) return C13.orange;
|
|
20580
|
+
return C13.red;
|
|
20472
20581
|
}
|
|
20473
20582
|
function getProgressPercent2(len) {
|
|
20474
20583
|
if (len === 0) return 0;
|
|
@@ -20476,9 +20585,9 @@ function getProgressPercent2(len) {
|
|
|
20476
20585
|
}
|
|
20477
20586
|
function getProgressColor2(len) {
|
|
20478
20587
|
if (len === 0) return "var(--theme-elevation-200, #e5e7eb)";
|
|
20479
|
-
if (len >= DESC_MIN && len <= DESC_MAX) return
|
|
20480
|
-
if (len < DESC_MIN) return
|
|
20481
|
-
return
|
|
20588
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C13.green;
|
|
20589
|
+
if (len < DESC_MIN) return C13.orange;
|
|
20590
|
+
return C13.red;
|
|
20482
20591
|
}
|
|
20483
20592
|
function MetaDescriptionField({
|
|
20484
20593
|
path,
|
|
@@ -20549,7 +20658,7 @@ function MetaDescriptionField({
|
|
|
20549
20658
|
style: {
|
|
20550
20659
|
fontSize: 13,
|
|
20551
20660
|
fontWeight: 700,
|
|
20552
|
-
color:
|
|
20661
|
+
color: C13.textPrimary
|
|
20553
20662
|
},
|
|
20554
20663
|
children: t.metaDescription.label
|
|
20555
20664
|
}
|
|
@@ -20589,9 +20698,9 @@ function MetaDescriptionField({
|
|
|
20589
20698
|
fontSize: 14,
|
|
20590
20699
|
fontFamily: "inherit",
|
|
20591
20700
|
borderRadius: 8,
|
|
20592
|
-
border: `2px solid ${
|
|
20593
|
-
backgroundColor:
|
|
20594
|
-
color:
|
|
20701
|
+
border: `2px solid ${C13.border}`,
|
|
20702
|
+
backgroundColor: C13.surfaceBg,
|
|
20703
|
+
color: C13.textPrimary,
|
|
20595
20704
|
outline: "none",
|
|
20596
20705
|
resize: "vertical",
|
|
20597
20706
|
lineHeight: 1.5,
|
|
@@ -20611,9 +20720,9 @@ function MetaDescriptionField({
|
|
|
20611
20720
|
gap: 5,
|
|
20612
20721
|
padding: "8px 14px",
|
|
20613
20722
|
borderRadius: 8,
|
|
20614
|
-
border: `2px solid ${
|
|
20615
|
-
backgroundColor: loading ?
|
|
20616
|
-
color: loading ?
|
|
20723
|
+
border: `2px solid ${C13.border}`,
|
|
20724
|
+
backgroundColor: loading ? C13.surface50 : C13.cyan,
|
|
20725
|
+
color: loading ? C13.textSecondary : C13.black,
|
|
20617
20726
|
fontWeight: 800,
|
|
20618
20727
|
fontSize: 11,
|
|
20619
20728
|
textTransform: "uppercase",
|
|
@@ -20661,7 +20770,7 @@ function MetaDescriptionField({
|
|
|
20661
20770
|
justifyContent: "space-between",
|
|
20662
20771
|
marginTop: 4,
|
|
20663
20772
|
fontSize: 10,
|
|
20664
|
-
color:
|
|
20773
|
+
color: C13.textSecondary
|
|
20665
20774
|
},
|
|
20666
20775
|
children: [
|
|
20667
20776
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -20695,9 +20804,9 @@ function MetaDescriptionField({
|
|
|
20695
20804
|
borderRadius: 6,
|
|
20696
20805
|
fontSize: 11,
|
|
20697
20806
|
fontWeight: 600,
|
|
20698
|
-
color:
|
|
20807
|
+
color: C13.red,
|
|
20699
20808
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20700
|
-
border: `1px solid ${
|
|
20809
|
+
border: `1px solid ${C13.red}`
|
|
20701
20810
|
},
|
|
20702
20811
|
children: error
|
|
20703
20812
|
}
|
|
@@ -20706,7 +20815,7 @@ function MetaDescriptionField({
|
|
|
20706
20815
|
}
|
|
20707
20816
|
);
|
|
20708
20817
|
}
|
|
20709
|
-
var
|
|
20818
|
+
var C14 = {
|
|
20710
20819
|
cyan: "#00E5FF",
|
|
20711
20820
|
black: "#000",
|
|
20712
20821
|
white: "#fff",
|
|
@@ -20783,8 +20892,8 @@ function MetaImageField({
|
|
|
20783
20892
|
gap: 10,
|
|
20784
20893
|
padding: "10px 14px",
|
|
20785
20894
|
borderRadius: 8,
|
|
20786
|
-
border: `2px solid ${
|
|
20787
|
-
backgroundColor:
|
|
20895
|
+
border: `2px solid ${C14.border}`,
|
|
20896
|
+
backgroundColor: C14.surfaceBg,
|
|
20788
20897
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
20789
20898
|
},
|
|
20790
20899
|
children: [
|
|
@@ -20803,7 +20912,7 @@ function MetaImageField({
|
|
|
20803
20912
|
fontWeight: 900,
|
|
20804
20913
|
backgroundColor: hasImage ? "rgba(34,197,94,0.15)" : "rgba(255,138,0,0.15)",
|
|
20805
20914
|
color: hasImage ? "#16a34a" : "#d97706",
|
|
20806
|
-
border: `1px solid ${hasImage ?
|
|
20915
|
+
border: `1px solid ${hasImage ? C14.green : C14.orange}`
|
|
20807
20916
|
},
|
|
20808
20917
|
children: hasImage ? "\u2713" : "!"
|
|
20809
20918
|
}
|
|
@@ -20815,7 +20924,7 @@ function MetaImageField({
|
|
|
20815
20924
|
style: {
|
|
20816
20925
|
fontSize: 12,
|
|
20817
20926
|
fontWeight: 700,
|
|
20818
|
-
color:
|
|
20927
|
+
color: C14.textPrimary
|
|
20819
20928
|
},
|
|
20820
20929
|
children: t.metaImage.label
|
|
20821
20930
|
}
|
|
@@ -20825,7 +20934,7 @@ function MetaImageField({
|
|
|
20825
20934
|
{
|
|
20826
20935
|
style: {
|
|
20827
20936
|
fontSize: 10,
|
|
20828
|
-
color:
|
|
20937
|
+
color: C14.textSecondary,
|
|
20829
20938
|
lineHeight: 1.4
|
|
20830
20939
|
},
|
|
20831
20940
|
children: hasImage ? t.metaImage.imageSet : t.metaImage.noImage
|
|
@@ -20845,9 +20954,9 @@ function MetaImageField({
|
|
|
20845
20954
|
gap: 5,
|
|
20846
20955
|
padding: "8px 14px",
|
|
20847
20956
|
borderRadius: 8,
|
|
20848
|
-
border: `2px solid ${
|
|
20849
|
-
backgroundColor: loading ?
|
|
20850
|
-
color: loading ?
|
|
20957
|
+
border: `2px solid ${C14.border}`,
|
|
20958
|
+
backgroundColor: loading ? C14.surface50 : success ? C14.green : C14.cyan,
|
|
20959
|
+
color: loading ? C14.textSecondary : success ? C14.white : C14.black,
|
|
20851
20960
|
fontWeight: 800,
|
|
20852
20961
|
fontSize: 11,
|
|
20853
20962
|
textTransform: "uppercase",
|
|
@@ -20874,9 +20983,9 @@ function MetaImageField({
|
|
|
20874
20983
|
borderRadius: 6,
|
|
20875
20984
|
fontSize: 11,
|
|
20876
20985
|
fontWeight: 600,
|
|
20877
|
-
color:
|
|
20986
|
+
color: C14.red,
|
|
20878
20987
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20879
|
-
border: `1px solid ${
|
|
20988
|
+
border: `1px solid ${C14.red}`
|
|
20880
20989
|
},
|
|
20881
20990
|
children: error
|
|
20882
20991
|
}
|
|
@@ -20885,7 +20994,7 @@ function MetaImageField({
|
|
|
20885
20994
|
}
|
|
20886
20995
|
);
|
|
20887
20996
|
}
|
|
20888
|
-
var
|
|
20997
|
+
var C15 = {
|
|
20889
20998
|
black: "#000",
|
|
20890
20999
|
white: "#fff",
|
|
20891
21000
|
green: "#22c55e",
|
|
@@ -20899,15 +21008,15 @@ var C14 = {
|
|
|
20899
21008
|
function getCompletenessColor(count) {
|
|
20900
21009
|
switch (count) {
|
|
20901
21010
|
case 0:
|
|
20902
|
-
return
|
|
21011
|
+
return C15.red;
|
|
20903
21012
|
case 1:
|
|
20904
|
-
return
|
|
21013
|
+
return C15.orange;
|
|
20905
21014
|
case 2:
|
|
20906
|
-
return
|
|
21015
|
+
return C15.yellow;
|
|
20907
21016
|
case 3:
|
|
20908
|
-
return
|
|
21017
|
+
return C15.green;
|
|
20909
21018
|
default:
|
|
20910
|
-
return
|
|
21019
|
+
return C15.textSecondary;
|
|
20911
21020
|
}
|
|
20912
21021
|
}
|
|
20913
21022
|
function getCompletenessLabel(count, ov) {
|
|
@@ -20965,8 +21074,8 @@ function OverviewField({
|
|
|
20965
21074
|
fontFamily: "var(--font-body, Inter, system-ui, sans-serif)",
|
|
20966
21075
|
padding: "12px 14px",
|
|
20967
21076
|
borderRadius: 10,
|
|
20968
|
-
border: `2px solid ${
|
|
20969
|
-
backgroundColor:
|
|
21077
|
+
border: `2px solid ${C15.border}`,
|
|
21078
|
+
backgroundColor: C15.surfaceBg,
|
|
20970
21079
|
boxShadow: "3px 3px 0 0 var(--theme-border-color, rgba(0,0,0,1))",
|
|
20971
21080
|
marginBottom: 12
|
|
20972
21081
|
},
|
|
@@ -20989,7 +21098,7 @@ function OverviewField({
|
|
|
20989
21098
|
fontWeight: 800,
|
|
20990
21099
|
textTransform: "uppercase",
|
|
20991
21100
|
letterSpacing: "0.04em",
|
|
20992
|
-
color:
|
|
21101
|
+
color: C15.textPrimary
|
|
20993
21102
|
},
|
|
20994
21103
|
children: t.overview.metaCompleteness
|
|
20995
21104
|
}
|
|
@@ -21004,8 +21113,8 @@ function OverviewField({
|
|
|
21004
21113
|
fontSize: 11,
|
|
21005
21114
|
fontWeight: 800,
|
|
21006
21115
|
backgroundColor: completenessColor,
|
|
21007
|
-
color: completenessColor ===
|
|
21008
|
-
border: `2px solid ${
|
|
21116
|
+
color: completenessColor === C15.yellow ? C15.black : C15.white,
|
|
21117
|
+
border: `2px solid ${C15.border}`,
|
|
21009
21118
|
textTransform: "uppercase",
|
|
21010
21119
|
letterSpacing: "0.03em"
|
|
21011
21120
|
},
|
|
@@ -21103,7 +21212,7 @@ function OverviewField({
|
|
|
21103
21212
|
style: {
|
|
21104
21213
|
fontSize: 12,
|
|
21105
21214
|
fontWeight: 600,
|
|
21106
|
-
color: item.filled ?
|
|
21215
|
+
color: item.filled ? C15.textPrimary : C15.textSecondary
|
|
21107
21216
|
},
|
|
21108
21217
|
children: item.label
|
|
21109
21218
|
}
|
|
@@ -21115,7 +21224,7 @@ function OverviewField({
|
|
|
21115
21224
|
marginLeft: "auto",
|
|
21116
21225
|
fontSize: 10,
|
|
21117
21226
|
fontWeight: 700,
|
|
21118
|
-
color: item.filled ?
|
|
21227
|
+
color: item.filled ? C15.green : C15.red,
|
|
21119
21228
|
textTransform: "uppercase",
|
|
21120
21229
|
letterSpacing: "0.03em"
|
|
21121
21230
|
},
|
|
@@ -21132,7 +21241,7 @@ function OverviewField({
|
|
|
21132
21241
|
}
|
|
21133
21242
|
);
|
|
21134
21243
|
}
|
|
21135
|
-
var
|
|
21244
|
+
var C16 = {
|
|
21136
21245
|
cyan: "#00E5FF",
|
|
21137
21246
|
black: "#000",
|
|
21138
21247
|
white: "#fff",
|
|
@@ -21151,10 +21260,10 @@ var G = {
|
|
|
21151
21260
|
descGrey: "#4d5156",
|
|
21152
21261
|
faviconBg: "#e8eaed"};
|
|
21153
21262
|
function charCountColor2(len, min, max) {
|
|
21154
|
-
if (len >= min && len <= max) return
|
|
21155
|
-
if (len > 0 && len < min) return
|
|
21156
|
-
if (len > max) return
|
|
21157
|
-
return
|
|
21263
|
+
if (len >= min && len <= max) return C16.green;
|
|
21264
|
+
if (len > 0 && len < min) return C16.orange;
|
|
21265
|
+
if (len > max) return C16.red;
|
|
21266
|
+
return C16.textSecondary;
|
|
21158
21267
|
}
|
|
21159
21268
|
function truncateText(text, maxChars) {
|
|
21160
21269
|
if (text.length <= maxChars) return text;
|
|
@@ -21209,8 +21318,8 @@ function SerpPreview({
|
|
|
21209
21318
|
padding: "10px 12px",
|
|
21210
21319
|
cursor: "pointer",
|
|
21211
21320
|
borderRadius: 8,
|
|
21212
|
-
border: `2px solid ${
|
|
21213
|
-
backgroundColor:
|
|
21321
|
+
border: `2px solid ${C16.border}`,
|
|
21322
|
+
backgroundColor: C16.surface50,
|
|
21214
21323
|
userSelect: "none"
|
|
21215
21324
|
},
|
|
21216
21325
|
children: [
|
|
@@ -21225,7 +21334,7 @@ function SerpPreview({
|
|
|
21225
21334
|
fontWeight: 800,
|
|
21226
21335
|
textTransform: "uppercase",
|
|
21227
21336
|
letterSpacing: "0.04em",
|
|
21228
|
-
color:
|
|
21337
|
+
color: C16.textPrimary
|
|
21229
21338
|
},
|
|
21230
21339
|
children: [
|
|
21231
21340
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -21257,7 +21366,7 @@ function SerpPreview({
|
|
|
21257
21366
|
transition: "transform 0.2s",
|
|
21258
21367
|
display: "inline-block",
|
|
21259
21368
|
transform: open ? "rotate(90deg)" : "none",
|
|
21260
|
-
color:
|
|
21369
|
+
color: C16.textSecondary
|
|
21261
21370
|
},
|
|
21262
21371
|
children: "\u25B6"
|
|
21263
21372
|
}
|
|
@@ -21290,10 +21399,10 @@ function SerpPreview({
|
|
|
21290
21399
|
"div",
|
|
21291
21400
|
{
|
|
21292
21401
|
style: {
|
|
21293
|
-
backgroundColor:
|
|
21294
|
-
border: `2px solid ${
|
|
21402
|
+
backgroundColor: C16.white,
|
|
21403
|
+
border: `2px solid ${C16.border}`,
|
|
21295
21404
|
borderRadius: 12,
|
|
21296
|
-
boxShadow: `3px 3px 0 0 ${
|
|
21405
|
+
boxShadow: `3px 3px 0 0 ${C16.border}`,
|
|
21297
21406
|
padding: isDesktop ? 20 : 14,
|
|
21298
21407
|
maxWidth: isDesktop ? 650 : 380,
|
|
21299
21408
|
overflow: "hidden"
|
|
@@ -21356,7 +21465,7 @@ function SerpPreview({
|
|
|
21356
21465
|
style: {
|
|
21357
21466
|
fontSize: 14,
|
|
21358
21467
|
fontWeight: 400,
|
|
21359
|
-
color:
|
|
21468
|
+
color: C16.black,
|
|
21360
21469
|
lineHeight: 1.3,
|
|
21361
21470
|
whiteSpace: "nowrap",
|
|
21362
21471
|
overflow: "hidden",
|
|
@@ -21420,7 +21529,7 @@ function SerpPreview({
|
|
|
21420
21529
|
"span",
|
|
21421
21530
|
{
|
|
21422
21531
|
style: {
|
|
21423
|
-
color:
|
|
21532
|
+
color: C16.textSecondary,
|
|
21424
21533
|
fontStyle: "italic",
|
|
21425
21534
|
fontSize: titleFontSize - 2
|
|
21426
21535
|
},
|
|
@@ -21449,7 +21558,7 @@ function SerpPreview({
|
|
|
21449
21558
|
"span",
|
|
21450
21559
|
{
|
|
21451
21560
|
style: {
|
|
21452
|
-
color:
|
|
21561
|
+
color: C16.textSecondary,
|
|
21453
21562
|
fontStyle: "italic",
|
|
21454
21563
|
fontSize: descFontSize - 1
|
|
21455
21564
|
},
|
|
@@ -21482,7 +21591,7 @@ function SerpPreview({
|
|
|
21482
21591
|
fontSize: 11
|
|
21483
21592
|
},
|
|
21484
21593
|
children: [
|
|
21485
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color:
|
|
21594
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: C16.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewTitle }),
|
|
21486
21595
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21487
21596
|
"span",
|
|
21488
21597
|
{
|
|
@@ -21511,7 +21620,7 @@ function SerpPreview({
|
|
|
21511
21620
|
fontSize: 11
|
|
21512
21621
|
},
|
|
21513
21622
|
children: [
|
|
21514
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color:
|
|
21623
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: C16.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewDescription }),
|
|
21515
21624
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21516
21625
|
"span",
|
|
21517
21626
|
{
|
|
@@ -21540,14 +21649,14 @@ function SerpPreview({
|
|
|
21540
21649
|
fontSize: 11
|
|
21541
21650
|
},
|
|
21542
21651
|
children: [
|
|
21543
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color:
|
|
21652
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: C16.textSecondary, fontWeight: 600 }, children: t.serpPreview.url }),
|
|
21544
21653
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21545
21654
|
"span",
|
|
21546
21655
|
{
|
|
21547
21656
|
style: {
|
|
21548
21657
|
fontWeight: 700,
|
|
21549
21658
|
fontVariantNumeric: "tabular-nums",
|
|
21550
|
-
color: fullUrl.length <= 75 ?
|
|
21659
|
+
color: fullUrl.length <= 75 ? C16.green : C16.red
|
|
21551
21660
|
},
|
|
21552
21661
|
children: [
|
|
21553
21662
|
fullUrl.length,
|
|
@@ -21582,13 +21691,13 @@ function DeviceButton({
|
|
|
21582
21691
|
gap: 5,
|
|
21583
21692
|
padding: "4px 12px",
|
|
21584
21693
|
borderRadius: 6,
|
|
21585
|
-
border: `2px solid ${
|
|
21694
|
+
border: `2px solid ${C16.border}`,
|
|
21586
21695
|
fontSize: 11,
|
|
21587
21696
|
fontWeight: 700,
|
|
21588
21697
|
cursor: "pointer",
|
|
21589
|
-
backgroundColor: active ?
|
|
21590
|
-
color: active ?
|
|
21591
|
-
boxShadow: active ? `2px 2px 0 0 ${
|
|
21698
|
+
backgroundColor: active ? C16.cyan : C16.surfaceBg,
|
|
21699
|
+
color: active ? C16.black : C16.textPrimary,
|
|
21700
|
+
boxShadow: active ? `2px 2px 0 0 ${C16.border}` : "none",
|
|
21592
21701
|
transition: "background-color 0.15s"
|
|
21593
21702
|
},
|
|
21594
21703
|
children: [
|