@consilioweb/payload-seo-analyzer 1.10.0 → 1.11.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 +4 -0
- package/dist/client.cjs +330 -83
- package/dist/client.js +330 -83
- package/dist/index.cjs +370 -17
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +370 -17
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -1059,6 +1059,9 @@ var fr = {
|
|
|
1059
1059
|
pagesAnalyzed: "pages analys\xE9es",
|
|
1060
1060
|
markCornerstone: "Marquer pilier",
|
|
1061
1061
|
unmarkCornerstone: "D\xE9marquer pilier",
|
|
1062
|
+
bulkOptimizeMeta: "Optimiser m\xE9ta (IA)",
|
|
1063
|
+
bulkOptimizing: "Optimisation\u2026",
|
|
1064
|
+
bulkConfirm: "Confirmer ?",
|
|
1062
1065
|
searchPlaceholder: "Rechercher (titre, slug, keyword)...",
|
|
1063
1066
|
allCollections: "Toutes les collections",
|
|
1064
1067
|
allScores: "Tous les scores",
|
|
@@ -1651,6 +1654,9 @@ var en = {
|
|
|
1651
1654
|
pagesAnalyzed: "pages analyzed",
|
|
1652
1655
|
markCornerstone: "Mark as cornerstone",
|
|
1653
1656
|
unmarkCornerstone: "Unmark cornerstone",
|
|
1657
|
+
bulkOptimizeMeta: "Optimize meta (AI)",
|
|
1658
|
+
bulkOptimizing: "Optimizing\u2026",
|
|
1659
|
+
bulkConfirm: "Confirm?",
|
|
1654
1660
|
searchPlaceholder: "Search (title, slug, keyword)...",
|
|
1655
1661
|
allCollections: "All collections",
|
|
1656
1662
|
allScores: "All scores",
|
|
@@ -9195,8 +9201,11 @@ function BulkActionBar({
|
|
|
9195
9201
|
onExportCsv,
|
|
9196
9202
|
onMarkCornerstone,
|
|
9197
9203
|
onUnmarkCornerstone,
|
|
9204
|
+
onOptimizeMeta,
|
|
9205
|
+
optimizing,
|
|
9198
9206
|
t
|
|
9199
9207
|
}) {
|
|
9208
|
+
const [confirmOptimize, setConfirmOptimize] = useState(false);
|
|
9200
9209
|
if (count === 0) return null;
|
|
9201
9210
|
return /* @__PURE__ */ jsxs(
|
|
9202
9211
|
"div",
|
|
@@ -9242,6 +9251,24 @@ function BulkActionBar({
|
|
|
9242
9251
|
children: t.common.exportCsv
|
|
9243
9252
|
}
|
|
9244
9253
|
),
|
|
9254
|
+
/* @__PURE__ */ jsx(
|
|
9255
|
+
"button",
|
|
9256
|
+
{
|
|
9257
|
+
onClick: () => {
|
|
9258
|
+
if (optimizing) return;
|
|
9259
|
+
if (confirmOptimize) {
|
|
9260
|
+
setConfirmOptimize(false);
|
|
9261
|
+
onOptimizeMeta();
|
|
9262
|
+
} else {
|
|
9263
|
+
setConfirmOptimize(true);
|
|
9264
|
+
setTimeout(() => setConfirmOptimize(false), 4e3);
|
|
9265
|
+
}
|
|
9266
|
+
},
|
|
9267
|
+
disabled: optimizing,
|
|
9268
|
+
style: { ...btnBase, backgroundColor: "#7c3aed", color: "#fff", opacity: optimizing ? 0.6 : 1 },
|
|
9269
|
+
children: optimizing ? t.seoView.bulkOptimizing : confirmOptimize ? t.seoView.bulkConfirm : `\u2728 ${t.seoView.bulkOptimizeMeta}`
|
|
9270
|
+
}
|
|
9271
|
+
),
|
|
9245
9272
|
/* @__PURE__ */ jsx(
|
|
9246
9273
|
"button",
|
|
9247
9274
|
{
|
|
@@ -9282,6 +9309,7 @@ function SeoView() {
|
|
|
9282
9309
|
const [expandedId, setExpandedId] = useState(null);
|
|
9283
9310
|
const [saving, setSaving] = useState(false);
|
|
9284
9311
|
const [saveError, setSaveError] = useState(null);
|
|
9312
|
+
const [bulkOptimizing, setBulkOptimizing] = useState(false);
|
|
9285
9313
|
const PAGE_SIZE = 50;
|
|
9286
9314
|
const fetchAudit = useCallback(async (forceRefresh = false) => {
|
|
9287
9315
|
setLoading(true);
|
|
@@ -9502,6 +9530,45 @@ function SeoView() {
|
|
|
9502
9530
|
},
|
|
9503
9531
|
[selectedIds, fetchAudit]
|
|
9504
9532
|
);
|
|
9533
|
+
const handleBulkOptimizeMeta = useCallback(async () => {
|
|
9534
|
+
const keys = Array.from(selectedIds);
|
|
9535
|
+
if (keys.length === 0) return;
|
|
9536
|
+
setBulkOptimizing(true);
|
|
9537
|
+
for (const key of keys) {
|
|
9538
|
+
const [collection, id] = key.split("::");
|
|
9539
|
+
if (!collection || !id || collection.startsWith("global:")) continue;
|
|
9540
|
+
try {
|
|
9541
|
+
const res = await fetch("/api/seo-plugin/ai-optimize", {
|
|
9542
|
+
method: "POST",
|
|
9543
|
+
headers: { "Content-Type": "application/json" },
|
|
9544
|
+
credentials: "include",
|
|
9545
|
+
body: JSON.stringify({ collection, id })
|
|
9546
|
+
});
|
|
9547
|
+
if (!res.ok) continue;
|
|
9548
|
+
const data = await res.json();
|
|
9549
|
+
const sug = data.suggestions || {};
|
|
9550
|
+
const patch = {};
|
|
9551
|
+
if (sug.metaTitle || sug.metaDescription) {
|
|
9552
|
+
patch.meta = { title: sug.metaTitle, description: sug.metaDescription };
|
|
9553
|
+
}
|
|
9554
|
+
if (sug.focusKeyword && sug.focusKeyword !== data.current?.focusKeyword) {
|
|
9555
|
+
patch.focusKeyword = sug.focusKeyword;
|
|
9556
|
+
}
|
|
9557
|
+
if (Object.keys(patch).length > 0) {
|
|
9558
|
+
await fetch(`/api/${collection}/${id}`, {
|
|
9559
|
+
method: "PATCH",
|
|
9560
|
+
headers: { "Content-Type": "application/json" },
|
|
9561
|
+
credentials: "include",
|
|
9562
|
+
body: JSON.stringify(patch)
|
|
9563
|
+
});
|
|
9564
|
+
}
|
|
9565
|
+
} catch {
|
|
9566
|
+
}
|
|
9567
|
+
}
|
|
9568
|
+
setBulkOptimizing(false);
|
|
9569
|
+
setSelectedIds(/* @__PURE__ */ new Set());
|
|
9570
|
+
fetchAudit();
|
|
9571
|
+
}, [selectedIds, fetchAudit]);
|
|
9505
9572
|
const handleInlineSave = useCallback(
|
|
9506
9573
|
async (item, metaTitle, metaDescription) => {
|
|
9507
9574
|
setSaving(true);
|
|
@@ -10250,6 +10317,8 @@ function SeoView() {
|
|
|
10250
10317
|
onExportCsv: handleBulkExportCsv,
|
|
10251
10318
|
onMarkCornerstone: () => handleBulkCornerstone(true),
|
|
10252
10319
|
onUnmarkCornerstone: () => handleBulkCornerstone(false),
|
|
10320
|
+
onOptimizeMeta: handleBulkOptimizeMeta,
|
|
10321
|
+
optimizing: bulkOptimizing,
|
|
10253
10322
|
t
|
|
10254
10323
|
}
|
|
10255
10324
|
)
|
|
@@ -18469,6 +18538,183 @@ function PerformanceView() {
|
|
|
18469
18538
|
}
|
|
18470
18539
|
);
|
|
18471
18540
|
}
|
|
18541
|
+
var C9 = {
|
|
18542
|
+
text: "var(--theme-text, #1a1a1a)",
|
|
18543
|
+
sub: "var(--theme-elevation-600, #6b7280)",
|
|
18544
|
+
card: "var(--theme-elevation-50, #f9fafb)",
|
|
18545
|
+
bg: "var(--theme-elevation-0, #fff)",
|
|
18546
|
+
border: "var(--theme-elevation-200, #e5e7eb)",
|
|
18547
|
+
violet: "#7c3aed",
|
|
18548
|
+
red: "#ef4444",
|
|
18549
|
+
blue: "#3b82f6"
|
|
18550
|
+
};
|
|
18551
|
+
var S6 = {
|
|
18552
|
+
fr: {
|
|
18553
|
+
title: "Brief de contenu IA",
|
|
18554
|
+
subtitle: "G\xE9n\xE8re un plan r\xE9dactionnel optimis\xE9 pour un mot-cl\xE9 (plan, entit\xE9s, questions, longueur cible).",
|
|
18555
|
+
placeholder: "Mot-cl\xE9 cible (ex : plombier paris)",
|
|
18556
|
+
generate: "G\xE9n\xE9rer le brief",
|
|
18557
|
+
generating: "G\xE9n\xE9ration\u2026",
|
|
18558
|
+
outline: "Plan sugg\xE9r\xE9",
|
|
18559
|
+
entities: "Entit\xE9s / termes \xE0 couvrir",
|
|
18560
|
+
questions: "Questions \xE0 traiter",
|
|
18561
|
+
links: "Id\xE9es de liens internes",
|
|
18562
|
+
words: "Longueur recommand\xE9e",
|
|
18563
|
+
wordsUnit: "mots",
|
|
18564
|
+
notes: "Conseils",
|
|
18565
|
+
noKey: "Cl\xE9 API Claude requise (ANTHROPIC_API_KEY).",
|
|
18566
|
+
disabled: "Fonction IA d\xE9sactiv\xE9e (features.aiFeatures)."
|
|
18567
|
+
},
|
|
18568
|
+
en: {
|
|
18569
|
+
title: "AI content brief",
|
|
18570
|
+
subtitle: "Generate an optimized writing brief for a keyword (outline, entities, questions, target length).",
|
|
18571
|
+
placeholder: "Target keyword (e.g. paris plumber)",
|
|
18572
|
+
generate: "Generate brief",
|
|
18573
|
+
generating: "Generating\u2026",
|
|
18574
|
+
outline: "Suggested outline",
|
|
18575
|
+
entities: "Entities / terms to cover",
|
|
18576
|
+
questions: "Questions to answer",
|
|
18577
|
+
links: "Internal link ideas",
|
|
18578
|
+
words: "Recommended length",
|
|
18579
|
+
wordsUnit: "words",
|
|
18580
|
+
notes: "Tips",
|
|
18581
|
+
noKey: "Claude API key required (ANTHROPIC_API_KEY).",
|
|
18582
|
+
disabled: "AI feature disabled (features.aiFeatures)."
|
|
18583
|
+
}
|
|
18584
|
+
};
|
|
18585
|
+
function ContentBriefPanel({ locale }) {
|
|
18586
|
+
const s = S6[locale] ?? S6.fr;
|
|
18587
|
+
const [keyword, setKeyword] = useState("");
|
|
18588
|
+
const [brief, setBrief] = useState(null);
|
|
18589
|
+
const [busy, setBusy] = useState(false);
|
|
18590
|
+
const [error, setError] = useState(null);
|
|
18591
|
+
const generate = async () => {
|
|
18592
|
+
if (!keyword.trim()) return;
|
|
18593
|
+
setBusy(true);
|
|
18594
|
+
setError(null);
|
|
18595
|
+
setBrief(null);
|
|
18596
|
+
try {
|
|
18597
|
+
const res = await fetch("/api/seo-plugin/ai-content-brief", {
|
|
18598
|
+
method: "POST",
|
|
18599
|
+
credentials: "include",
|
|
18600
|
+
headers: { "Content-Type": "application/json" },
|
|
18601
|
+
body: JSON.stringify({ keyword: keyword.trim() })
|
|
18602
|
+
});
|
|
18603
|
+
if (res.status === 404) {
|
|
18604
|
+
setError(s.disabled);
|
|
18605
|
+
return;
|
|
18606
|
+
}
|
|
18607
|
+
const json = await res.json();
|
|
18608
|
+
if (!res.ok) {
|
|
18609
|
+
setError(json.code === "no_api_key" ? s.noKey : json.error || `Error ${res.status}`);
|
|
18610
|
+
return;
|
|
18611
|
+
}
|
|
18612
|
+
setBrief(json.brief);
|
|
18613
|
+
} catch (e) {
|
|
18614
|
+
setError(e instanceof Error ? e.message : "Network error");
|
|
18615
|
+
} finally {
|
|
18616
|
+
setBusy(false);
|
|
18617
|
+
}
|
|
18618
|
+
};
|
|
18619
|
+
const card = {
|
|
18620
|
+
padding: 16,
|
|
18621
|
+
borderRadius: 12,
|
|
18622
|
+
border: `1px solid ${C9.border}`,
|
|
18623
|
+
backgroundColor: C9.card,
|
|
18624
|
+
marginBottom: 20
|
|
18625
|
+
};
|
|
18626
|
+
const chip = {
|
|
18627
|
+
display: "inline-block",
|
|
18628
|
+
fontSize: 11,
|
|
18629
|
+
padding: "3px 8px",
|
|
18630
|
+
borderRadius: 999,
|
|
18631
|
+
backgroundColor: "rgba(59,130,246,0.12)",
|
|
18632
|
+
color: C9.blue,
|
|
18633
|
+
border: `1px solid ${C9.border}`,
|
|
18634
|
+
margin: "0 6px 6px 0"
|
|
18635
|
+
};
|
|
18636
|
+
const h4 = { fontSize: 12, fontWeight: 800, color: C9.text, margin: "14px 0 6px", textTransform: "uppercase" };
|
|
18637
|
+
return /* @__PURE__ */ jsxs("div", { style: card, children: [
|
|
18638
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C9.text }, children: s.title }),
|
|
18639
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: 12, color: C9.sub, marginTop: 2, marginBottom: 12 }, children: s.subtitle }),
|
|
18640
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8, flexWrap: "wrap" }, children: [
|
|
18641
|
+
/* @__PURE__ */ jsx(
|
|
18642
|
+
"input",
|
|
18643
|
+
{
|
|
18644
|
+
value: keyword,
|
|
18645
|
+
onChange: (e) => setKeyword(e.target.value),
|
|
18646
|
+
onKeyDown: (e) => {
|
|
18647
|
+
if (e.key === "Enter") void generate();
|
|
18648
|
+
},
|
|
18649
|
+
placeholder: s.placeholder,
|
|
18650
|
+
style: {
|
|
18651
|
+
flex: 1,
|
|
18652
|
+
minWidth: 220,
|
|
18653
|
+
padding: "8px 12px",
|
|
18654
|
+
fontSize: 13,
|
|
18655
|
+
borderRadius: 8,
|
|
18656
|
+
border: `1px solid ${C9.border}`,
|
|
18657
|
+
backgroundColor: C9.bg,
|
|
18658
|
+
color: C9.text
|
|
18659
|
+
}
|
|
18660
|
+
}
|
|
18661
|
+
),
|
|
18662
|
+
/* @__PURE__ */ jsx(
|
|
18663
|
+
"button",
|
|
18664
|
+
{
|
|
18665
|
+
type: "button",
|
|
18666
|
+
onClick: () => void generate(),
|
|
18667
|
+
disabled: busy || !keyword.trim(),
|
|
18668
|
+
style: {
|
|
18669
|
+
padding: "8px 14px",
|
|
18670
|
+
borderRadius: 8,
|
|
18671
|
+
border: `1px solid ${C9.violet}`,
|
|
18672
|
+
backgroundColor: C9.violet,
|
|
18673
|
+
color: "#fff",
|
|
18674
|
+
fontSize: 12,
|
|
18675
|
+
fontWeight: 700,
|
|
18676
|
+
cursor: busy || !keyword.trim() ? "not-allowed" : "pointer",
|
|
18677
|
+
opacity: busy || !keyword.trim() ? 0.6 : 1
|
|
18678
|
+
},
|
|
18679
|
+
children: busy ? s.generating : `\u2728 ${s.generate}`
|
|
18680
|
+
}
|
|
18681
|
+
)
|
|
18682
|
+
] }),
|
|
18683
|
+
error && /* @__PURE__ */ jsx("div", { style: { color: C9.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
18684
|
+
brief && /* @__PURE__ */ jsxs("div", { style: { marginTop: 8 }, children: [
|
|
18685
|
+
brief.recommendedWordCount > 0 && /* @__PURE__ */ jsxs("div", { style: { fontSize: 12, color: C9.sub, marginTop: 10 }, children: [
|
|
18686
|
+
s.words,
|
|
18687
|
+
": ",
|
|
18688
|
+
/* @__PURE__ */ jsxs("b", { style: { color: C9.text }, children: [
|
|
18689
|
+
"~",
|
|
18690
|
+
brief.recommendedWordCount,
|
|
18691
|
+
" ",
|
|
18692
|
+
s.wordsUnit
|
|
18693
|
+
] })
|
|
18694
|
+
] }),
|
|
18695
|
+
brief.outline.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18696
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.outline }),
|
|
18697
|
+
/* @__PURE__ */ jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color: C9.text, lineHeight: 1.6 }, children: brief.outline.map((o, i) => /* @__PURE__ */ jsx("li", { style: { marginLeft: o.level === "h3" ? 18 : 0, color: o.level === "h3" ? C9.sub : C9.text, fontWeight: o.level === "h2" ? 700 : 400 }, children: o.text }, i)) })
|
|
18698
|
+
] }),
|
|
18699
|
+
brief.entities.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18700
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.entities }),
|
|
18701
|
+
/* @__PURE__ */ jsx("div", { children: brief.entities.map((e, i) => /* @__PURE__ */ jsx("span", { style: chip, children: e }, i)) })
|
|
18702
|
+
] }),
|
|
18703
|
+
brief.questions.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18704
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.questions }),
|
|
18705
|
+
/* @__PURE__ */ jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 13, color: C9.text, lineHeight: 1.6 }, children: brief.questions.map((q, i) => /* @__PURE__ */ jsx("li", { children: q }, i)) })
|
|
18706
|
+
] }),
|
|
18707
|
+
brief.internalLinkIdeas.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18708
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.links }),
|
|
18709
|
+
/* @__PURE__ */ jsx("div", { children: brief.internalLinkIdeas.map((l, i) => /* @__PURE__ */ jsx("span", { style: chip, children: l }, i)) })
|
|
18710
|
+
] }),
|
|
18711
|
+
brief.notes.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18712
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.notes }),
|
|
18713
|
+
/* @__PURE__ */ jsx("ul", { style: { margin: 0, paddingLeft: 18, fontSize: 12, color: C9.sub, lineHeight: 1.6 }, children: brief.notes.map((n, i) => /* @__PURE__ */ jsx("li", { children: n }, i)) })
|
|
18714
|
+
] })
|
|
18715
|
+
] })
|
|
18716
|
+
] });
|
|
18717
|
+
}
|
|
18472
18718
|
var V9 = {
|
|
18473
18719
|
text: "var(--theme-text, #1a1a1a)",
|
|
18474
18720
|
textSecondary: "var(--theme-elevation-600, #6b7280)",
|
|
@@ -18831,6 +19077,7 @@ function KeywordResearchView() {
|
|
|
18831
19077
|
]
|
|
18832
19078
|
}
|
|
18833
19079
|
),
|
|
19080
|
+
/* @__PURE__ */ jsx(ContentBriefPanel, { locale }),
|
|
18834
19081
|
/* @__PURE__ */ jsx(
|
|
18835
19082
|
"div",
|
|
18836
19083
|
{
|
|
@@ -19605,7 +19852,7 @@ var controlBtnStyle = {
|
|
|
19605
19852
|
cursor: "pointer",
|
|
19606
19853
|
lineHeight: 1.4
|
|
19607
19854
|
};
|
|
19608
|
-
var
|
|
19855
|
+
var C10 = {
|
|
19609
19856
|
cyan: "#00E5FF",
|
|
19610
19857
|
black: "#000",
|
|
19611
19858
|
green: "#22c55e",
|
|
@@ -19620,10 +19867,10 @@ var C9 = {
|
|
|
19620
19867
|
var TITLE_MIN = 30;
|
|
19621
19868
|
var TITLE_MAX = 60;
|
|
19622
19869
|
function getCharColor(len) {
|
|
19623
|
-
if (len === 0) return
|
|
19624
|
-
if (len >= TITLE_MIN && len <= TITLE_MAX) return
|
|
19625
|
-
if (len > 0 && len < TITLE_MIN) return
|
|
19626
|
-
return
|
|
19870
|
+
if (len === 0) return C10.textSecondary;
|
|
19871
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C10.green;
|
|
19872
|
+
if (len > 0 && len < TITLE_MIN) return C10.orange;
|
|
19873
|
+
return C10.red;
|
|
19627
19874
|
}
|
|
19628
19875
|
function getProgressPercent(len) {
|
|
19629
19876
|
if (len === 0) return 0;
|
|
@@ -19631,9 +19878,9 @@ function getProgressPercent(len) {
|
|
|
19631
19878
|
}
|
|
19632
19879
|
function getProgressColor(len) {
|
|
19633
19880
|
if (len === 0) return "var(--theme-elevation-200, #e5e7eb)";
|
|
19634
|
-
if (len >= TITLE_MIN && len <= TITLE_MAX) return
|
|
19635
|
-
if (len < TITLE_MIN) return
|
|
19636
|
-
return
|
|
19881
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C10.green;
|
|
19882
|
+
if (len < TITLE_MIN) return C10.orange;
|
|
19883
|
+
return C10.red;
|
|
19637
19884
|
}
|
|
19638
19885
|
function MetaTitleField({
|
|
19639
19886
|
path,
|
|
@@ -19704,7 +19951,7 @@ function MetaTitleField({
|
|
|
19704
19951
|
style: {
|
|
19705
19952
|
fontSize: 13,
|
|
19706
19953
|
fontWeight: 700,
|
|
19707
|
-
color:
|
|
19954
|
+
color: C10.textPrimary
|
|
19708
19955
|
},
|
|
19709
19956
|
children: t.metaTitle.label
|
|
19710
19957
|
}
|
|
@@ -19744,9 +19991,9 @@ function MetaTitleField({
|
|
|
19744
19991
|
fontSize: 14,
|
|
19745
19992
|
fontFamily: "inherit",
|
|
19746
19993
|
borderRadius: 8,
|
|
19747
|
-
border: `2px solid ${
|
|
19748
|
-
backgroundColor:
|
|
19749
|
-
color:
|
|
19994
|
+
border: `2px solid ${C10.border}`,
|
|
19995
|
+
backgroundColor: C10.surfaceBg,
|
|
19996
|
+
color: C10.textPrimary,
|
|
19750
19997
|
outline: "none",
|
|
19751
19998
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
19752
19999
|
}
|
|
@@ -19764,9 +20011,9 @@ function MetaTitleField({
|
|
|
19764
20011
|
gap: 5,
|
|
19765
20012
|
padding: "8px 14px",
|
|
19766
20013
|
borderRadius: 8,
|
|
19767
|
-
border: `2px solid ${
|
|
19768
|
-
backgroundColor: loading ?
|
|
19769
|
-
color: loading ?
|
|
20014
|
+
border: `2px solid ${C10.border}`,
|
|
20015
|
+
backgroundColor: loading ? C10.surface50 : C10.cyan,
|
|
20016
|
+
color: loading ? C10.textSecondary : C10.black,
|
|
19770
20017
|
fontWeight: 800,
|
|
19771
20018
|
fontSize: 11,
|
|
19772
20019
|
textTransform: "uppercase",
|
|
@@ -19813,7 +20060,7 @@ function MetaTitleField({
|
|
|
19813
20060
|
justifyContent: "space-between",
|
|
19814
20061
|
marginTop: 4,
|
|
19815
20062
|
fontSize: 10,
|
|
19816
|
-
color:
|
|
20063
|
+
color: C10.textSecondary
|
|
19817
20064
|
},
|
|
19818
20065
|
children: [
|
|
19819
20066
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
@@ -19847,9 +20094,9 @@ function MetaTitleField({
|
|
|
19847
20094
|
borderRadius: 6,
|
|
19848
20095
|
fontSize: 11,
|
|
19849
20096
|
fontWeight: 600,
|
|
19850
|
-
color:
|
|
20097
|
+
color: C10.red,
|
|
19851
20098
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
19852
|
-
border: `1px solid ${
|
|
20099
|
+
border: `1px solid ${C10.red}`
|
|
19853
20100
|
},
|
|
19854
20101
|
children: error
|
|
19855
20102
|
}
|
|
@@ -19858,7 +20105,7 @@ function MetaTitleField({
|
|
|
19858
20105
|
}
|
|
19859
20106
|
);
|
|
19860
20107
|
}
|
|
19861
|
-
var
|
|
20108
|
+
var C11 = {
|
|
19862
20109
|
cyan: "#00E5FF",
|
|
19863
20110
|
black: "#000",
|
|
19864
20111
|
green: "#22c55e",
|
|
@@ -19873,10 +20120,10 @@ var C10 = {
|
|
|
19873
20120
|
var DESC_MIN = 120;
|
|
19874
20121
|
var DESC_MAX = 160;
|
|
19875
20122
|
function getCharColor2(len) {
|
|
19876
|
-
if (len === 0) return
|
|
19877
|
-
if (len >= DESC_MIN && len <= DESC_MAX) return
|
|
19878
|
-
if (len > 0 && len < DESC_MIN) return
|
|
19879
|
-
return
|
|
20123
|
+
if (len === 0) return C11.textSecondary;
|
|
20124
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C11.green;
|
|
20125
|
+
if (len > 0 && len < DESC_MIN) return C11.orange;
|
|
20126
|
+
return C11.red;
|
|
19880
20127
|
}
|
|
19881
20128
|
function getProgressPercent2(len) {
|
|
19882
20129
|
if (len === 0) return 0;
|
|
@@ -19884,9 +20131,9 @@ function getProgressPercent2(len) {
|
|
|
19884
20131
|
}
|
|
19885
20132
|
function getProgressColor2(len) {
|
|
19886
20133
|
if (len === 0) return "var(--theme-elevation-200, #e5e7eb)";
|
|
19887
|
-
if (len >= DESC_MIN && len <= DESC_MAX) return
|
|
19888
|
-
if (len < DESC_MIN) return
|
|
19889
|
-
return
|
|
20134
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C11.green;
|
|
20135
|
+
if (len < DESC_MIN) return C11.orange;
|
|
20136
|
+
return C11.red;
|
|
19890
20137
|
}
|
|
19891
20138
|
function MetaDescriptionField({
|
|
19892
20139
|
path,
|
|
@@ -19957,7 +20204,7 @@ function MetaDescriptionField({
|
|
|
19957
20204
|
style: {
|
|
19958
20205
|
fontSize: 13,
|
|
19959
20206
|
fontWeight: 700,
|
|
19960
|
-
color:
|
|
20207
|
+
color: C11.textPrimary
|
|
19961
20208
|
},
|
|
19962
20209
|
children: t.metaDescription.label
|
|
19963
20210
|
}
|
|
@@ -19997,9 +20244,9 @@ function MetaDescriptionField({
|
|
|
19997
20244
|
fontSize: 14,
|
|
19998
20245
|
fontFamily: "inherit",
|
|
19999
20246
|
borderRadius: 8,
|
|
20000
|
-
border: `2px solid ${
|
|
20001
|
-
backgroundColor:
|
|
20002
|
-
color:
|
|
20247
|
+
border: `2px solid ${C11.border}`,
|
|
20248
|
+
backgroundColor: C11.surfaceBg,
|
|
20249
|
+
color: C11.textPrimary,
|
|
20003
20250
|
outline: "none",
|
|
20004
20251
|
resize: "vertical",
|
|
20005
20252
|
lineHeight: 1.5,
|
|
@@ -20019,9 +20266,9 @@ function MetaDescriptionField({
|
|
|
20019
20266
|
gap: 5,
|
|
20020
20267
|
padding: "8px 14px",
|
|
20021
20268
|
borderRadius: 8,
|
|
20022
|
-
border: `2px solid ${
|
|
20023
|
-
backgroundColor: loading ?
|
|
20024
|
-
color: loading ?
|
|
20269
|
+
border: `2px solid ${C11.border}`,
|
|
20270
|
+
backgroundColor: loading ? C11.surface50 : C11.cyan,
|
|
20271
|
+
color: loading ? C11.textSecondary : C11.black,
|
|
20025
20272
|
fontWeight: 800,
|
|
20026
20273
|
fontSize: 11,
|
|
20027
20274
|
textTransform: "uppercase",
|
|
@@ -20069,7 +20316,7 @@ function MetaDescriptionField({
|
|
|
20069
20316
|
justifyContent: "space-between",
|
|
20070
20317
|
marginTop: 4,
|
|
20071
20318
|
fontSize: 10,
|
|
20072
|
-
color:
|
|
20319
|
+
color: C11.textSecondary
|
|
20073
20320
|
},
|
|
20074
20321
|
children: [
|
|
20075
20322
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
@@ -20103,9 +20350,9 @@ function MetaDescriptionField({
|
|
|
20103
20350
|
borderRadius: 6,
|
|
20104
20351
|
fontSize: 11,
|
|
20105
20352
|
fontWeight: 600,
|
|
20106
|
-
color:
|
|
20353
|
+
color: C11.red,
|
|
20107
20354
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20108
|
-
border: `1px solid ${
|
|
20355
|
+
border: `1px solid ${C11.red}`
|
|
20109
20356
|
},
|
|
20110
20357
|
children: error
|
|
20111
20358
|
}
|
|
@@ -20114,7 +20361,7 @@ function MetaDescriptionField({
|
|
|
20114
20361
|
}
|
|
20115
20362
|
);
|
|
20116
20363
|
}
|
|
20117
|
-
var
|
|
20364
|
+
var C12 = {
|
|
20118
20365
|
cyan: "#00E5FF",
|
|
20119
20366
|
black: "#000",
|
|
20120
20367
|
white: "#fff",
|
|
@@ -20191,8 +20438,8 @@ function MetaImageField({
|
|
|
20191
20438
|
gap: 10,
|
|
20192
20439
|
padding: "10px 14px",
|
|
20193
20440
|
borderRadius: 8,
|
|
20194
|
-
border: `2px solid ${
|
|
20195
|
-
backgroundColor:
|
|
20441
|
+
border: `2px solid ${C12.border}`,
|
|
20442
|
+
backgroundColor: C12.surfaceBg,
|
|
20196
20443
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
20197
20444
|
},
|
|
20198
20445
|
children: [
|
|
@@ -20211,7 +20458,7 @@ function MetaImageField({
|
|
|
20211
20458
|
fontWeight: 900,
|
|
20212
20459
|
backgroundColor: hasImage ? "rgba(34,197,94,0.15)" : "rgba(255,138,0,0.15)",
|
|
20213
20460
|
color: hasImage ? "#16a34a" : "#d97706",
|
|
20214
|
-
border: `1px solid ${hasImage ?
|
|
20461
|
+
border: `1px solid ${hasImage ? C12.green : C12.orange}`
|
|
20215
20462
|
},
|
|
20216
20463
|
children: hasImage ? "\u2713" : "!"
|
|
20217
20464
|
}
|
|
@@ -20223,7 +20470,7 @@ function MetaImageField({
|
|
|
20223
20470
|
style: {
|
|
20224
20471
|
fontSize: 12,
|
|
20225
20472
|
fontWeight: 700,
|
|
20226
|
-
color:
|
|
20473
|
+
color: C12.textPrimary
|
|
20227
20474
|
},
|
|
20228
20475
|
children: t.metaImage.label
|
|
20229
20476
|
}
|
|
@@ -20233,7 +20480,7 @@ function MetaImageField({
|
|
|
20233
20480
|
{
|
|
20234
20481
|
style: {
|
|
20235
20482
|
fontSize: 10,
|
|
20236
|
-
color:
|
|
20483
|
+
color: C12.textSecondary,
|
|
20237
20484
|
lineHeight: 1.4
|
|
20238
20485
|
},
|
|
20239
20486
|
children: hasImage ? t.metaImage.imageSet : t.metaImage.noImage
|
|
@@ -20253,9 +20500,9 @@ function MetaImageField({
|
|
|
20253
20500
|
gap: 5,
|
|
20254
20501
|
padding: "8px 14px",
|
|
20255
20502
|
borderRadius: 8,
|
|
20256
|
-
border: `2px solid ${
|
|
20257
|
-
backgroundColor: loading ?
|
|
20258
|
-
color: loading ?
|
|
20503
|
+
border: `2px solid ${C12.border}`,
|
|
20504
|
+
backgroundColor: loading ? C12.surface50 : success ? C12.green : C12.cyan,
|
|
20505
|
+
color: loading ? C12.textSecondary : success ? C12.white : C12.black,
|
|
20259
20506
|
fontWeight: 800,
|
|
20260
20507
|
fontSize: 11,
|
|
20261
20508
|
textTransform: "uppercase",
|
|
@@ -20282,9 +20529,9 @@ function MetaImageField({
|
|
|
20282
20529
|
borderRadius: 6,
|
|
20283
20530
|
fontSize: 11,
|
|
20284
20531
|
fontWeight: 600,
|
|
20285
|
-
color:
|
|
20532
|
+
color: C12.red,
|
|
20286
20533
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20287
|
-
border: `1px solid ${
|
|
20534
|
+
border: `1px solid ${C12.red}`
|
|
20288
20535
|
},
|
|
20289
20536
|
children: error
|
|
20290
20537
|
}
|
|
@@ -20293,7 +20540,7 @@ function MetaImageField({
|
|
|
20293
20540
|
}
|
|
20294
20541
|
);
|
|
20295
20542
|
}
|
|
20296
|
-
var
|
|
20543
|
+
var C13 = {
|
|
20297
20544
|
black: "#000",
|
|
20298
20545
|
white: "#fff",
|
|
20299
20546
|
green: "#22c55e",
|
|
@@ -20307,15 +20554,15 @@ var C12 = {
|
|
|
20307
20554
|
function getCompletenessColor(count) {
|
|
20308
20555
|
switch (count) {
|
|
20309
20556
|
case 0:
|
|
20310
|
-
return
|
|
20557
|
+
return C13.red;
|
|
20311
20558
|
case 1:
|
|
20312
|
-
return
|
|
20559
|
+
return C13.orange;
|
|
20313
20560
|
case 2:
|
|
20314
|
-
return
|
|
20561
|
+
return C13.yellow;
|
|
20315
20562
|
case 3:
|
|
20316
|
-
return
|
|
20563
|
+
return C13.green;
|
|
20317
20564
|
default:
|
|
20318
|
-
return
|
|
20565
|
+
return C13.textSecondary;
|
|
20319
20566
|
}
|
|
20320
20567
|
}
|
|
20321
20568
|
function getCompletenessLabel(count, ov) {
|
|
@@ -20373,8 +20620,8 @@ function OverviewField({
|
|
|
20373
20620
|
fontFamily: "var(--font-body, Inter, system-ui, sans-serif)",
|
|
20374
20621
|
padding: "12px 14px",
|
|
20375
20622
|
borderRadius: 10,
|
|
20376
|
-
border: `2px solid ${
|
|
20377
|
-
backgroundColor:
|
|
20623
|
+
border: `2px solid ${C13.border}`,
|
|
20624
|
+
backgroundColor: C13.surfaceBg,
|
|
20378
20625
|
boxShadow: "3px 3px 0 0 var(--theme-border-color, rgba(0,0,0,1))",
|
|
20379
20626
|
marginBottom: 12
|
|
20380
20627
|
},
|
|
@@ -20397,7 +20644,7 @@ function OverviewField({
|
|
|
20397
20644
|
fontWeight: 800,
|
|
20398
20645
|
textTransform: "uppercase",
|
|
20399
20646
|
letterSpacing: "0.04em",
|
|
20400
|
-
color:
|
|
20647
|
+
color: C13.textPrimary
|
|
20401
20648
|
},
|
|
20402
20649
|
children: t.overview.metaCompleteness
|
|
20403
20650
|
}
|
|
@@ -20412,8 +20659,8 @@ function OverviewField({
|
|
|
20412
20659
|
fontSize: 11,
|
|
20413
20660
|
fontWeight: 800,
|
|
20414
20661
|
backgroundColor: completenessColor,
|
|
20415
|
-
color: completenessColor ===
|
|
20416
|
-
border: `2px solid ${
|
|
20662
|
+
color: completenessColor === C13.yellow ? C13.black : C13.white,
|
|
20663
|
+
border: `2px solid ${C13.border}`,
|
|
20417
20664
|
textTransform: "uppercase",
|
|
20418
20665
|
letterSpacing: "0.03em"
|
|
20419
20666
|
},
|
|
@@ -20511,7 +20758,7 @@ function OverviewField({
|
|
|
20511
20758
|
style: {
|
|
20512
20759
|
fontSize: 12,
|
|
20513
20760
|
fontWeight: 600,
|
|
20514
|
-
color: item.filled ?
|
|
20761
|
+
color: item.filled ? C13.textPrimary : C13.textSecondary
|
|
20515
20762
|
},
|
|
20516
20763
|
children: item.label
|
|
20517
20764
|
}
|
|
@@ -20523,7 +20770,7 @@ function OverviewField({
|
|
|
20523
20770
|
marginLeft: "auto",
|
|
20524
20771
|
fontSize: 10,
|
|
20525
20772
|
fontWeight: 700,
|
|
20526
|
-
color: item.filled ?
|
|
20773
|
+
color: item.filled ? C13.green : C13.red,
|
|
20527
20774
|
textTransform: "uppercase",
|
|
20528
20775
|
letterSpacing: "0.03em"
|
|
20529
20776
|
},
|
|
@@ -20540,7 +20787,7 @@ function OverviewField({
|
|
|
20540
20787
|
}
|
|
20541
20788
|
);
|
|
20542
20789
|
}
|
|
20543
|
-
var
|
|
20790
|
+
var C14 = {
|
|
20544
20791
|
cyan: "#00E5FF",
|
|
20545
20792
|
black: "#000",
|
|
20546
20793
|
white: "#fff",
|
|
@@ -20559,10 +20806,10 @@ var G = {
|
|
|
20559
20806
|
descGrey: "#4d5156",
|
|
20560
20807
|
faviconBg: "#e8eaed"};
|
|
20561
20808
|
function charCountColor2(len, min, max) {
|
|
20562
|
-
if (len >= min && len <= max) return
|
|
20563
|
-
if (len > 0 && len < min) return
|
|
20564
|
-
if (len > max) return
|
|
20565
|
-
return
|
|
20809
|
+
if (len >= min && len <= max) return C14.green;
|
|
20810
|
+
if (len > 0 && len < min) return C14.orange;
|
|
20811
|
+
if (len > max) return C14.red;
|
|
20812
|
+
return C14.textSecondary;
|
|
20566
20813
|
}
|
|
20567
20814
|
function truncateText(text, maxChars) {
|
|
20568
20815
|
if (text.length <= maxChars) return text;
|
|
@@ -20617,8 +20864,8 @@ function SerpPreview({
|
|
|
20617
20864
|
padding: "10px 12px",
|
|
20618
20865
|
cursor: "pointer",
|
|
20619
20866
|
borderRadius: 8,
|
|
20620
|
-
border: `2px solid ${
|
|
20621
|
-
backgroundColor:
|
|
20867
|
+
border: `2px solid ${C14.border}`,
|
|
20868
|
+
backgroundColor: C14.surface50,
|
|
20622
20869
|
userSelect: "none"
|
|
20623
20870
|
},
|
|
20624
20871
|
children: [
|
|
@@ -20633,7 +20880,7 @@ function SerpPreview({
|
|
|
20633
20880
|
fontWeight: 800,
|
|
20634
20881
|
textTransform: "uppercase",
|
|
20635
20882
|
letterSpacing: "0.04em",
|
|
20636
|
-
color:
|
|
20883
|
+
color: C14.textPrimary
|
|
20637
20884
|
},
|
|
20638
20885
|
children: [
|
|
20639
20886
|
/* @__PURE__ */ jsxs(
|
|
@@ -20665,7 +20912,7 @@ function SerpPreview({
|
|
|
20665
20912
|
transition: "transform 0.2s",
|
|
20666
20913
|
display: "inline-block",
|
|
20667
20914
|
transform: open ? "rotate(90deg)" : "none",
|
|
20668
|
-
color:
|
|
20915
|
+
color: C14.textSecondary
|
|
20669
20916
|
},
|
|
20670
20917
|
children: "\u25B6"
|
|
20671
20918
|
}
|
|
@@ -20698,10 +20945,10 @@ function SerpPreview({
|
|
|
20698
20945
|
"div",
|
|
20699
20946
|
{
|
|
20700
20947
|
style: {
|
|
20701
|
-
backgroundColor:
|
|
20702
|
-
border: `2px solid ${
|
|
20948
|
+
backgroundColor: C14.white,
|
|
20949
|
+
border: `2px solid ${C14.border}`,
|
|
20703
20950
|
borderRadius: 12,
|
|
20704
|
-
boxShadow: `3px 3px 0 0 ${
|
|
20951
|
+
boxShadow: `3px 3px 0 0 ${C14.border}`,
|
|
20705
20952
|
padding: isDesktop ? 20 : 14,
|
|
20706
20953
|
maxWidth: isDesktop ? 650 : 380,
|
|
20707
20954
|
overflow: "hidden"
|
|
@@ -20764,7 +21011,7 @@ function SerpPreview({
|
|
|
20764
21011
|
style: {
|
|
20765
21012
|
fontSize: 14,
|
|
20766
21013
|
fontWeight: 400,
|
|
20767
|
-
color:
|
|
21014
|
+
color: C14.black,
|
|
20768
21015
|
lineHeight: 1.3,
|
|
20769
21016
|
whiteSpace: "nowrap",
|
|
20770
21017
|
overflow: "hidden",
|
|
@@ -20828,7 +21075,7 @@ function SerpPreview({
|
|
|
20828
21075
|
"span",
|
|
20829
21076
|
{
|
|
20830
21077
|
style: {
|
|
20831
|
-
color:
|
|
21078
|
+
color: C14.textSecondary,
|
|
20832
21079
|
fontStyle: "italic",
|
|
20833
21080
|
fontSize: titleFontSize - 2
|
|
20834
21081
|
},
|
|
@@ -20857,7 +21104,7 @@ function SerpPreview({
|
|
|
20857
21104
|
"span",
|
|
20858
21105
|
{
|
|
20859
21106
|
style: {
|
|
20860
|
-
color:
|
|
21107
|
+
color: C14.textSecondary,
|
|
20861
21108
|
fontStyle: "italic",
|
|
20862
21109
|
fontSize: descFontSize - 1
|
|
20863
21110
|
},
|
|
@@ -20890,7 +21137,7 @@ function SerpPreview({
|
|
|
20890
21137
|
fontSize: 11
|
|
20891
21138
|
},
|
|
20892
21139
|
children: [
|
|
20893
|
-
/* @__PURE__ */ jsx("span", { style: { color:
|
|
21140
|
+
/* @__PURE__ */ jsx("span", { style: { color: C14.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewTitle }),
|
|
20894
21141
|
/* @__PURE__ */ jsxs(
|
|
20895
21142
|
"span",
|
|
20896
21143
|
{
|
|
@@ -20919,7 +21166,7 @@ function SerpPreview({
|
|
|
20919
21166
|
fontSize: 11
|
|
20920
21167
|
},
|
|
20921
21168
|
children: [
|
|
20922
|
-
/* @__PURE__ */ jsx("span", { style: { color:
|
|
21169
|
+
/* @__PURE__ */ jsx("span", { style: { color: C14.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewDescription }),
|
|
20923
21170
|
/* @__PURE__ */ jsxs(
|
|
20924
21171
|
"span",
|
|
20925
21172
|
{
|
|
@@ -20948,14 +21195,14 @@ function SerpPreview({
|
|
|
20948
21195
|
fontSize: 11
|
|
20949
21196
|
},
|
|
20950
21197
|
children: [
|
|
20951
|
-
/* @__PURE__ */ jsx("span", { style: { color:
|
|
21198
|
+
/* @__PURE__ */ jsx("span", { style: { color: C14.textSecondary, fontWeight: 600 }, children: t.serpPreview.url }),
|
|
20952
21199
|
/* @__PURE__ */ jsxs(
|
|
20953
21200
|
"span",
|
|
20954
21201
|
{
|
|
20955
21202
|
style: {
|
|
20956
21203
|
fontWeight: 700,
|
|
20957
21204
|
fontVariantNumeric: "tabular-nums",
|
|
20958
|
-
color: fullUrl.length <= 75 ?
|
|
21205
|
+
color: fullUrl.length <= 75 ? C14.green : C14.red
|
|
20959
21206
|
},
|
|
20960
21207
|
children: [
|
|
20961
21208
|
fullUrl.length,
|
|
@@ -20990,13 +21237,13 @@ function DeviceButton({
|
|
|
20990
21237
|
gap: 5,
|
|
20991
21238
|
padding: "4px 12px",
|
|
20992
21239
|
borderRadius: 6,
|
|
20993
|
-
border: `2px solid ${
|
|
21240
|
+
border: `2px solid ${C14.border}`,
|
|
20994
21241
|
fontSize: 11,
|
|
20995
21242
|
fontWeight: 700,
|
|
20996
21243
|
cursor: "pointer",
|
|
20997
|
-
backgroundColor: active ?
|
|
20998
|
-
color: active ?
|
|
20999
|
-
boxShadow: active ? `2px 2px 0 0 ${
|
|
21244
|
+
backgroundColor: active ? C14.cyan : C14.surfaceBg,
|
|
21245
|
+
color: active ? C14.black : C14.textPrimary,
|
|
21246
|
+
boxShadow: active ? `2px 2px 0 0 ${C14.border}` : "none",
|
|
21000
21247
|
transition: "background-color 0.15s"
|
|
21001
21248
|
},
|
|
21002
21249
|
children: [
|