@consilioweb/payload-seo-analyzer 1.12.0 → 1.13.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/README.md +1 -0
- package/dist/client.cjs +347 -145
- package/dist/client.js +347 -145
- package/dist/index.cjs +133 -1
- package/dist/index.js +133 -1
- package/package.json +1 -1
package/dist/client.cjs
CHANGED
|
@@ -17355,9 +17355,210 @@ var C7 = {
|
|
|
17355
17355
|
green: "#22c55e",
|
|
17356
17356
|
red: "#ef4444",
|
|
17357
17357
|
amber: "#f59e0b",
|
|
17358
|
-
|
|
17358
|
+
violet: "#7c3aed"
|
|
17359
17359
|
};
|
|
17360
17360
|
var S4 = {
|
|
17361
|
+
fr: {
|
|
17362
|
+
title: "Opportunit\xE9s CTR (faible clic / bonne position)",
|
|
17363
|
+
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.",
|
|
17364
|
+
needGsc: "Connectez Google Search Console ci-dessus pour activer les opportunit\xE9s CTR.",
|
|
17365
|
+
none: "Aucune opportunit\xE9 d\xE9tect\xE9e sur la p\xE9riode. \u{1F389}",
|
|
17366
|
+
loading: "Analyse des donn\xE9es GSC\u2026",
|
|
17367
|
+
page: "Page",
|
|
17368
|
+
pos: "Pos.",
|
|
17369
|
+
ctr: "CTR",
|
|
17370
|
+
expected: "attendu",
|
|
17371
|
+
potential: "Clics/mois potentiels",
|
|
17372
|
+
optimize: "Optimiser",
|
|
17373
|
+
optimizing: "\u2026",
|
|
17374
|
+
apply: "Appliquer",
|
|
17375
|
+
applied: "Appliqu\xE9 \u2713",
|
|
17376
|
+
noKey: "Cl\xE9 API Claude requise (ANTHROPIC_API_KEY).",
|
|
17377
|
+
open: "Ouvrir",
|
|
17378
|
+
refresh: "Rafra\xEEchir"
|
|
17379
|
+
},
|
|
17380
|
+
en: {
|
|
17381
|
+
title: "CTR opportunities (low clicks / good rank)",
|
|
17382
|
+
subtitle: "Pages that rank well but get few clicks (weak meta). Google Search Console data \u2192 targeted meta rewrite.",
|
|
17383
|
+
needGsc: "Connect Google Search Console above to enable CTR opportunities.",
|
|
17384
|
+
none: "No opportunities for the period. \u{1F389}",
|
|
17385
|
+
loading: "Analyzing GSC data\u2026",
|
|
17386
|
+
page: "Page",
|
|
17387
|
+
pos: "Pos.",
|
|
17388
|
+
ctr: "CTR",
|
|
17389
|
+
expected: "expected",
|
|
17390
|
+
potential: "Potential clicks/mo",
|
|
17391
|
+
optimize: "Optimize",
|
|
17392
|
+
optimizing: "\u2026",
|
|
17393
|
+
apply: "Apply",
|
|
17394
|
+
applied: "Applied \u2713",
|
|
17395
|
+
noKey: "Claude API key required (ANTHROPIC_API_KEY).",
|
|
17396
|
+
open: "Open",
|
|
17397
|
+
refresh: "Refresh"
|
|
17398
|
+
}
|
|
17399
|
+
};
|
|
17400
|
+
function CtrOpportunitiesPanel({ locale }) {
|
|
17401
|
+
const s = S4[locale] ?? S4.fr;
|
|
17402
|
+
const [opps, setOpps] = React4.useState(null);
|
|
17403
|
+
const [loading, setLoading] = React4.useState(true);
|
|
17404
|
+
const [notConnected, setNotConnected] = React4.useState(false);
|
|
17405
|
+
const [error, setError] = React4.useState(null);
|
|
17406
|
+
const [state, setState] = React4.useState({});
|
|
17407
|
+
const load = React4.useCallback(async () => {
|
|
17408
|
+
setLoading(true);
|
|
17409
|
+
setError(null);
|
|
17410
|
+
try {
|
|
17411
|
+
const res = await fetch("/api/seo-plugin/ctr-opportunities", { credentials: "include", cache: "no-store" });
|
|
17412
|
+
if (res.status === 403 || res.status === 409 || res.status === 400) {
|
|
17413
|
+
setNotConnected(true);
|
|
17414
|
+
return;
|
|
17415
|
+
}
|
|
17416
|
+
const json = await res.json();
|
|
17417
|
+
if (!res.ok) {
|
|
17418
|
+
setError(json.error || `Error ${res.status}`);
|
|
17419
|
+
return;
|
|
17420
|
+
}
|
|
17421
|
+
setNotConnected(false);
|
|
17422
|
+
setOpps(json.opportunities || []);
|
|
17423
|
+
} catch (e) {
|
|
17424
|
+
setError(e instanceof Error ? e.message : "Network error");
|
|
17425
|
+
} finally {
|
|
17426
|
+
setLoading(false);
|
|
17427
|
+
}
|
|
17428
|
+
}, []);
|
|
17429
|
+
React4.useEffect(() => {
|
|
17430
|
+
void load();
|
|
17431
|
+
}, [load]);
|
|
17432
|
+
const setRow = (url, patch) => setState((p) => ({ ...p, [url]: { ...p[url], ...patch } }));
|
|
17433
|
+
const optimize = async (o) => {
|
|
17434
|
+
if (!o.doc) return;
|
|
17435
|
+
setRow(o.url, { busy: true, error: void 0 });
|
|
17436
|
+
try {
|
|
17437
|
+
const res = await fetch("/api/seo-plugin/ai-optimize", {
|
|
17438
|
+
method: "POST",
|
|
17439
|
+
credentials: "include",
|
|
17440
|
+
headers: { "Content-Type": "application/json" },
|
|
17441
|
+
body: JSON.stringify({ collection: o.doc.collection, id: o.doc.id })
|
|
17442
|
+
});
|
|
17443
|
+
const json = await res.json();
|
|
17444
|
+
if (!res.ok) {
|
|
17445
|
+
setRow(o.url, { busy: false, error: json.code === "no_api_key" ? s.noKey : json.error || `Error ${res.status}` });
|
|
17446
|
+
return;
|
|
17447
|
+
}
|
|
17448
|
+
setRow(o.url, { busy: false, suggestion: { ...json.suggestions, current: json.current } });
|
|
17449
|
+
} catch (e) {
|
|
17450
|
+
setRow(o.url, { busy: false, error: e instanceof Error ? e.message : "Network error" });
|
|
17451
|
+
}
|
|
17452
|
+
};
|
|
17453
|
+
const apply = async (o) => {
|
|
17454
|
+
const rs = state[o.url];
|
|
17455
|
+
if (!o.doc || !rs?.suggestion) return;
|
|
17456
|
+
setRow(o.url, { busy: true, error: void 0 });
|
|
17457
|
+
const patch = {};
|
|
17458
|
+
if (rs.suggestion.metaTitle || rs.suggestion.metaDescription) {
|
|
17459
|
+
patch.meta = { title: rs.suggestion.metaTitle, description: rs.suggestion.metaDescription };
|
|
17460
|
+
}
|
|
17461
|
+
if (rs.suggestion.focusKeyword && rs.suggestion.focusKeyword !== rs.suggestion.current?.focusKeyword) {
|
|
17462
|
+
patch.focusKeyword = rs.suggestion.focusKeyword;
|
|
17463
|
+
}
|
|
17464
|
+
try {
|
|
17465
|
+
await fetch(`/api/${o.doc.collection}/${o.doc.id}`, {
|
|
17466
|
+
method: "PATCH",
|
|
17467
|
+
credentials: "include",
|
|
17468
|
+
headers: { "Content-Type": "application/json" },
|
|
17469
|
+
body: JSON.stringify(patch)
|
|
17470
|
+
});
|
|
17471
|
+
setRow(o.url, { busy: false, applied: true });
|
|
17472
|
+
} catch (e) {
|
|
17473
|
+
setRow(o.url, { busy: false, error: e instanceof Error ? e.message : "Network error" });
|
|
17474
|
+
}
|
|
17475
|
+
};
|
|
17476
|
+
const card = { padding: 16, borderRadius: 12, border: `1px solid ${C7.border}`, backgroundColor: C7.card, marginBottom: 20 };
|
|
17477
|
+
const btn = (bg) => ({
|
|
17478
|
+
padding: "5px 10px",
|
|
17479
|
+
borderRadius: 6,
|
|
17480
|
+
border: `1px solid ${bg}`,
|
|
17481
|
+
backgroundColor: bg,
|
|
17482
|
+
color: "#fff",
|
|
17483
|
+
fontSize: 11,
|
|
17484
|
+
fontWeight: 700,
|
|
17485
|
+
cursor: "pointer"
|
|
17486
|
+
});
|
|
17487
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17488
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", gap: 8, flexWrap: "wrap" }, children: [
|
|
17489
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17490
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C7.text }, children: s.title }),
|
|
17491
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C7.sub, marginTop: 2 }, children: s.subtitle })
|
|
17492
|
+
] }),
|
|
17493
|
+
!notConnected && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void load(), style: btn(C7.sub), children: s.refresh })
|
|
17494
|
+
] }),
|
|
17495
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C7.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
17496
|
+
notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C7.sub }, children: s.needGsc }),
|
|
17497
|
+
loading && !notConnected && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C7.sub }, children: s.loading }),
|
|
17498
|
+
!loading && !notConnected && opps && opps.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C7.sub }, children: s.none }),
|
|
17499
|
+
!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: C7.sub }, children: [
|
|
17501
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px" }, children: s.page }),
|
|
17502
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.pos }),
|
|
17503
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.ctr }),
|
|
17504
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px", textAlign: "right" }, children: s.potential }),
|
|
17505
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { style: { padding: "6px 8px" } })
|
|
17506
|
+
] }) }),
|
|
17507
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: opps.slice(0, 50).map((o) => {
|
|
17508
|
+
const rs = state[o.url] || {};
|
|
17509
|
+
const path = (() => {
|
|
17510
|
+
try {
|
|
17511
|
+
return new URL(o.url).pathname;
|
|
17512
|
+
} catch {
|
|
17513
|
+
return o.url;
|
|
17514
|
+
}
|
|
17515
|
+
})();
|
|
17516
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(React4__default.default.Fragment, { children: [
|
|
17517
|
+
/* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderTop: `1px solid ${C7.border}`, color: C7.text }, children: [
|
|
17518
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", maxWidth: 320, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: path }),
|
|
17519
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right" }, children: o.position.toFixed(1) }),
|
|
17520
|
+
/* @__PURE__ */ jsxRuntime.jsxs("td", { style: { padding: "6px 8px", textAlign: "right" }, children: [
|
|
17521
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: C7.red }, children: [
|
|
17522
|
+
(o.ctr * 100).toFixed(1),
|
|
17523
|
+
"%"
|
|
17524
|
+
] }),
|
|
17525
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: C7.sub }, children: [
|
|
17526
|
+
" / ",
|
|
17527
|
+
(o.expectedCtr * 100).toFixed(0),
|
|
17528
|
+
"% ",
|
|
17529
|
+
s.expected
|
|
17530
|
+
] })
|
|
17531
|
+
] }),
|
|
17532
|
+
/* @__PURE__ */ jsxRuntime.jsxs("td", { style: { padding: "6px 8px", textAlign: "right", fontWeight: 700, color: C7.amber }, children: [
|
|
17533
|
+
"+",
|
|
17534
|
+
o.potentialClicks
|
|
17535
|
+
] }),
|
|
17536
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "6px 8px", textAlign: "right" }, children: rs.applied ? /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, fontWeight: 700, color: C7.green }, children: s.applied }) : o.doc ? rs.suggestion ? /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void apply(o), disabled: rs.busy, style: btn(C7.green), children: rs.busy ? s.optimizing : s.apply }) : /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void optimize(o), disabled: rs.busy, style: btn(C7.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: C7.sub }, children: [
|
|
17537
|
+
s.open,
|
|
17538
|
+
" \u2197"
|
|
17539
|
+
] }) })
|
|
17540
|
+
] }),
|
|
17541
|
+
rs.suggestion && !rs.applied && /* @__PURE__ */ jsxRuntime.jsx("tr", { style: { color: C7.text }, children: /* @__PURE__ */ jsxRuntime.jsxs("td", { colSpan: 5, style: { padding: "0 8px 8px 8px" }, children: [
|
|
17542
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C7.green, fontWeight: 600 }, children: rs.suggestion.metaTitle }),
|
|
17543
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C7.sub }, children: rs.suggestion.metaDescription })
|
|
17544
|
+
] }) }),
|
|
17545
|
+
rs.error && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 5, style: { padding: "0 8px 6px 8px", fontSize: 11, color: C7.red }, children: rs.error }) })
|
|
17546
|
+
] }, o.url);
|
|
17547
|
+
}) })
|
|
17548
|
+
] }) })
|
|
17549
|
+
] });
|
|
17550
|
+
}
|
|
17551
|
+
var C8 = {
|
|
17552
|
+
text: "var(--theme-text, #1a1a1a)",
|
|
17553
|
+
sub: "var(--theme-elevation-600, #6b7280)",
|
|
17554
|
+
card: "var(--theme-elevation-50, #f9fafb)",
|
|
17555
|
+
border: "var(--theme-elevation-200, #e5e7eb)",
|
|
17556
|
+
green: "#22c55e",
|
|
17557
|
+
red: "#ef4444",
|
|
17558
|
+
amber: "#f59e0b",
|
|
17559
|
+
blue: "#3b82f6"
|
|
17560
|
+
};
|
|
17561
|
+
var S5 = {
|
|
17361
17562
|
fr: {
|
|
17362
17563
|
title: "Monitoring & alertes",
|
|
17363
17564
|
subtitle: "Digest p\xE9riodique : r\xE9gressions de score, nouveaux 404, chutes de position (webhook / email).",
|
|
@@ -17400,7 +17601,7 @@ var S4 = {
|
|
|
17400
17601
|
}
|
|
17401
17602
|
};
|
|
17402
17603
|
function AlertsPanel({ locale }) {
|
|
17403
|
-
const s =
|
|
17604
|
+
const s = S5[locale] ?? S5.fr;
|
|
17404
17605
|
const [digest, setDigest] = React4.useState(null);
|
|
17405
17606
|
const [config, setConfig] = React4.useState(null);
|
|
17406
17607
|
const [loading, setLoading] = React4.useState(true);
|
|
@@ -17455,15 +17656,15 @@ function AlertsPanel({ locale }) {
|
|
|
17455
17656
|
const card = {
|
|
17456
17657
|
padding: 16,
|
|
17457
17658
|
borderRadius: 12,
|
|
17458
|
-
border: `1px solid ${
|
|
17459
|
-
backgroundColor:
|
|
17659
|
+
border: `1px solid ${C8.border}`,
|
|
17660
|
+
backgroundColor: C8.card,
|
|
17460
17661
|
marginBottom: 20
|
|
17461
17662
|
};
|
|
17462
17663
|
const btn = {
|
|
17463
17664
|
padding: "8px 12px",
|
|
17464
17665
|
borderRadius: 8,
|
|
17465
|
-
border: `1px solid ${
|
|
17466
|
-
backgroundColor:
|
|
17666
|
+
border: `1px solid ${C8.blue}`,
|
|
17667
|
+
backgroundColor: C8.blue,
|
|
17467
17668
|
color: "#fff",
|
|
17468
17669
|
fontSize: 12,
|
|
17469
17670
|
fontWeight: 700,
|
|
@@ -17476,32 +17677,32 @@ function AlertsPanel({ locale }) {
|
|
|
17476
17677
|
padding: "3px 8px",
|
|
17477
17678
|
borderRadius: 999,
|
|
17478
17679
|
color: "#fff",
|
|
17479
|
-
backgroundColor: ok ?
|
|
17680
|
+
backgroundColor: ok ? C8.green : C8.sub,
|
|
17480
17681
|
marginRight: 6
|
|
17481
17682
|
});
|
|
17482
17683
|
const hasChannel = config && (config.webhookConfigured || config.emailConfigured);
|
|
17483
17684
|
const list = (title, rows) => rows.length ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 10 }, children: [
|
|
17484
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, fontWeight: 700, color:
|
|
17685
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, fontWeight: 700, color: C8.text, marginBottom: 4 }, children: [
|
|
17485
17686
|
title,
|
|
17486
17687
|
" ",
|
|
17487
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color:
|
|
17688
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { color: C8.amber }, children: [
|
|
17488
17689
|
"(",
|
|
17489
17690
|
rows.length,
|
|
17490
17691
|
")"
|
|
17491
17692
|
] })
|
|
17492
17693
|
] }),
|
|
17493
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color:
|
|
17694
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color: C8.sub, lineHeight: 1.6 }, children: rows.slice(0, 8).map((r, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: r }, i)) })
|
|
17494
17695
|
] }) : null;
|
|
17495
17696
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17496
17697
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, flexWrap: "wrap" }, children: [
|
|
17497
17698
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17498
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17499
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17699
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C8.text }, children: s.title }),
|
|
17700
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C8.sub, marginTop: 2 }, children: s.subtitle })
|
|
17500
17701
|
] }),
|
|
17501
17702
|
hasChannel && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: sendNow, disabled: busy, style: btn, children: busy ? s.sending : s.sendNow })
|
|
17502
17703
|
] }),
|
|
17503
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
17504
|
-
notice && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
17704
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C8.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
17705
|
+
notice && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C8.green, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: notice }),
|
|
17505
17706
|
config && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17506
17707
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: chip(config.webhookConfigured, s.webhook), children: [
|
|
17507
17708
|
s.webhook,
|
|
@@ -17514,15 +17715,15 @@ function AlertsPanel({ locale }) {
|
|
|
17514
17715
|
config.emailConfigured ? s.configured : s.missing
|
|
17515
17716
|
] })
|
|
17516
17717
|
] }),
|
|
17517
|
-
!loading && !hasChannel && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17518
|
-
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17718
|
+
!loading && !hasChannel && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C8.sub }, children: s.notConfigured }),
|
|
17719
|
+
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C8.sub }, children: s.loading }),
|
|
17519
17720
|
digest && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 8 }, children: [
|
|
17520
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color:
|
|
17721
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color: C8.sub, marginTop: 6 }, children: [
|
|
17521
17722
|
digest.totalIssues,
|
|
17522
17723
|
" ",
|
|
17523
17724
|
s.issues
|
|
17524
17725
|
] }),
|
|
17525
|
-
digest.totalIssues === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 8, fontSize: 13, color:
|
|
17726
|
+
digest.totalIssues === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 8, fontSize: 13, color: C8.sub }, children: s.noIssues }),
|
|
17526
17727
|
list(
|
|
17527
17728
|
s.scoreReg,
|
|
17528
17729
|
digest.scoreRegressions.map((r) => `${r.collection}/${r.documentId} \u2014 ${r.from} \u2192 ${r.to} (\u2212${r.drop})`)
|
|
@@ -17532,7 +17733,7 @@ function AlertsPanel({ locale }) {
|
|
|
17532
17733
|
] })
|
|
17533
17734
|
] });
|
|
17534
17735
|
}
|
|
17535
|
-
var
|
|
17736
|
+
var C9 = {
|
|
17536
17737
|
text: "var(--theme-text, #1a1a1a)",
|
|
17537
17738
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
17538
17739
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -17542,7 +17743,7 @@ var C8 = {
|
|
|
17542
17743
|
red: "#ef4444",
|
|
17543
17744
|
violet: "#7c3aed"
|
|
17544
17745
|
};
|
|
17545
|
-
var
|
|
17746
|
+
var S6 = {
|
|
17546
17747
|
fr: {
|
|
17547
17748
|
title: "Alt-text IA des images",
|
|
17548
17749
|
subtitle: "G\xE9n\xE8re l'attribut alt des images qui n'en ont pas (Claude vision), pour l'accessibilit\xE9 et le SEO.",
|
|
@@ -17575,7 +17776,7 @@ var S5 = {
|
|
|
17575
17776
|
}
|
|
17576
17777
|
};
|
|
17577
17778
|
function AltTextPanel({ locale }) {
|
|
17578
|
-
const s =
|
|
17779
|
+
const s = S6[locale] ?? S6.fr;
|
|
17579
17780
|
const [items, setItems] = React4.useState(null);
|
|
17580
17781
|
const [collection, setCollection] = React4.useState("media");
|
|
17581
17782
|
const [missingCount, setMissingCount] = React4.useState(0);
|
|
@@ -17652,8 +17853,8 @@ function AltTextPanel({ locale }) {
|
|
|
17652
17853
|
const card = {
|
|
17653
17854
|
padding: 16,
|
|
17654
17855
|
borderRadius: 12,
|
|
17655
|
-
border: `1px solid ${
|
|
17656
|
-
backgroundColor:
|
|
17856
|
+
border: `1px solid ${C9.border}`,
|
|
17857
|
+
backgroundColor: C9.card,
|
|
17657
17858
|
marginBottom: 20
|
|
17658
17859
|
};
|
|
17659
17860
|
const btn = (bg) => ({
|
|
@@ -17669,18 +17870,18 @@ function AltTextPanel({ locale }) {
|
|
|
17669
17870
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
17670
17871
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, flexWrap: "wrap" }, children: [
|
|
17671
17872
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17672
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
17673
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17873
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C9.text }, children: s.title }),
|
|
17874
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C9.sub, marginTop: 2 }, children: s.subtitle })
|
|
17674
17875
|
] }),
|
|
17675
|
-
status === "ok" && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void load(), style: btn(
|
|
17876
|
+
status === "ok" && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void load(), style: btn(C9.sub), children: s.refresh })
|
|
17676
17877
|
] }),
|
|
17677
|
-
status === "forbidden" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17678
|
-
status === "disabled" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color:
|
|
17878
|
+
status === "forbidden" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C9.sub }, children: s.forbidden }),
|
|
17879
|
+
status === "disabled" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: 12, fontSize: 13, color: C9.sub }, children: s.disabled }),
|
|
17679
17880
|
status === "ok" && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 12 }, children: [
|
|
17680
|
-
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17681
|
-
!loading && items && items.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color:
|
|
17881
|
+
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C9.sub }, children: s.loading }),
|
|
17882
|
+
!loading && items && items.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 13, color: C9.sub }, children: s.none }),
|
|
17682
17883
|
!loading && items && items.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
17683
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color:
|
|
17884
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color: C9.sub, marginBottom: 10 }, children: [
|
|
17684
17885
|
missingCount,
|
|
17685
17886
|
" ",
|
|
17686
17887
|
s.missing
|
|
@@ -17696,8 +17897,8 @@ function AltTextPanel({ locale }) {
|
|
|
17696
17897
|
alignItems: "center",
|
|
17697
17898
|
padding: 8,
|
|
17698
17899
|
borderRadius: 8,
|
|
17699
|
-
border: `1px solid ${
|
|
17700
|
-
backgroundColor:
|
|
17900
|
+
border: `1px solid ${C9.border}`,
|
|
17901
|
+
backgroundColor: C9.bg
|
|
17701
17902
|
},
|
|
17702
17903
|
children: [
|
|
17703
17904
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -17705,11 +17906,11 @@ function AltTextPanel({ locale }) {
|
|
|
17705
17906
|
{
|
|
17706
17907
|
src: item.url,
|
|
17707
17908
|
alt: "",
|
|
17708
|
-
style: { width: 48, height: 48, objectFit: "cover", borderRadius: 6, flexShrink: 0, border: `1px solid ${
|
|
17909
|
+
style: { width: 48, height: 48, objectFit: "cover", borderRadius: 6, flexShrink: 0, border: `1px solid ${C9.border}` }
|
|
17709
17910
|
}
|
|
17710
17911
|
),
|
|
17711
17912
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
17712
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color:
|
|
17913
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C9.sub, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: item.filename }),
|
|
17713
17914
|
rs.alt !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
17714
17915
|
"input",
|
|
17715
17916
|
{
|
|
@@ -17723,15 +17924,15 @@ function AltTextPanel({ locale }) {
|
|
|
17723
17924
|
padding: "4px 8px",
|
|
17724
17925
|
fontSize: 12,
|
|
17725
17926
|
borderRadius: 6,
|
|
17726
|
-
border: `1px solid ${
|
|
17727
|
-
backgroundColor:
|
|
17728
|
-
color:
|
|
17927
|
+
border: `1px solid ${C9.border}`,
|
|
17928
|
+
backgroundColor: C9.bg,
|
|
17929
|
+
color: C9.text
|
|
17729
17930
|
}
|
|
17730
17931
|
}
|
|
17731
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
17732
|
-
rs.error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color:
|
|
17932
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C9.sub, marginTop: 4, fontStyle: "italic" }, children: "\u2014" }),
|
|
17933
|
+
rs.error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, color: C9.red, marginTop: 2 }, children: rs.error })
|
|
17733
17934
|
] }),
|
|
17734
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { flexShrink: 0 }, children: rs.applied ? /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, fontWeight: 700, color:
|
|
17935
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { flexShrink: 0 }, children: rs.applied ? /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, fontWeight: 700, color: C9.green }, children: s.applied }) : rs.alt !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void apply(item), disabled: rs.busy, style: btn(C9.green), children: rs.busy ? s.generating : s.apply }) : /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void generate(item), disabled: rs.busy, style: btn(C9.violet), children: rs.busy ? s.generating : s.generate }) })
|
|
17735
17936
|
]
|
|
17736
17937
|
},
|
|
17737
17938
|
item.id
|
|
@@ -18156,6 +18357,7 @@ function PerformanceView() {
|
|
|
18156
18357
|
/* @__PURE__ */ jsxRuntime.jsx(CoreWebVitalsPanel, { locale }),
|
|
18157
18358
|
/* @__PURE__ */ jsxRuntime.jsx(GscPanel, { locale }),
|
|
18158
18359
|
/* @__PURE__ */ jsxRuntime.jsx(RankTrackingPanel, { locale }),
|
|
18360
|
+
/* @__PURE__ */ jsxRuntime.jsx(CtrOpportunitiesPanel, { locale }),
|
|
18159
18361
|
/* @__PURE__ */ jsxRuntime.jsx(AlertsPanel, { locale }),
|
|
18160
18362
|
/* @__PURE__ */ jsxRuntime.jsx(AltTextPanel, { locale }),
|
|
18161
18363
|
showImport && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -18681,7 +18883,7 @@ function PerformanceView() {
|
|
|
18681
18883
|
}
|
|
18682
18884
|
);
|
|
18683
18885
|
}
|
|
18684
|
-
var
|
|
18886
|
+
var C10 = {
|
|
18685
18887
|
text: "var(--theme-text, #1a1a1a)",
|
|
18686
18888
|
sub: "var(--theme-elevation-600, #6b7280)",
|
|
18687
18889
|
card: "var(--theme-elevation-50, #f9fafb)",
|
|
@@ -18691,7 +18893,7 @@ var C9 = {
|
|
|
18691
18893
|
red: "#ef4444",
|
|
18692
18894
|
blue: "#3b82f6"
|
|
18693
18895
|
};
|
|
18694
|
-
var
|
|
18896
|
+
var S7 = {
|
|
18695
18897
|
fr: {
|
|
18696
18898
|
title: "Brief de contenu IA",
|
|
18697
18899
|
subtitle: "G\xE9n\xE8re un plan r\xE9dactionnel optimis\xE9 pour un mot-cl\xE9 (plan, entit\xE9s, questions, longueur cible).",
|
|
@@ -18726,7 +18928,7 @@ var S6 = {
|
|
|
18726
18928
|
}
|
|
18727
18929
|
};
|
|
18728
18930
|
function ContentBriefPanel({ locale }) {
|
|
18729
|
-
const s =
|
|
18931
|
+
const s = S7[locale] ?? S7.fr;
|
|
18730
18932
|
const [keyword, setKeyword] = React4.useState("");
|
|
18731
18933
|
const [brief, setBrief] = React4.useState(null);
|
|
18732
18934
|
const [busy, setBusy] = React4.useState(false);
|
|
@@ -18762,8 +18964,8 @@ function ContentBriefPanel({ locale }) {
|
|
|
18762
18964
|
const card = {
|
|
18763
18965
|
padding: 16,
|
|
18764
18966
|
borderRadius: 12,
|
|
18765
|
-
border: `1px solid ${
|
|
18766
|
-
backgroundColor:
|
|
18967
|
+
border: `1px solid ${C10.border}`,
|
|
18968
|
+
backgroundColor: C10.card,
|
|
18767
18969
|
marginBottom: 20
|
|
18768
18970
|
};
|
|
18769
18971
|
const chip = {
|
|
@@ -18772,14 +18974,14 @@ function ContentBriefPanel({ locale }) {
|
|
|
18772
18974
|
padding: "3px 8px",
|
|
18773
18975
|
borderRadius: 999,
|
|
18774
18976
|
backgroundColor: "rgba(59,130,246,0.12)",
|
|
18775
|
-
color:
|
|
18776
|
-
border: `1px solid ${
|
|
18977
|
+
color: C10.blue,
|
|
18978
|
+
border: `1px solid ${C10.border}`,
|
|
18777
18979
|
margin: "0 6px 6px 0"
|
|
18778
18980
|
};
|
|
18779
|
-
const h4 = { fontSize: 12, fontWeight: 800, color:
|
|
18981
|
+
const h4 = { fontSize: 12, fontWeight: 800, color: C10.text, margin: "14px 0 6px", textTransform: "uppercase" };
|
|
18780
18982
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: card, children: [
|
|
18781
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color:
|
|
18782
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color:
|
|
18983
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C10.text }, children: s.title }),
|
|
18984
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: C10.sub, marginTop: 2, marginBottom: 12 }, children: s.subtitle }),
|
|
18783
18985
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", gap: 8, flexWrap: "wrap" }, children: [
|
|
18784
18986
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18785
18987
|
"input",
|
|
@@ -18796,9 +18998,9 @@ function ContentBriefPanel({ locale }) {
|
|
|
18796
18998
|
padding: "8px 12px",
|
|
18797
18999
|
fontSize: 13,
|
|
18798
19000
|
borderRadius: 8,
|
|
18799
|
-
border: `1px solid ${
|
|
18800
|
-
backgroundColor:
|
|
18801
|
-
color:
|
|
19001
|
+
border: `1px solid ${C10.border}`,
|
|
19002
|
+
backgroundColor: C10.bg,
|
|
19003
|
+
color: C10.text
|
|
18802
19004
|
}
|
|
18803
19005
|
}
|
|
18804
19006
|
),
|
|
@@ -18811,8 +19013,8 @@ function ContentBriefPanel({ locale }) {
|
|
|
18811
19013
|
style: {
|
|
18812
19014
|
padding: "8px 14px",
|
|
18813
19015
|
borderRadius: 8,
|
|
18814
|
-
border: `1px solid ${
|
|
18815
|
-
backgroundColor:
|
|
19016
|
+
border: `1px solid ${C10.violet}`,
|
|
19017
|
+
backgroundColor: C10.violet,
|
|
18816
19018
|
color: "#fff",
|
|
18817
19019
|
fontSize: 12,
|
|
18818
19020
|
fontWeight: 700,
|
|
@@ -18823,12 +19025,12 @@ function ContentBriefPanel({ locale }) {
|
|
|
18823
19025
|
}
|
|
18824
19026
|
)
|
|
18825
19027
|
] }),
|
|
18826
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color:
|
|
19028
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { color: C10.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
18827
19029
|
brief && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: 8 }, children: [
|
|
18828
|
-
brief.recommendedWordCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color:
|
|
19030
|
+
brief.recommendedWordCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: 12, color: C10.sub, marginTop: 10 }, children: [
|
|
18829
19031
|
s.words,
|
|
18830
19032
|
": ",
|
|
18831
|
-
/* @__PURE__ */ jsxRuntime.jsxs("b", { style: { color:
|
|
19033
|
+
/* @__PURE__ */ jsxRuntime.jsxs("b", { style: { color: C10.text }, children: [
|
|
18832
19034
|
"~",
|
|
18833
19035
|
brief.recommendedWordCount,
|
|
18834
19036
|
" ",
|
|
@@ -18837,7 +19039,7 @@ function ContentBriefPanel({ locale }) {
|
|
|
18837
19039
|
] }),
|
|
18838
19040
|
brief.outline.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
18839
19041
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.outline }),
|
|
18840
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color:
|
|
19042
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color: C10.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" ? C10.sub : C10.text, fontWeight: o.level === "h2" ? 700 : 400 }, children: o.text }, i)) })
|
|
18841
19043
|
] }),
|
|
18842
19044
|
brief.entities.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
18843
19045
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.entities }),
|
|
@@ -18845,7 +19047,7 @@ function ContentBriefPanel({ locale }) {
|
|
|
18845
19047
|
] }),
|
|
18846
19048
|
brief.questions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
18847
19049
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.questions }),
|
|
18848
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color:
|
|
19050
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color: C10.text, lineHeight: 1.6 }, children: brief.questions.map((q, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: q }, i)) })
|
|
18849
19051
|
] }),
|
|
18850
19052
|
brief.internalLinkIdeas.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
18851
19053
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.links }),
|
|
@@ -18853,7 +19055,7 @@ function ContentBriefPanel({ locale }) {
|
|
|
18853
19055
|
] }),
|
|
18854
19056
|
brief.notes.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
18855
19057
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: h4, children: s.notes }),
|
|
18856
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color:
|
|
19058
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color: C10.sub, lineHeight: 1.6 }, children: brief.notes.map((n, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: n }, i)) })
|
|
18857
19059
|
] })
|
|
18858
19060
|
] })
|
|
18859
19061
|
] });
|
|
@@ -19995,7 +20197,7 @@ var controlBtnStyle = {
|
|
|
19995
20197
|
cursor: "pointer",
|
|
19996
20198
|
lineHeight: 1.4
|
|
19997
20199
|
};
|
|
19998
|
-
var
|
|
20200
|
+
var C11 = {
|
|
19999
20201
|
cyan: "#00E5FF",
|
|
20000
20202
|
black: "#000",
|
|
20001
20203
|
green: "#22c55e",
|
|
@@ -20010,10 +20212,10 @@ var C10 = {
|
|
|
20010
20212
|
var TITLE_MIN = 30;
|
|
20011
20213
|
var TITLE_MAX = 60;
|
|
20012
20214
|
function getCharColor(len) {
|
|
20013
|
-
if (len === 0) return
|
|
20014
|
-
if (len >= TITLE_MIN && len <= TITLE_MAX) return
|
|
20015
|
-
if (len > 0 && len < TITLE_MIN) return
|
|
20016
|
-
return
|
|
20215
|
+
if (len === 0) return C11.textSecondary;
|
|
20216
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C11.green;
|
|
20217
|
+
if (len > 0 && len < TITLE_MIN) return C11.orange;
|
|
20218
|
+
return C11.red;
|
|
20017
20219
|
}
|
|
20018
20220
|
function getProgressPercent(len) {
|
|
20019
20221
|
if (len === 0) return 0;
|
|
@@ -20021,9 +20223,9 @@ function getProgressPercent(len) {
|
|
|
20021
20223
|
}
|
|
20022
20224
|
function getProgressColor(len) {
|
|
20023
20225
|
if (len === 0) return "var(--theme-elevation-200, #e5e7eb)";
|
|
20024
|
-
if (len >= TITLE_MIN && len <= TITLE_MAX) return
|
|
20025
|
-
if (len < TITLE_MIN) return
|
|
20026
|
-
return
|
|
20226
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C11.green;
|
|
20227
|
+
if (len < TITLE_MIN) return C11.orange;
|
|
20228
|
+
return C11.red;
|
|
20027
20229
|
}
|
|
20028
20230
|
function MetaTitleField({
|
|
20029
20231
|
path,
|
|
@@ -20094,7 +20296,7 @@ function MetaTitleField({
|
|
|
20094
20296
|
style: {
|
|
20095
20297
|
fontSize: 13,
|
|
20096
20298
|
fontWeight: 700,
|
|
20097
|
-
color:
|
|
20299
|
+
color: C11.textPrimary
|
|
20098
20300
|
},
|
|
20099
20301
|
children: t.metaTitle.label
|
|
20100
20302
|
}
|
|
@@ -20134,9 +20336,9 @@ function MetaTitleField({
|
|
|
20134
20336
|
fontSize: 14,
|
|
20135
20337
|
fontFamily: "inherit",
|
|
20136
20338
|
borderRadius: 8,
|
|
20137
|
-
border: `2px solid ${
|
|
20138
|
-
backgroundColor:
|
|
20139
|
-
color:
|
|
20339
|
+
border: `2px solid ${C11.border}`,
|
|
20340
|
+
backgroundColor: C11.surfaceBg,
|
|
20341
|
+
color: C11.textPrimary,
|
|
20140
20342
|
outline: "none",
|
|
20141
20343
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
20142
20344
|
}
|
|
@@ -20154,9 +20356,9 @@ function MetaTitleField({
|
|
|
20154
20356
|
gap: 5,
|
|
20155
20357
|
padding: "8px 14px",
|
|
20156
20358
|
borderRadius: 8,
|
|
20157
|
-
border: `2px solid ${
|
|
20158
|
-
backgroundColor: loading ?
|
|
20159
|
-
color: loading ?
|
|
20359
|
+
border: `2px solid ${C11.border}`,
|
|
20360
|
+
backgroundColor: loading ? C11.surface50 : C11.cyan,
|
|
20361
|
+
color: loading ? C11.textSecondary : C11.black,
|
|
20160
20362
|
fontWeight: 800,
|
|
20161
20363
|
fontSize: 11,
|
|
20162
20364
|
textTransform: "uppercase",
|
|
@@ -20203,7 +20405,7 @@ function MetaTitleField({
|
|
|
20203
20405
|
justifyContent: "space-between",
|
|
20204
20406
|
marginTop: 4,
|
|
20205
20407
|
fontSize: 10,
|
|
20206
|
-
color:
|
|
20408
|
+
color: C11.textSecondary
|
|
20207
20409
|
},
|
|
20208
20410
|
children: [
|
|
20209
20411
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -20237,9 +20439,9 @@ function MetaTitleField({
|
|
|
20237
20439
|
borderRadius: 6,
|
|
20238
20440
|
fontSize: 11,
|
|
20239
20441
|
fontWeight: 600,
|
|
20240
|
-
color:
|
|
20442
|
+
color: C11.red,
|
|
20241
20443
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20242
|
-
border: `1px solid ${
|
|
20444
|
+
border: `1px solid ${C11.red}`
|
|
20243
20445
|
},
|
|
20244
20446
|
children: error
|
|
20245
20447
|
}
|
|
@@ -20248,7 +20450,7 @@ function MetaTitleField({
|
|
|
20248
20450
|
}
|
|
20249
20451
|
);
|
|
20250
20452
|
}
|
|
20251
|
-
var
|
|
20453
|
+
var C12 = {
|
|
20252
20454
|
cyan: "#00E5FF",
|
|
20253
20455
|
black: "#000",
|
|
20254
20456
|
green: "#22c55e",
|
|
@@ -20263,10 +20465,10 @@ var C11 = {
|
|
|
20263
20465
|
var DESC_MIN = 120;
|
|
20264
20466
|
var DESC_MAX = 160;
|
|
20265
20467
|
function getCharColor2(len) {
|
|
20266
|
-
if (len === 0) return
|
|
20267
|
-
if (len >= DESC_MIN && len <= DESC_MAX) return
|
|
20268
|
-
if (len > 0 && len < DESC_MIN) return
|
|
20269
|
-
return
|
|
20468
|
+
if (len === 0) return C12.textSecondary;
|
|
20469
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C12.green;
|
|
20470
|
+
if (len > 0 && len < DESC_MIN) return C12.orange;
|
|
20471
|
+
return C12.red;
|
|
20270
20472
|
}
|
|
20271
20473
|
function getProgressPercent2(len) {
|
|
20272
20474
|
if (len === 0) return 0;
|
|
@@ -20274,9 +20476,9 @@ function getProgressPercent2(len) {
|
|
|
20274
20476
|
}
|
|
20275
20477
|
function getProgressColor2(len) {
|
|
20276
20478
|
if (len === 0) return "var(--theme-elevation-200, #e5e7eb)";
|
|
20277
|
-
if (len >= DESC_MIN && len <= DESC_MAX) return
|
|
20278
|
-
if (len < DESC_MIN) return
|
|
20279
|
-
return
|
|
20479
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C12.green;
|
|
20480
|
+
if (len < DESC_MIN) return C12.orange;
|
|
20481
|
+
return C12.red;
|
|
20280
20482
|
}
|
|
20281
20483
|
function MetaDescriptionField({
|
|
20282
20484
|
path,
|
|
@@ -20347,7 +20549,7 @@ function MetaDescriptionField({
|
|
|
20347
20549
|
style: {
|
|
20348
20550
|
fontSize: 13,
|
|
20349
20551
|
fontWeight: 700,
|
|
20350
|
-
color:
|
|
20552
|
+
color: C12.textPrimary
|
|
20351
20553
|
},
|
|
20352
20554
|
children: t.metaDescription.label
|
|
20353
20555
|
}
|
|
@@ -20387,9 +20589,9 @@ function MetaDescriptionField({
|
|
|
20387
20589
|
fontSize: 14,
|
|
20388
20590
|
fontFamily: "inherit",
|
|
20389
20591
|
borderRadius: 8,
|
|
20390
|
-
border: `2px solid ${
|
|
20391
|
-
backgroundColor:
|
|
20392
|
-
color:
|
|
20592
|
+
border: `2px solid ${C12.border}`,
|
|
20593
|
+
backgroundColor: C12.surfaceBg,
|
|
20594
|
+
color: C12.textPrimary,
|
|
20393
20595
|
outline: "none",
|
|
20394
20596
|
resize: "vertical",
|
|
20395
20597
|
lineHeight: 1.5,
|
|
@@ -20409,9 +20611,9 @@ function MetaDescriptionField({
|
|
|
20409
20611
|
gap: 5,
|
|
20410
20612
|
padding: "8px 14px",
|
|
20411
20613
|
borderRadius: 8,
|
|
20412
|
-
border: `2px solid ${
|
|
20413
|
-
backgroundColor: loading ?
|
|
20414
|
-
color: loading ?
|
|
20614
|
+
border: `2px solid ${C12.border}`,
|
|
20615
|
+
backgroundColor: loading ? C12.surface50 : C12.cyan,
|
|
20616
|
+
color: loading ? C12.textSecondary : C12.black,
|
|
20415
20617
|
fontWeight: 800,
|
|
20416
20618
|
fontSize: 11,
|
|
20417
20619
|
textTransform: "uppercase",
|
|
@@ -20459,7 +20661,7 @@ function MetaDescriptionField({
|
|
|
20459
20661
|
justifyContent: "space-between",
|
|
20460
20662
|
marginTop: 4,
|
|
20461
20663
|
fontSize: 10,
|
|
20462
|
-
color:
|
|
20664
|
+
color: C12.textSecondary
|
|
20463
20665
|
},
|
|
20464
20666
|
children: [
|
|
20465
20667
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
@@ -20493,9 +20695,9 @@ function MetaDescriptionField({
|
|
|
20493
20695
|
borderRadius: 6,
|
|
20494
20696
|
fontSize: 11,
|
|
20495
20697
|
fontWeight: 600,
|
|
20496
|
-
color:
|
|
20698
|
+
color: C12.red,
|
|
20497
20699
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20498
|
-
border: `1px solid ${
|
|
20700
|
+
border: `1px solid ${C12.red}`
|
|
20499
20701
|
},
|
|
20500
20702
|
children: error
|
|
20501
20703
|
}
|
|
@@ -20504,7 +20706,7 @@ function MetaDescriptionField({
|
|
|
20504
20706
|
}
|
|
20505
20707
|
);
|
|
20506
20708
|
}
|
|
20507
|
-
var
|
|
20709
|
+
var C13 = {
|
|
20508
20710
|
cyan: "#00E5FF",
|
|
20509
20711
|
black: "#000",
|
|
20510
20712
|
white: "#fff",
|
|
@@ -20581,8 +20783,8 @@ function MetaImageField({
|
|
|
20581
20783
|
gap: 10,
|
|
20582
20784
|
padding: "10px 14px",
|
|
20583
20785
|
borderRadius: 8,
|
|
20584
|
-
border: `2px solid ${
|
|
20585
|
-
backgroundColor:
|
|
20786
|
+
border: `2px solid ${C13.border}`,
|
|
20787
|
+
backgroundColor: C13.surfaceBg,
|
|
20586
20788
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
20587
20789
|
},
|
|
20588
20790
|
children: [
|
|
@@ -20601,7 +20803,7 @@ function MetaImageField({
|
|
|
20601
20803
|
fontWeight: 900,
|
|
20602
20804
|
backgroundColor: hasImage ? "rgba(34,197,94,0.15)" : "rgba(255,138,0,0.15)",
|
|
20603
20805
|
color: hasImage ? "#16a34a" : "#d97706",
|
|
20604
|
-
border: `1px solid ${hasImage ?
|
|
20806
|
+
border: `1px solid ${hasImage ? C13.green : C13.orange}`
|
|
20605
20807
|
},
|
|
20606
20808
|
children: hasImage ? "\u2713" : "!"
|
|
20607
20809
|
}
|
|
@@ -20613,7 +20815,7 @@ function MetaImageField({
|
|
|
20613
20815
|
style: {
|
|
20614
20816
|
fontSize: 12,
|
|
20615
20817
|
fontWeight: 700,
|
|
20616
|
-
color:
|
|
20818
|
+
color: C13.textPrimary
|
|
20617
20819
|
},
|
|
20618
20820
|
children: t.metaImage.label
|
|
20619
20821
|
}
|
|
@@ -20623,7 +20825,7 @@ function MetaImageField({
|
|
|
20623
20825
|
{
|
|
20624
20826
|
style: {
|
|
20625
20827
|
fontSize: 10,
|
|
20626
|
-
color:
|
|
20828
|
+
color: C13.textSecondary,
|
|
20627
20829
|
lineHeight: 1.4
|
|
20628
20830
|
},
|
|
20629
20831
|
children: hasImage ? t.metaImage.imageSet : t.metaImage.noImage
|
|
@@ -20643,9 +20845,9 @@ function MetaImageField({
|
|
|
20643
20845
|
gap: 5,
|
|
20644
20846
|
padding: "8px 14px",
|
|
20645
20847
|
borderRadius: 8,
|
|
20646
|
-
border: `2px solid ${
|
|
20647
|
-
backgroundColor: loading ?
|
|
20648
|
-
color: loading ?
|
|
20848
|
+
border: `2px solid ${C13.border}`,
|
|
20849
|
+
backgroundColor: loading ? C13.surface50 : success ? C13.green : C13.cyan,
|
|
20850
|
+
color: loading ? C13.textSecondary : success ? C13.white : C13.black,
|
|
20649
20851
|
fontWeight: 800,
|
|
20650
20852
|
fontSize: 11,
|
|
20651
20853
|
textTransform: "uppercase",
|
|
@@ -20672,9 +20874,9 @@ function MetaImageField({
|
|
|
20672
20874
|
borderRadius: 6,
|
|
20673
20875
|
fontSize: 11,
|
|
20674
20876
|
fontWeight: 600,
|
|
20675
|
-
color:
|
|
20877
|
+
color: C13.red,
|
|
20676
20878
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20677
|
-
border: `1px solid ${
|
|
20879
|
+
border: `1px solid ${C13.red}`
|
|
20678
20880
|
},
|
|
20679
20881
|
children: error
|
|
20680
20882
|
}
|
|
@@ -20683,7 +20885,7 @@ function MetaImageField({
|
|
|
20683
20885
|
}
|
|
20684
20886
|
);
|
|
20685
20887
|
}
|
|
20686
|
-
var
|
|
20888
|
+
var C14 = {
|
|
20687
20889
|
black: "#000",
|
|
20688
20890
|
white: "#fff",
|
|
20689
20891
|
green: "#22c55e",
|
|
@@ -20697,15 +20899,15 @@ var C13 = {
|
|
|
20697
20899
|
function getCompletenessColor(count) {
|
|
20698
20900
|
switch (count) {
|
|
20699
20901
|
case 0:
|
|
20700
|
-
return
|
|
20902
|
+
return C14.red;
|
|
20701
20903
|
case 1:
|
|
20702
|
-
return
|
|
20904
|
+
return C14.orange;
|
|
20703
20905
|
case 2:
|
|
20704
|
-
return
|
|
20906
|
+
return C14.yellow;
|
|
20705
20907
|
case 3:
|
|
20706
|
-
return
|
|
20908
|
+
return C14.green;
|
|
20707
20909
|
default:
|
|
20708
|
-
return
|
|
20910
|
+
return C14.textSecondary;
|
|
20709
20911
|
}
|
|
20710
20912
|
}
|
|
20711
20913
|
function getCompletenessLabel(count, ov) {
|
|
@@ -20763,8 +20965,8 @@ function OverviewField({
|
|
|
20763
20965
|
fontFamily: "var(--font-body, Inter, system-ui, sans-serif)",
|
|
20764
20966
|
padding: "12px 14px",
|
|
20765
20967
|
borderRadius: 10,
|
|
20766
|
-
border: `2px solid ${
|
|
20767
|
-
backgroundColor:
|
|
20968
|
+
border: `2px solid ${C14.border}`,
|
|
20969
|
+
backgroundColor: C14.surfaceBg,
|
|
20768
20970
|
boxShadow: "3px 3px 0 0 var(--theme-border-color, rgba(0,0,0,1))",
|
|
20769
20971
|
marginBottom: 12
|
|
20770
20972
|
},
|
|
@@ -20787,7 +20989,7 @@ function OverviewField({
|
|
|
20787
20989
|
fontWeight: 800,
|
|
20788
20990
|
textTransform: "uppercase",
|
|
20789
20991
|
letterSpacing: "0.04em",
|
|
20790
|
-
color:
|
|
20992
|
+
color: C14.textPrimary
|
|
20791
20993
|
},
|
|
20792
20994
|
children: t.overview.metaCompleteness
|
|
20793
20995
|
}
|
|
@@ -20802,8 +21004,8 @@ function OverviewField({
|
|
|
20802
21004
|
fontSize: 11,
|
|
20803
21005
|
fontWeight: 800,
|
|
20804
21006
|
backgroundColor: completenessColor,
|
|
20805
|
-
color: completenessColor ===
|
|
20806
|
-
border: `2px solid ${
|
|
21007
|
+
color: completenessColor === C14.yellow ? C14.black : C14.white,
|
|
21008
|
+
border: `2px solid ${C14.border}`,
|
|
20807
21009
|
textTransform: "uppercase",
|
|
20808
21010
|
letterSpacing: "0.03em"
|
|
20809
21011
|
},
|
|
@@ -20901,7 +21103,7 @@ function OverviewField({
|
|
|
20901
21103
|
style: {
|
|
20902
21104
|
fontSize: 12,
|
|
20903
21105
|
fontWeight: 600,
|
|
20904
|
-
color: item.filled ?
|
|
21106
|
+
color: item.filled ? C14.textPrimary : C14.textSecondary
|
|
20905
21107
|
},
|
|
20906
21108
|
children: item.label
|
|
20907
21109
|
}
|
|
@@ -20913,7 +21115,7 @@ function OverviewField({
|
|
|
20913
21115
|
marginLeft: "auto",
|
|
20914
21116
|
fontSize: 10,
|
|
20915
21117
|
fontWeight: 700,
|
|
20916
|
-
color: item.filled ?
|
|
21118
|
+
color: item.filled ? C14.green : C14.red,
|
|
20917
21119
|
textTransform: "uppercase",
|
|
20918
21120
|
letterSpacing: "0.03em"
|
|
20919
21121
|
},
|
|
@@ -20930,7 +21132,7 @@ function OverviewField({
|
|
|
20930
21132
|
}
|
|
20931
21133
|
);
|
|
20932
21134
|
}
|
|
20933
|
-
var
|
|
21135
|
+
var C15 = {
|
|
20934
21136
|
cyan: "#00E5FF",
|
|
20935
21137
|
black: "#000",
|
|
20936
21138
|
white: "#fff",
|
|
@@ -20949,10 +21151,10 @@ var G = {
|
|
|
20949
21151
|
descGrey: "#4d5156",
|
|
20950
21152
|
faviconBg: "#e8eaed"};
|
|
20951
21153
|
function charCountColor2(len, min, max) {
|
|
20952
|
-
if (len >= min && len <= max) return
|
|
20953
|
-
if (len > 0 && len < min) return
|
|
20954
|
-
if (len > max) return
|
|
20955
|
-
return
|
|
21154
|
+
if (len >= min && len <= max) return C15.green;
|
|
21155
|
+
if (len > 0 && len < min) return C15.orange;
|
|
21156
|
+
if (len > max) return C15.red;
|
|
21157
|
+
return C15.textSecondary;
|
|
20956
21158
|
}
|
|
20957
21159
|
function truncateText(text, maxChars) {
|
|
20958
21160
|
if (text.length <= maxChars) return text;
|
|
@@ -21007,8 +21209,8 @@ function SerpPreview({
|
|
|
21007
21209
|
padding: "10px 12px",
|
|
21008
21210
|
cursor: "pointer",
|
|
21009
21211
|
borderRadius: 8,
|
|
21010
|
-
border: `2px solid ${
|
|
21011
|
-
backgroundColor:
|
|
21212
|
+
border: `2px solid ${C15.border}`,
|
|
21213
|
+
backgroundColor: C15.surface50,
|
|
21012
21214
|
userSelect: "none"
|
|
21013
21215
|
},
|
|
21014
21216
|
children: [
|
|
@@ -21023,7 +21225,7 @@ function SerpPreview({
|
|
|
21023
21225
|
fontWeight: 800,
|
|
21024
21226
|
textTransform: "uppercase",
|
|
21025
21227
|
letterSpacing: "0.04em",
|
|
21026
|
-
color:
|
|
21228
|
+
color: C15.textPrimary
|
|
21027
21229
|
},
|
|
21028
21230
|
children: [
|
|
21029
21231
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -21055,7 +21257,7 @@ function SerpPreview({
|
|
|
21055
21257
|
transition: "transform 0.2s",
|
|
21056
21258
|
display: "inline-block",
|
|
21057
21259
|
transform: open ? "rotate(90deg)" : "none",
|
|
21058
|
-
color:
|
|
21260
|
+
color: C15.textSecondary
|
|
21059
21261
|
},
|
|
21060
21262
|
children: "\u25B6"
|
|
21061
21263
|
}
|
|
@@ -21088,10 +21290,10 @@ function SerpPreview({
|
|
|
21088
21290
|
"div",
|
|
21089
21291
|
{
|
|
21090
21292
|
style: {
|
|
21091
|
-
backgroundColor:
|
|
21092
|
-
border: `2px solid ${
|
|
21293
|
+
backgroundColor: C15.white,
|
|
21294
|
+
border: `2px solid ${C15.border}`,
|
|
21093
21295
|
borderRadius: 12,
|
|
21094
|
-
boxShadow: `3px 3px 0 0 ${
|
|
21296
|
+
boxShadow: `3px 3px 0 0 ${C15.border}`,
|
|
21095
21297
|
padding: isDesktop ? 20 : 14,
|
|
21096
21298
|
maxWidth: isDesktop ? 650 : 380,
|
|
21097
21299
|
overflow: "hidden"
|
|
@@ -21154,7 +21356,7 @@ function SerpPreview({
|
|
|
21154
21356
|
style: {
|
|
21155
21357
|
fontSize: 14,
|
|
21156
21358
|
fontWeight: 400,
|
|
21157
|
-
color:
|
|
21359
|
+
color: C15.black,
|
|
21158
21360
|
lineHeight: 1.3,
|
|
21159
21361
|
whiteSpace: "nowrap",
|
|
21160
21362
|
overflow: "hidden",
|
|
@@ -21218,7 +21420,7 @@ function SerpPreview({
|
|
|
21218
21420
|
"span",
|
|
21219
21421
|
{
|
|
21220
21422
|
style: {
|
|
21221
|
-
color:
|
|
21423
|
+
color: C15.textSecondary,
|
|
21222
21424
|
fontStyle: "italic",
|
|
21223
21425
|
fontSize: titleFontSize - 2
|
|
21224
21426
|
},
|
|
@@ -21247,7 +21449,7 @@ function SerpPreview({
|
|
|
21247
21449
|
"span",
|
|
21248
21450
|
{
|
|
21249
21451
|
style: {
|
|
21250
|
-
color:
|
|
21452
|
+
color: C15.textSecondary,
|
|
21251
21453
|
fontStyle: "italic",
|
|
21252
21454
|
fontSize: descFontSize - 1
|
|
21253
21455
|
},
|
|
@@ -21280,7 +21482,7 @@ function SerpPreview({
|
|
|
21280
21482
|
fontSize: 11
|
|
21281
21483
|
},
|
|
21282
21484
|
children: [
|
|
21283
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color:
|
|
21485
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: C15.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewTitle }),
|
|
21284
21486
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21285
21487
|
"span",
|
|
21286
21488
|
{
|
|
@@ -21309,7 +21511,7 @@ function SerpPreview({
|
|
|
21309
21511
|
fontSize: 11
|
|
21310
21512
|
},
|
|
21311
21513
|
children: [
|
|
21312
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color:
|
|
21514
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: C15.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewDescription }),
|
|
21313
21515
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21314
21516
|
"span",
|
|
21315
21517
|
{
|
|
@@ -21338,14 +21540,14 @@ function SerpPreview({
|
|
|
21338
21540
|
fontSize: 11
|
|
21339
21541
|
},
|
|
21340
21542
|
children: [
|
|
21341
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color:
|
|
21543
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: C15.textSecondary, fontWeight: 600 }, children: t.serpPreview.url }),
|
|
21342
21544
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21343
21545
|
"span",
|
|
21344
21546
|
{
|
|
21345
21547
|
style: {
|
|
21346
21548
|
fontWeight: 700,
|
|
21347
21549
|
fontVariantNumeric: "tabular-nums",
|
|
21348
|
-
color: fullUrl.length <= 75 ?
|
|
21550
|
+
color: fullUrl.length <= 75 ? C15.green : C15.red
|
|
21349
21551
|
},
|
|
21350
21552
|
children: [
|
|
21351
21553
|
fullUrl.length,
|
|
@@ -21380,13 +21582,13 @@ function DeviceButton({
|
|
|
21380
21582
|
gap: 5,
|
|
21381
21583
|
padding: "4px 12px",
|
|
21382
21584
|
borderRadius: 6,
|
|
21383
|
-
border: `2px solid ${
|
|
21585
|
+
border: `2px solid ${C15.border}`,
|
|
21384
21586
|
fontSize: 11,
|
|
21385
21587
|
fontWeight: 700,
|
|
21386
21588
|
cursor: "pointer",
|
|
21387
|
-
backgroundColor: active ?
|
|
21388
|
-
color: active ?
|
|
21389
|
-
boxShadow: active ? `2px 2px 0 0 ${
|
|
21589
|
+
backgroundColor: active ? C15.cyan : C15.surfaceBg,
|
|
21590
|
+
color: active ? C15.black : C15.textPrimary,
|
|
21591
|
+
boxShadow: active ? `2px 2px 0 0 ${C15.border}` : "none",
|
|
21390
21592
|
transition: "background-color 0.15s"
|
|
21391
21593
|
},
|
|
21392
21594
|
children: [
|