@consilioweb/payload-seo-analyzer 1.10.0 → 1.12.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 +5 -0
- package/dist/client.cjs +467 -83
- package/dist/client.js +467 -83
- package/dist/index.cjs +657 -96
- package/dist/index.d.cts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +657 -96
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -1059,6 +1059,16 @@ 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: "Analyse\u2026",
|
|
1064
|
+
bulkConfirm: "Confirmer ?",
|
|
1065
|
+
bulkPreviewTitle: "Corrections m\xE9ta propos\xE9es",
|
|
1066
|
+
bulkApply: "Appliquer",
|
|
1067
|
+
bulkApplying: "Application\u2026",
|
|
1068
|
+
bulkCancel: "Annuler",
|
|
1069
|
+
bulkExport: "Exporter CSV",
|
|
1070
|
+
bulkNoChanges: "Aucune correction n\xE9cessaire sur la s\xE9lection.",
|
|
1071
|
+
bulkCappedNote: "limite atteinte (affine la s\xE9lection)",
|
|
1062
1072
|
searchPlaceholder: "Rechercher (titre, slug, keyword)...",
|
|
1063
1073
|
allCollections: "Toutes les collections",
|
|
1064
1074
|
allScores: "Tous les scores",
|
|
@@ -1651,6 +1661,16 @@ var en = {
|
|
|
1651
1661
|
pagesAnalyzed: "pages analyzed",
|
|
1652
1662
|
markCornerstone: "Mark as cornerstone",
|
|
1653
1663
|
unmarkCornerstone: "Unmark cornerstone",
|
|
1664
|
+
bulkOptimizeMeta: "Optimize meta (AI)",
|
|
1665
|
+
bulkOptimizing: "Analyzing\u2026",
|
|
1666
|
+
bulkConfirm: "Confirm?",
|
|
1667
|
+
bulkPreviewTitle: "Proposed meta corrections",
|
|
1668
|
+
bulkApply: "Apply",
|
|
1669
|
+
bulkApplying: "Applying\u2026",
|
|
1670
|
+
bulkCancel: "Cancel",
|
|
1671
|
+
bulkExport: "Export CSV",
|
|
1672
|
+
bulkNoChanges: "No corrections needed on the selection.",
|
|
1673
|
+
bulkCappedNote: "limit reached (narrow the selection)",
|
|
1654
1674
|
searchPlaceholder: "Search (title, slug, keyword)...",
|
|
1655
1675
|
allCollections: "All collections",
|
|
1656
1676
|
allScores: "All scores",
|
|
@@ -9195,6 +9215,8 @@ function BulkActionBar({
|
|
|
9195
9215
|
onExportCsv,
|
|
9196
9216
|
onMarkCornerstone,
|
|
9197
9217
|
onUnmarkCornerstone,
|
|
9218
|
+
onOptimizeMeta,
|
|
9219
|
+
optimizing,
|
|
9198
9220
|
t
|
|
9199
9221
|
}) {
|
|
9200
9222
|
if (count === 0) return null;
|
|
@@ -9242,6 +9264,17 @@ function BulkActionBar({
|
|
|
9242
9264
|
children: t.common.exportCsv
|
|
9243
9265
|
}
|
|
9244
9266
|
),
|
|
9267
|
+
/* @__PURE__ */ jsx(
|
|
9268
|
+
"button",
|
|
9269
|
+
{
|
|
9270
|
+
onClick: () => {
|
|
9271
|
+
if (!optimizing) onOptimizeMeta();
|
|
9272
|
+
},
|
|
9273
|
+
disabled: optimizing,
|
|
9274
|
+
style: { ...btnBase, backgroundColor: "#7c3aed", color: "#fff", opacity: optimizing ? 0.6 : 1 },
|
|
9275
|
+
children: optimizing ? t.seoView.bulkOptimizing : `\u2728 ${t.seoView.bulkOptimizeMeta}`
|
|
9276
|
+
}
|
|
9277
|
+
),
|
|
9245
9278
|
/* @__PURE__ */ jsx(
|
|
9246
9279
|
"button",
|
|
9247
9280
|
{
|
|
@@ -9282,6 +9315,9 @@ function SeoView() {
|
|
|
9282
9315
|
const [expandedId, setExpandedId] = useState(null);
|
|
9283
9316
|
const [saving, setSaving] = useState(false);
|
|
9284
9317
|
const [saveError, setSaveError] = useState(null);
|
|
9318
|
+
const [bulkOptimizing, setBulkOptimizing] = useState(false);
|
|
9319
|
+
const [bulkApplying, setBulkApplying] = useState(false);
|
|
9320
|
+
const [bulkPreview, setBulkPreview] = useState(null);
|
|
9285
9321
|
const PAGE_SIZE = 50;
|
|
9286
9322
|
const fetchAudit = useCallback(async (forceRefresh = false) => {
|
|
9287
9323
|
setLoading(true);
|
|
@@ -9502,6 +9538,84 @@ function SeoView() {
|
|
|
9502
9538
|
},
|
|
9503
9539
|
[selectedIds, fetchAudit]
|
|
9504
9540
|
);
|
|
9541
|
+
const handleBulkOptimizeMeta = useCallback(async () => {
|
|
9542
|
+
const ids = Array.from(selectedIds).filter((k) => !k.startsWith("global:"));
|
|
9543
|
+
if (ids.length === 0) return;
|
|
9544
|
+
setBulkOptimizing(true);
|
|
9545
|
+
setBulkPreview(null);
|
|
9546
|
+
try {
|
|
9547
|
+
const res = await fetch("/api/seo-plugin/ai-optimize-bulk", {
|
|
9548
|
+
method: "POST",
|
|
9549
|
+
headers: { "Content-Type": "application/json" },
|
|
9550
|
+
credentials: "include",
|
|
9551
|
+
body: JSON.stringify({ ids, apply: false, limit: 100 })
|
|
9552
|
+
});
|
|
9553
|
+
if (res.ok) {
|
|
9554
|
+
const data = await res.json();
|
|
9555
|
+
const changed = (data.results || []).filter((r) => r.changed && !r.error);
|
|
9556
|
+
setBulkPreview({ results: changed, capped: !!data.capped, total: data.processed || 0 });
|
|
9557
|
+
}
|
|
9558
|
+
} catch {
|
|
9559
|
+
}
|
|
9560
|
+
setBulkOptimizing(false);
|
|
9561
|
+
}, [selectedIds]);
|
|
9562
|
+
const handleBulkApplyPreview = useCallback(async () => {
|
|
9563
|
+
if (!bulkPreview || bulkPreview.results.length === 0) return;
|
|
9564
|
+
setBulkApplying(true);
|
|
9565
|
+
const corrections = bulkPreview.results.map((r) => ({
|
|
9566
|
+
collection: r.collection,
|
|
9567
|
+
id: r.id,
|
|
9568
|
+
metaTitle: r.after.metaTitle,
|
|
9569
|
+
metaDescription: r.after.metaDescription,
|
|
9570
|
+
focusKeyword: r.after.focusKeyword
|
|
9571
|
+
}));
|
|
9572
|
+
try {
|
|
9573
|
+
await fetch("/api/seo-plugin/ai-optimize-bulk", {
|
|
9574
|
+
method: "POST",
|
|
9575
|
+
headers: { "Content-Type": "application/json" },
|
|
9576
|
+
credentials: "include",
|
|
9577
|
+
body: JSON.stringify({ corrections, apply: true, limit: 100 })
|
|
9578
|
+
});
|
|
9579
|
+
} catch {
|
|
9580
|
+
}
|
|
9581
|
+
setBulkApplying(false);
|
|
9582
|
+
setBulkPreview(null);
|
|
9583
|
+
setSelectedIds(/* @__PURE__ */ new Set());
|
|
9584
|
+
fetchAudit();
|
|
9585
|
+
}, [bulkPreview, fetchAudit]);
|
|
9586
|
+
const handleExportBulkPreviewCsv = useCallback(() => {
|
|
9587
|
+
if (!bulkPreview) return;
|
|
9588
|
+
const header = [
|
|
9589
|
+
"collection",
|
|
9590
|
+
"id",
|
|
9591
|
+
"title",
|
|
9592
|
+
"before_title",
|
|
9593
|
+
"after_title",
|
|
9594
|
+
"before_description",
|
|
9595
|
+
"after_description",
|
|
9596
|
+
"before_keyword",
|
|
9597
|
+
"after_keyword"
|
|
9598
|
+
];
|
|
9599
|
+
const rows = bulkPreview.results.map((r) => [
|
|
9600
|
+
r.collection,
|
|
9601
|
+
r.id,
|
|
9602
|
+
r.title,
|
|
9603
|
+
r.before.metaTitle,
|
|
9604
|
+
r.after.metaTitle,
|
|
9605
|
+
r.before.metaDescription,
|
|
9606
|
+
r.after.metaDescription,
|
|
9607
|
+
r.before.focusKeyword,
|
|
9608
|
+
r.after.focusKeyword
|
|
9609
|
+
]);
|
|
9610
|
+
const csv = [header, ...rows].map((row) => row.map((c) => `"${String(c ?? "").replace(/"/g, '""')}"`).join(",")).join("\n");
|
|
9611
|
+
const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" });
|
|
9612
|
+
const url = URL.createObjectURL(blob);
|
|
9613
|
+
const a = document.createElement("a");
|
|
9614
|
+
a.href = url;
|
|
9615
|
+
a.download = `seo-bulk-optimize-${(/* @__PURE__ */ new Date()).toISOString().slice(0, 10)}.csv`;
|
|
9616
|
+
a.click();
|
|
9617
|
+
URL.revokeObjectURL(url);
|
|
9618
|
+
}, [bulkPreview]);
|
|
9505
9619
|
const handleInlineSave = useCallback(
|
|
9506
9620
|
async (item, metaTitle, metaDescription) => {
|
|
9507
9621
|
setSaving(true);
|
|
@@ -10250,8 +10364,100 @@ function SeoView() {
|
|
|
10250
10364
|
onExportCsv: handleBulkExportCsv,
|
|
10251
10365
|
onMarkCornerstone: () => handleBulkCornerstone(true),
|
|
10252
10366
|
onUnmarkCornerstone: () => handleBulkCornerstone(false),
|
|
10367
|
+
onOptimizeMeta: handleBulkOptimizeMeta,
|
|
10368
|
+
optimizing: bulkOptimizing,
|
|
10253
10369
|
t
|
|
10254
10370
|
}
|
|
10371
|
+
),
|
|
10372
|
+
bulkPreview && /* @__PURE__ */ jsx(
|
|
10373
|
+
"div",
|
|
10374
|
+
{
|
|
10375
|
+
style: {
|
|
10376
|
+
position: "fixed",
|
|
10377
|
+
inset: 0,
|
|
10378
|
+
backgroundColor: "rgba(0,0,0,0.5)",
|
|
10379
|
+
zIndex: 100,
|
|
10380
|
+
display: "flex",
|
|
10381
|
+
alignItems: "center",
|
|
10382
|
+
justifyContent: "center",
|
|
10383
|
+
padding: 24,
|
|
10384
|
+
fontFamily: "var(--font-body, system-ui)"
|
|
10385
|
+
},
|
|
10386
|
+
onClick: () => {
|
|
10387
|
+
if (!bulkApplying) setBulkPreview(null);
|
|
10388
|
+
},
|
|
10389
|
+
children: /* @__PURE__ */ jsxs(
|
|
10390
|
+
"div",
|
|
10391
|
+
{
|
|
10392
|
+
onClick: (e) => e.stopPropagation(),
|
|
10393
|
+
style: {
|
|
10394
|
+
width: "min(900px, 100%)",
|
|
10395
|
+
maxHeight: "85vh",
|
|
10396
|
+
display: "flex",
|
|
10397
|
+
flexDirection: "column",
|
|
10398
|
+
backgroundColor: V2.bgCard,
|
|
10399
|
+
border: `1px solid ${V2.border}`,
|
|
10400
|
+
borderRadius: 12,
|
|
10401
|
+
overflow: "hidden"
|
|
10402
|
+
},
|
|
10403
|
+
children: [
|
|
10404
|
+
/* @__PURE__ */ jsxs("div", { style: { padding: "16px 20px", borderBottom: `1px solid ${V2.border}` }, children: [
|
|
10405
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: 16, fontWeight: 800, color: V2.text }, children: t.seoView.bulkPreviewTitle }),
|
|
10406
|
+
/* @__PURE__ */ jsxs("div", { style: { fontSize: 12, color: V2.textSecondary, marginTop: 4 }, children: [
|
|
10407
|
+
bulkPreview.results.length,
|
|
10408
|
+
" / ",
|
|
10409
|
+
bulkPreview.total,
|
|
10410
|
+
bulkPreview.capped ? ` \xB7 ${t.seoView.bulkCappedNote}` : ""
|
|
10411
|
+
] })
|
|
10412
|
+
] }),
|
|
10413
|
+
/* @__PURE__ */ jsxs("div", { style: { overflowY: "auto", padding: "8px 20px", flex: 1 }, children: [
|
|
10414
|
+
bulkPreview.results.length === 0 && /* @__PURE__ */ jsx("div", { style: { padding: 24, textAlign: "center", color: V2.textSecondary, fontSize: 14 }, children: t.seoView.bulkNoChanges }),
|
|
10415
|
+
bulkPreview.results.map((r) => {
|
|
10416
|
+
const fields = [];
|
|
10417
|
+
if (r.before.metaTitle !== r.after.metaTitle) fields.push({ label: "Title", before: r.before.metaTitle, after: r.after.metaTitle });
|
|
10418
|
+
if (r.before.metaDescription !== r.after.metaDescription) fields.push({ label: "Description", before: r.before.metaDescription, after: r.after.metaDescription });
|
|
10419
|
+
if (r.before.focusKeyword !== r.after.focusKeyword) fields.push({ label: "Keyword", before: r.before.focusKeyword, after: r.after.focusKeyword });
|
|
10420
|
+
return /* @__PURE__ */ jsxs("div", { style: { padding: "10px 0", borderBottom: `1px solid ${V2.border}` }, children: [
|
|
10421
|
+
/* @__PURE__ */ jsxs("div", { style: { fontSize: 13, fontWeight: 700, color: V2.text, marginBottom: 6 }, children: [
|
|
10422
|
+
r.title || `${r.collection}/${r.id}`,
|
|
10423
|
+
" ",
|
|
10424
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: 10, color: V2.textSecondary, fontWeight: 400 }, children: r.collection })
|
|
10425
|
+
] }),
|
|
10426
|
+
fields.map((f, i) => /* @__PURE__ */ jsxs("div", { style: { marginBottom: 4, fontSize: 12 }, children: [
|
|
10427
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: 10, fontWeight: 700, color: V2.textSecondary, textTransform: "uppercase" }, children: f.label }),
|
|
10428
|
+
/* @__PURE__ */ jsx("div", { style: { color: V2.red, textDecoration: f.before ? "line-through" : "none", opacity: 0.75 }, children: f.before || t.seoAnalyzer.emptyValue }),
|
|
10429
|
+
/* @__PURE__ */ jsx("div", { style: { color: V2.green, fontWeight: 600 }, children: f.after || t.seoAnalyzer.emptyValue })
|
|
10430
|
+
] }, i))
|
|
10431
|
+
] }, `${r.collection}::${r.id}`);
|
|
10432
|
+
})
|
|
10433
|
+
] }),
|
|
10434
|
+
/* @__PURE__ */ jsxs("div", { style: { padding: "14px 20px", borderTop: `1px solid ${V2.border}`, display: "flex", justifyContent: "space-between", gap: 8 }, children: [
|
|
10435
|
+
/* @__PURE__ */ jsx(
|
|
10436
|
+
"button",
|
|
10437
|
+
{
|
|
10438
|
+
onClick: handleExportBulkPreviewCsv,
|
|
10439
|
+
disabled: bulkPreview.results.length === 0,
|
|
10440
|
+
style: { ...btnBase, backgroundColor: V2.cyan, color: "#000", opacity: bulkPreview.results.length === 0 ? 0.5 : 1 },
|
|
10441
|
+
children: t.seoView.bulkExport
|
|
10442
|
+
}
|
|
10443
|
+
),
|
|
10444
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8 }, children: [
|
|
10445
|
+
/* @__PURE__ */ jsx("button", { onClick: () => setBulkPreview(null), disabled: bulkApplying, style: { ...btnBase, backgroundColor: V2.bg, color: V2.text }, children: t.seoView.bulkCancel }),
|
|
10446
|
+
/* @__PURE__ */ jsx(
|
|
10447
|
+
"button",
|
|
10448
|
+
{
|
|
10449
|
+
onClick: handleBulkApplyPreview,
|
|
10450
|
+
disabled: bulkApplying || bulkPreview.results.length === 0,
|
|
10451
|
+
style: { ...btnBase, backgroundColor: "#7c3aed", color: "#fff", opacity: bulkApplying || bulkPreview.results.length === 0 ? 0.6 : 1 },
|
|
10452
|
+
children: bulkApplying ? t.seoView.bulkApplying : `${t.seoView.bulkApply} (${bulkPreview.results.length})`
|
|
10453
|
+
}
|
|
10454
|
+
)
|
|
10455
|
+
] })
|
|
10456
|
+
] })
|
|
10457
|
+
]
|
|
10458
|
+
}
|
|
10459
|
+
)
|
|
10460
|
+
}
|
|
10255
10461
|
)
|
|
10256
10462
|
]
|
|
10257
10463
|
}
|
|
@@ -18469,6 +18675,183 @@ function PerformanceView() {
|
|
|
18469
18675
|
}
|
|
18470
18676
|
);
|
|
18471
18677
|
}
|
|
18678
|
+
var C9 = {
|
|
18679
|
+
text: "var(--theme-text, #1a1a1a)",
|
|
18680
|
+
sub: "var(--theme-elevation-600, #6b7280)",
|
|
18681
|
+
card: "var(--theme-elevation-50, #f9fafb)",
|
|
18682
|
+
bg: "var(--theme-elevation-0, #fff)",
|
|
18683
|
+
border: "var(--theme-elevation-200, #e5e7eb)",
|
|
18684
|
+
violet: "#7c3aed",
|
|
18685
|
+
red: "#ef4444",
|
|
18686
|
+
blue: "#3b82f6"
|
|
18687
|
+
};
|
|
18688
|
+
var S6 = {
|
|
18689
|
+
fr: {
|
|
18690
|
+
title: "Brief de contenu IA",
|
|
18691
|
+
subtitle: "G\xE9n\xE8re un plan r\xE9dactionnel optimis\xE9 pour un mot-cl\xE9 (plan, entit\xE9s, questions, longueur cible).",
|
|
18692
|
+
placeholder: "Mot-cl\xE9 cible (ex : plombier paris)",
|
|
18693
|
+
generate: "G\xE9n\xE9rer le brief",
|
|
18694
|
+
generating: "G\xE9n\xE9ration\u2026",
|
|
18695
|
+
outline: "Plan sugg\xE9r\xE9",
|
|
18696
|
+
entities: "Entit\xE9s / termes \xE0 couvrir",
|
|
18697
|
+
questions: "Questions \xE0 traiter",
|
|
18698
|
+
links: "Id\xE9es de liens internes",
|
|
18699
|
+
words: "Longueur recommand\xE9e",
|
|
18700
|
+
wordsUnit: "mots",
|
|
18701
|
+
notes: "Conseils",
|
|
18702
|
+
noKey: "Cl\xE9 API Claude requise (ANTHROPIC_API_KEY).",
|
|
18703
|
+
disabled: "Fonction IA d\xE9sactiv\xE9e (features.aiFeatures)."
|
|
18704
|
+
},
|
|
18705
|
+
en: {
|
|
18706
|
+
title: "AI content brief",
|
|
18707
|
+
subtitle: "Generate an optimized writing brief for a keyword (outline, entities, questions, target length).",
|
|
18708
|
+
placeholder: "Target keyword (e.g. paris plumber)",
|
|
18709
|
+
generate: "Generate brief",
|
|
18710
|
+
generating: "Generating\u2026",
|
|
18711
|
+
outline: "Suggested outline",
|
|
18712
|
+
entities: "Entities / terms to cover",
|
|
18713
|
+
questions: "Questions to answer",
|
|
18714
|
+
links: "Internal link ideas",
|
|
18715
|
+
words: "Recommended length",
|
|
18716
|
+
wordsUnit: "words",
|
|
18717
|
+
notes: "Tips",
|
|
18718
|
+
noKey: "Claude API key required (ANTHROPIC_API_KEY).",
|
|
18719
|
+
disabled: "AI feature disabled (features.aiFeatures)."
|
|
18720
|
+
}
|
|
18721
|
+
};
|
|
18722
|
+
function ContentBriefPanel({ locale }) {
|
|
18723
|
+
const s = S6[locale] ?? S6.fr;
|
|
18724
|
+
const [keyword, setKeyword] = useState("");
|
|
18725
|
+
const [brief, setBrief] = useState(null);
|
|
18726
|
+
const [busy, setBusy] = useState(false);
|
|
18727
|
+
const [error, setError] = useState(null);
|
|
18728
|
+
const generate = async () => {
|
|
18729
|
+
if (!keyword.trim()) return;
|
|
18730
|
+
setBusy(true);
|
|
18731
|
+
setError(null);
|
|
18732
|
+
setBrief(null);
|
|
18733
|
+
try {
|
|
18734
|
+
const res = await fetch("/api/seo-plugin/ai-content-brief", {
|
|
18735
|
+
method: "POST",
|
|
18736
|
+
credentials: "include",
|
|
18737
|
+
headers: { "Content-Type": "application/json" },
|
|
18738
|
+
body: JSON.stringify({ keyword: keyword.trim() })
|
|
18739
|
+
});
|
|
18740
|
+
if (res.status === 404) {
|
|
18741
|
+
setError(s.disabled);
|
|
18742
|
+
return;
|
|
18743
|
+
}
|
|
18744
|
+
const json = await res.json();
|
|
18745
|
+
if (!res.ok) {
|
|
18746
|
+
setError(json.code === "no_api_key" ? s.noKey : json.error || `Error ${res.status}`);
|
|
18747
|
+
return;
|
|
18748
|
+
}
|
|
18749
|
+
setBrief(json.brief);
|
|
18750
|
+
} catch (e) {
|
|
18751
|
+
setError(e instanceof Error ? e.message : "Network error");
|
|
18752
|
+
} finally {
|
|
18753
|
+
setBusy(false);
|
|
18754
|
+
}
|
|
18755
|
+
};
|
|
18756
|
+
const card = {
|
|
18757
|
+
padding: 16,
|
|
18758
|
+
borderRadius: 12,
|
|
18759
|
+
border: `1px solid ${C9.border}`,
|
|
18760
|
+
backgroundColor: C9.card,
|
|
18761
|
+
marginBottom: 20
|
|
18762
|
+
};
|
|
18763
|
+
const chip = {
|
|
18764
|
+
display: "inline-block",
|
|
18765
|
+
fontSize: 11,
|
|
18766
|
+
padding: "3px 8px",
|
|
18767
|
+
borderRadius: 999,
|
|
18768
|
+
backgroundColor: "rgba(59,130,246,0.12)",
|
|
18769
|
+
color: C9.blue,
|
|
18770
|
+
border: `1px solid ${C9.border}`,
|
|
18771
|
+
margin: "0 6px 6px 0"
|
|
18772
|
+
};
|
|
18773
|
+
const h4 = { fontSize: 12, fontWeight: 800, color: C9.text, margin: "14px 0 6px", textTransform: "uppercase" };
|
|
18774
|
+
return /* @__PURE__ */ jsxs("div", { style: card, children: [
|
|
18775
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: 16, fontWeight: 800, color: C9.text }, children: s.title }),
|
|
18776
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: 12, color: C9.sub, marginTop: 2, marginBottom: 12 }, children: s.subtitle }),
|
|
18777
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8, flexWrap: "wrap" }, children: [
|
|
18778
|
+
/* @__PURE__ */ jsx(
|
|
18779
|
+
"input",
|
|
18780
|
+
{
|
|
18781
|
+
value: keyword,
|
|
18782
|
+
onChange: (e) => setKeyword(e.target.value),
|
|
18783
|
+
onKeyDown: (e) => {
|
|
18784
|
+
if (e.key === "Enter") void generate();
|
|
18785
|
+
},
|
|
18786
|
+
placeholder: s.placeholder,
|
|
18787
|
+
style: {
|
|
18788
|
+
flex: 1,
|
|
18789
|
+
minWidth: 220,
|
|
18790
|
+
padding: "8px 12px",
|
|
18791
|
+
fontSize: 13,
|
|
18792
|
+
borderRadius: 8,
|
|
18793
|
+
border: `1px solid ${C9.border}`,
|
|
18794
|
+
backgroundColor: C9.bg,
|
|
18795
|
+
color: C9.text
|
|
18796
|
+
}
|
|
18797
|
+
}
|
|
18798
|
+
),
|
|
18799
|
+
/* @__PURE__ */ jsx(
|
|
18800
|
+
"button",
|
|
18801
|
+
{
|
|
18802
|
+
type: "button",
|
|
18803
|
+
onClick: () => void generate(),
|
|
18804
|
+
disabled: busy || !keyword.trim(),
|
|
18805
|
+
style: {
|
|
18806
|
+
padding: "8px 14px",
|
|
18807
|
+
borderRadius: 8,
|
|
18808
|
+
border: `1px solid ${C9.violet}`,
|
|
18809
|
+
backgroundColor: C9.violet,
|
|
18810
|
+
color: "#fff",
|
|
18811
|
+
fontSize: 12,
|
|
18812
|
+
fontWeight: 700,
|
|
18813
|
+
cursor: busy || !keyword.trim() ? "not-allowed" : "pointer",
|
|
18814
|
+
opacity: busy || !keyword.trim() ? 0.6 : 1
|
|
18815
|
+
},
|
|
18816
|
+
children: busy ? s.generating : `\u2728 ${s.generate}`
|
|
18817
|
+
}
|
|
18818
|
+
)
|
|
18819
|
+
] }),
|
|
18820
|
+
error && /* @__PURE__ */ jsx("div", { style: { color: C9.red, fontSize: 13, fontWeight: 600, marginTop: 10 }, children: error }),
|
|
18821
|
+
brief && /* @__PURE__ */ jsxs("div", { style: { marginTop: 8 }, children: [
|
|
18822
|
+
brief.recommendedWordCount > 0 && /* @__PURE__ */ jsxs("div", { style: { fontSize: 12, color: C9.sub, marginTop: 10 }, children: [
|
|
18823
|
+
s.words,
|
|
18824
|
+
": ",
|
|
18825
|
+
/* @__PURE__ */ jsxs("b", { style: { color: C9.text }, children: [
|
|
18826
|
+
"~",
|
|
18827
|
+
brief.recommendedWordCount,
|
|
18828
|
+
" ",
|
|
18829
|
+
s.wordsUnit
|
|
18830
|
+
] })
|
|
18831
|
+
] }),
|
|
18832
|
+
brief.outline.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18833
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.outline }),
|
|
18834
|
+
/* @__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)) })
|
|
18835
|
+
] }),
|
|
18836
|
+
brief.entities.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18837
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.entities }),
|
|
18838
|
+
/* @__PURE__ */ jsx("div", { children: brief.entities.map((e, i) => /* @__PURE__ */ jsx("span", { style: chip, children: e }, i)) })
|
|
18839
|
+
] }),
|
|
18840
|
+
brief.questions.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18841
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.questions }),
|
|
18842
|
+
/* @__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)) })
|
|
18843
|
+
] }),
|
|
18844
|
+
brief.internalLinkIdeas.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18845
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.links }),
|
|
18846
|
+
/* @__PURE__ */ jsx("div", { children: brief.internalLinkIdeas.map((l, i) => /* @__PURE__ */ jsx("span", { style: chip, children: l }, i)) })
|
|
18847
|
+
] }),
|
|
18848
|
+
brief.notes.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18849
|
+
/* @__PURE__ */ jsx("div", { style: h4, children: s.notes }),
|
|
18850
|
+
/* @__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)) })
|
|
18851
|
+
] })
|
|
18852
|
+
] })
|
|
18853
|
+
] });
|
|
18854
|
+
}
|
|
18472
18855
|
var V9 = {
|
|
18473
18856
|
text: "var(--theme-text, #1a1a1a)",
|
|
18474
18857
|
textSecondary: "var(--theme-elevation-600, #6b7280)",
|
|
@@ -18831,6 +19214,7 @@ function KeywordResearchView() {
|
|
|
18831
19214
|
]
|
|
18832
19215
|
}
|
|
18833
19216
|
),
|
|
19217
|
+
/* @__PURE__ */ jsx(ContentBriefPanel, { locale }),
|
|
18834
19218
|
/* @__PURE__ */ jsx(
|
|
18835
19219
|
"div",
|
|
18836
19220
|
{
|
|
@@ -19605,7 +19989,7 @@ var controlBtnStyle = {
|
|
|
19605
19989
|
cursor: "pointer",
|
|
19606
19990
|
lineHeight: 1.4
|
|
19607
19991
|
};
|
|
19608
|
-
var
|
|
19992
|
+
var C10 = {
|
|
19609
19993
|
cyan: "#00E5FF",
|
|
19610
19994
|
black: "#000",
|
|
19611
19995
|
green: "#22c55e",
|
|
@@ -19620,10 +20004,10 @@ var C9 = {
|
|
|
19620
20004
|
var TITLE_MIN = 30;
|
|
19621
20005
|
var TITLE_MAX = 60;
|
|
19622
20006
|
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
|
|
20007
|
+
if (len === 0) return C10.textSecondary;
|
|
20008
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C10.green;
|
|
20009
|
+
if (len > 0 && len < TITLE_MIN) return C10.orange;
|
|
20010
|
+
return C10.red;
|
|
19627
20011
|
}
|
|
19628
20012
|
function getProgressPercent(len) {
|
|
19629
20013
|
if (len === 0) return 0;
|
|
@@ -19631,9 +20015,9 @@ function getProgressPercent(len) {
|
|
|
19631
20015
|
}
|
|
19632
20016
|
function getProgressColor(len) {
|
|
19633
20017
|
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
|
|
20018
|
+
if (len >= TITLE_MIN && len <= TITLE_MAX) return C10.green;
|
|
20019
|
+
if (len < TITLE_MIN) return C10.orange;
|
|
20020
|
+
return C10.red;
|
|
19637
20021
|
}
|
|
19638
20022
|
function MetaTitleField({
|
|
19639
20023
|
path,
|
|
@@ -19704,7 +20088,7 @@ function MetaTitleField({
|
|
|
19704
20088
|
style: {
|
|
19705
20089
|
fontSize: 13,
|
|
19706
20090
|
fontWeight: 700,
|
|
19707
|
-
color:
|
|
20091
|
+
color: C10.textPrimary
|
|
19708
20092
|
},
|
|
19709
20093
|
children: t.metaTitle.label
|
|
19710
20094
|
}
|
|
@@ -19744,9 +20128,9 @@ function MetaTitleField({
|
|
|
19744
20128
|
fontSize: 14,
|
|
19745
20129
|
fontFamily: "inherit",
|
|
19746
20130
|
borderRadius: 8,
|
|
19747
|
-
border: `2px solid ${
|
|
19748
|
-
backgroundColor:
|
|
19749
|
-
color:
|
|
20131
|
+
border: `2px solid ${C10.border}`,
|
|
20132
|
+
backgroundColor: C10.surfaceBg,
|
|
20133
|
+
color: C10.textPrimary,
|
|
19750
20134
|
outline: "none",
|
|
19751
20135
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
19752
20136
|
}
|
|
@@ -19764,9 +20148,9 @@ function MetaTitleField({
|
|
|
19764
20148
|
gap: 5,
|
|
19765
20149
|
padding: "8px 14px",
|
|
19766
20150
|
borderRadius: 8,
|
|
19767
|
-
border: `2px solid ${
|
|
19768
|
-
backgroundColor: loading ?
|
|
19769
|
-
color: loading ?
|
|
20151
|
+
border: `2px solid ${C10.border}`,
|
|
20152
|
+
backgroundColor: loading ? C10.surface50 : C10.cyan,
|
|
20153
|
+
color: loading ? C10.textSecondary : C10.black,
|
|
19770
20154
|
fontWeight: 800,
|
|
19771
20155
|
fontSize: 11,
|
|
19772
20156
|
textTransform: "uppercase",
|
|
@@ -19813,7 +20197,7 @@ function MetaTitleField({
|
|
|
19813
20197
|
justifyContent: "space-between",
|
|
19814
20198
|
marginTop: 4,
|
|
19815
20199
|
fontSize: 10,
|
|
19816
|
-
color:
|
|
20200
|
+
color: C10.textSecondary
|
|
19817
20201
|
},
|
|
19818
20202
|
children: [
|
|
19819
20203
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
@@ -19847,9 +20231,9 @@ function MetaTitleField({
|
|
|
19847
20231
|
borderRadius: 6,
|
|
19848
20232
|
fontSize: 11,
|
|
19849
20233
|
fontWeight: 600,
|
|
19850
|
-
color:
|
|
20234
|
+
color: C10.red,
|
|
19851
20235
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
19852
|
-
border: `1px solid ${
|
|
20236
|
+
border: `1px solid ${C10.red}`
|
|
19853
20237
|
},
|
|
19854
20238
|
children: error
|
|
19855
20239
|
}
|
|
@@ -19858,7 +20242,7 @@ function MetaTitleField({
|
|
|
19858
20242
|
}
|
|
19859
20243
|
);
|
|
19860
20244
|
}
|
|
19861
|
-
var
|
|
20245
|
+
var C11 = {
|
|
19862
20246
|
cyan: "#00E5FF",
|
|
19863
20247
|
black: "#000",
|
|
19864
20248
|
green: "#22c55e",
|
|
@@ -19873,10 +20257,10 @@ var C10 = {
|
|
|
19873
20257
|
var DESC_MIN = 120;
|
|
19874
20258
|
var DESC_MAX = 160;
|
|
19875
20259
|
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
|
|
20260
|
+
if (len === 0) return C11.textSecondary;
|
|
20261
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C11.green;
|
|
20262
|
+
if (len > 0 && len < DESC_MIN) return C11.orange;
|
|
20263
|
+
return C11.red;
|
|
19880
20264
|
}
|
|
19881
20265
|
function getProgressPercent2(len) {
|
|
19882
20266
|
if (len === 0) return 0;
|
|
@@ -19884,9 +20268,9 @@ function getProgressPercent2(len) {
|
|
|
19884
20268
|
}
|
|
19885
20269
|
function getProgressColor2(len) {
|
|
19886
20270
|
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
|
|
20271
|
+
if (len >= DESC_MIN && len <= DESC_MAX) return C11.green;
|
|
20272
|
+
if (len < DESC_MIN) return C11.orange;
|
|
20273
|
+
return C11.red;
|
|
19890
20274
|
}
|
|
19891
20275
|
function MetaDescriptionField({
|
|
19892
20276
|
path,
|
|
@@ -19957,7 +20341,7 @@ function MetaDescriptionField({
|
|
|
19957
20341
|
style: {
|
|
19958
20342
|
fontSize: 13,
|
|
19959
20343
|
fontWeight: 700,
|
|
19960
|
-
color:
|
|
20344
|
+
color: C11.textPrimary
|
|
19961
20345
|
},
|
|
19962
20346
|
children: t.metaDescription.label
|
|
19963
20347
|
}
|
|
@@ -19997,9 +20381,9 @@ function MetaDescriptionField({
|
|
|
19997
20381
|
fontSize: 14,
|
|
19998
20382
|
fontFamily: "inherit",
|
|
19999
20383
|
borderRadius: 8,
|
|
20000
|
-
border: `2px solid ${
|
|
20001
|
-
backgroundColor:
|
|
20002
|
-
color:
|
|
20384
|
+
border: `2px solid ${C11.border}`,
|
|
20385
|
+
backgroundColor: C11.surfaceBg,
|
|
20386
|
+
color: C11.textPrimary,
|
|
20003
20387
|
outline: "none",
|
|
20004
20388
|
resize: "vertical",
|
|
20005
20389
|
lineHeight: 1.5,
|
|
@@ -20019,9 +20403,9 @@ function MetaDescriptionField({
|
|
|
20019
20403
|
gap: 5,
|
|
20020
20404
|
padding: "8px 14px",
|
|
20021
20405
|
borderRadius: 8,
|
|
20022
|
-
border: `2px solid ${
|
|
20023
|
-
backgroundColor: loading ?
|
|
20024
|
-
color: loading ?
|
|
20406
|
+
border: `2px solid ${C11.border}`,
|
|
20407
|
+
backgroundColor: loading ? C11.surface50 : C11.cyan,
|
|
20408
|
+
color: loading ? C11.textSecondary : C11.black,
|
|
20025
20409
|
fontWeight: 800,
|
|
20026
20410
|
fontSize: 11,
|
|
20027
20411
|
textTransform: "uppercase",
|
|
@@ -20069,7 +20453,7 @@ function MetaDescriptionField({
|
|
|
20069
20453
|
justifyContent: "space-between",
|
|
20070
20454
|
marginTop: 4,
|
|
20071
20455
|
fontSize: 10,
|
|
20072
|
-
color:
|
|
20456
|
+
color: C11.textSecondary
|
|
20073
20457
|
},
|
|
20074
20458
|
children: [
|
|
20075
20459
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
@@ -20103,9 +20487,9 @@ function MetaDescriptionField({
|
|
|
20103
20487
|
borderRadius: 6,
|
|
20104
20488
|
fontSize: 11,
|
|
20105
20489
|
fontWeight: 600,
|
|
20106
|
-
color:
|
|
20490
|
+
color: C11.red,
|
|
20107
20491
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20108
|
-
border: `1px solid ${
|
|
20492
|
+
border: `1px solid ${C11.red}`
|
|
20109
20493
|
},
|
|
20110
20494
|
children: error
|
|
20111
20495
|
}
|
|
@@ -20114,7 +20498,7 @@ function MetaDescriptionField({
|
|
|
20114
20498
|
}
|
|
20115
20499
|
);
|
|
20116
20500
|
}
|
|
20117
|
-
var
|
|
20501
|
+
var C12 = {
|
|
20118
20502
|
cyan: "#00E5FF",
|
|
20119
20503
|
black: "#000",
|
|
20120
20504
|
white: "#fff",
|
|
@@ -20191,8 +20575,8 @@ function MetaImageField({
|
|
|
20191
20575
|
gap: 10,
|
|
20192
20576
|
padding: "10px 14px",
|
|
20193
20577
|
borderRadius: 8,
|
|
20194
|
-
border: `2px solid ${
|
|
20195
|
-
backgroundColor:
|
|
20578
|
+
border: `2px solid ${C12.border}`,
|
|
20579
|
+
backgroundColor: C12.surfaceBg,
|
|
20196
20580
|
boxShadow: "2px 2px 0 0 var(--theme-border-color, rgba(0,0,0,1))"
|
|
20197
20581
|
},
|
|
20198
20582
|
children: [
|
|
@@ -20211,7 +20595,7 @@ function MetaImageField({
|
|
|
20211
20595
|
fontWeight: 900,
|
|
20212
20596
|
backgroundColor: hasImage ? "rgba(34,197,94,0.15)" : "rgba(255,138,0,0.15)",
|
|
20213
20597
|
color: hasImage ? "#16a34a" : "#d97706",
|
|
20214
|
-
border: `1px solid ${hasImage ?
|
|
20598
|
+
border: `1px solid ${hasImage ? C12.green : C12.orange}`
|
|
20215
20599
|
},
|
|
20216
20600
|
children: hasImage ? "\u2713" : "!"
|
|
20217
20601
|
}
|
|
@@ -20223,7 +20607,7 @@ function MetaImageField({
|
|
|
20223
20607
|
style: {
|
|
20224
20608
|
fontSize: 12,
|
|
20225
20609
|
fontWeight: 700,
|
|
20226
|
-
color:
|
|
20610
|
+
color: C12.textPrimary
|
|
20227
20611
|
},
|
|
20228
20612
|
children: t.metaImage.label
|
|
20229
20613
|
}
|
|
@@ -20233,7 +20617,7 @@ function MetaImageField({
|
|
|
20233
20617
|
{
|
|
20234
20618
|
style: {
|
|
20235
20619
|
fontSize: 10,
|
|
20236
|
-
color:
|
|
20620
|
+
color: C12.textSecondary,
|
|
20237
20621
|
lineHeight: 1.4
|
|
20238
20622
|
},
|
|
20239
20623
|
children: hasImage ? t.metaImage.imageSet : t.metaImage.noImage
|
|
@@ -20253,9 +20637,9 @@ function MetaImageField({
|
|
|
20253
20637
|
gap: 5,
|
|
20254
20638
|
padding: "8px 14px",
|
|
20255
20639
|
borderRadius: 8,
|
|
20256
|
-
border: `2px solid ${
|
|
20257
|
-
backgroundColor: loading ?
|
|
20258
|
-
color: loading ?
|
|
20640
|
+
border: `2px solid ${C12.border}`,
|
|
20641
|
+
backgroundColor: loading ? C12.surface50 : success ? C12.green : C12.cyan,
|
|
20642
|
+
color: loading ? C12.textSecondary : success ? C12.white : C12.black,
|
|
20259
20643
|
fontWeight: 800,
|
|
20260
20644
|
fontSize: 11,
|
|
20261
20645
|
textTransform: "uppercase",
|
|
@@ -20282,9 +20666,9 @@ function MetaImageField({
|
|
|
20282
20666
|
borderRadius: 6,
|
|
20283
20667
|
fontSize: 11,
|
|
20284
20668
|
fontWeight: 600,
|
|
20285
|
-
color:
|
|
20669
|
+
color: C12.red,
|
|
20286
20670
|
backgroundColor: "rgba(239,68,68,0.08)",
|
|
20287
|
-
border: `1px solid ${
|
|
20671
|
+
border: `1px solid ${C12.red}`
|
|
20288
20672
|
},
|
|
20289
20673
|
children: error
|
|
20290
20674
|
}
|
|
@@ -20293,7 +20677,7 @@ function MetaImageField({
|
|
|
20293
20677
|
}
|
|
20294
20678
|
);
|
|
20295
20679
|
}
|
|
20296
|
-
var
|
|
20680
|
+
var C13 = {
|
|
20297
20681
|
black: "#000",
|
|
20298
20682
|
white: "#fff",
|
|
20299
20683
|
green: "#22c55e",
|
|
@@ -20307,15 +20691,15 @@ var C12 = {
|
|
|
20307
20691
|
function getCompletenessColor(count) {
|
|
20308
20692
|
switch (count) {
|
|
20309
20693
|
case 0:
|
|
20310
|
-
return
|
|
20694
|
+
return C13.red;
|
|
20311
20695
|
case 1:
|
|
20312
|
-
return
|
|
20696
|
+
return C13.orange;
|
|
20313
20697
|
case 2:
|
|
20314
|
-
return
|
|
20698
|
+
return C13.yellow;
|
|
20315
20699
|
case 3:
|
|
20316
|
-
return
|
|
20700
|
+
return C13.green;
|
|
20317
20701
|
default:
|
|
20318
|
-
return
|
|
20702
|
+
return C13.textSecondary;
|
|
20319
20703
|
}
|
|
20320
20704
|
}
|
|
20321
20705
|
function getCompletenessLabel(count, ov) {
|
|
@@ -20373,8 +20757,8 @@ function OverviewField({
|
|
|
20373
20757
|
fontFamily: "var(--font-body, Inter, system-ui, sans-serif)",
|
|
20374
20758
|
padding: "12px 14px",
|
|
20375
20759
|
borderRadius: 10,
|
|
20376
|
-
border: `2px solid ${
|
|
20377
|
-
backgroundColor:
|
|
20760
|
+
border: `2px solid ${C13.border}`,
|
|
20761
|
+
backgroundColor: C13.surfaceBg,
|
|
20378
20762
|
boxShadow: "3px 3px 0 0 var(--theme-border-color, rgba(0,0,0,1))",
|
|
20379
20763
|
marginBottom: 12
|
|
20380
20764
|
},
|
|
@@ -20397,7 +20781,7 @@ function OverviewField({
|
|
|
20397
20781
|
fontWeight: 800,
|
|
20398
20782
|
textTransform: "uppercase",
|
|
20399
20783
|
letterSpacing: "0.04em",
|
|
20400
|
-
color:
|
|
20784
|
+
color: C13.textPrimary
|
|
20401
20785
|
},
|
|
20402
20786
|
children: t.overview.metaCompleteness
|
|
20403
20787
|
}
|
|
@@ -20412,8 +20796,8 @@ function OverviewField({
|
|
|
20412
20796
|
fontSize: 11,
|
|
20413
20797
|
fontWeight: 800,
|
|
20414
20798
|
backgroundColor: completenessColor,
|
|
20415
|
-
color: completenessColor ===
|
|
20416
|
-
border: `2px solid ${
|
|
20799
|
+
color: completenessColor === C13.yellow ? C13.black : C13.white,
|
|
20800
|
+
border: `2px solid ${C13.border}`,
|
|
20417
20801
|
textTransform: "uppercase",
|
|
20418
20802
|
letterSpacing: "0.03em"
|
|
20419
20803
|
},
|
|
@@ -20511,7 +20895,7 @@ function OverviewField({
|
|
|
20511
20895
|
style: {
|
|
20512
20896
|
fontSize: 12,
|
|
20513
20897
|
fontWeight: 600,
|
|
20514
|
-
color: item.filled ?
|
|
20898
|
+
color: item.filled ? C13.textPrimary : C13.textSecondary
|
|
20515
20899
|
},
|
|
20516
20900
|
children: item.label
|
|
20517
20901
|
}
|
|
@@ -20523,7 +20907,7 @@ function OverviewField({
|
|
|
20523
20907
|
marginLeft: "auto",
|
|
20524
20908
|
fontSize: 10,
|
|
20525
20909
|
fontWeight: 700,
|
|
20526
|
-
color: item.filled ?
|
|
20910
|
+
color: item.filled ? C13.green : C13.red,
|
|
20527
20911
|
textTransform: "uppercase",
|
|
20528
20912
|
letterSpacing: "0.03em"
|
|
20529
20913
|
},
|
|
@@ -20540,7 +20924,7 @@ function OverviewField({
|
|
|
20540
20924
|
}
|
|
20541
20925
|
);
|
|
20542
20926
|
}
|
|
20543
|
-
var
|
|
20927
|
+
var C14 = {
|
|
20544
20928
|
cyan: "#00E5FF",
|
|
20545
20929
|
black: "#000",
|
|
20546
20930
|
white: "#fff",
|
|
@@ -20559,10 +20943,10 @@ var G = {
|
|
|
20559
20943
|
descGrey: "#4d5156",
|
|
20560
20944
|
faviconBg: "#e8eaed"};
|
|
20561
20945
|
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
|
|
20946
|
+
if (len >= min && len <= max) return C14.green;
|
|
20947
|
+
if (len > 0 && len < min) return C14.orange;
|
|
20948
|
+
if (len > max) return C14.red;
|
|
20949
|
+
return C14.textSecondary;
|
|
20566
20950
|
}
|
|
20567
20951
|
function truncateText(text, maxChars) {
|
|
20568
20952
|
if (text.length <= maxChars) return text;
|
|
@@ -20617,8 +21001,8 @@ function SerpPreview({
|
|
|
20617
21001
|
padding: "10px 12px",
|
|
20618
21002
|
cursor: "pointer",
|
|
20619
21003
|
borderRadius: 8,
|
|
20620
|
-
border: `2px solid ${
|
|
20621
|
-
backgroundColor:
|
|
21004
|
+
border: `2px solid ${C14.border}`,
|
|
21005
|
+
backgroundColor: C14.surface50,
|
|
20622
21006
|
userSelect: "none"
|
|
20623
21007
|
},
|
|
20624
21008
|
children: [
|
|
@@ -20633,7 +21017,7 @@ function SerpPreview({
|
|
|
20633
21017
|
fontWeight: 800,
|
|
20634
21018
|
textTransform: "uppercase",
|
|
20635
21019
|
letterSpacing: "0.04em",
|
|
20636
|
-
color:
|
|
21020
|
+
color: C14.textPrimary
|
|
20637
21021
|
},
|
|
20638
21022
|
children: [
|
|
20639
21023
|
/* @__PURE__ */ jsxs(
|
|
@@ -20665,7 +21049,7 @@ function SerpPreview({
|
|
|
20665
21049
|
transition: "transform 0.2s",
|
|
20666
21050
|
display: "inline-block",
|
|
20667
21051
|
transform: open ? "rotate(90deg)" : "none",
|
|
20668
|
-
color:
|
|
21052
|
+
color: C14.textSecondary
|
|
20669
21053
|
},
|
|
20670
21054
|
children: "\u25B6"
|
|
20671
21055
|
}
|
|
@@ -20698,10 +21082,10 @@ function SerpPreview({
|
|
|
20698
21082
|
"div",
|
|
20699
21083
|
{
|
|
20700
21084
|
style: {
|
|
20701
|
-
backgroundColor:
|
|
20702
|
-
border: `2px solid ${
|
|
21085
|
+
backgroundColor: C14.white,
|
|
21086
|
+
border: `2px solid ${C14.border}`,
|
|
20703
21087
|
borderRadius: 12,
|
|
20704
|
-
boxShadow: `3px 3px 0 0 ${
|
|
21088
|
+
boxShadow: `3px 3px 0 0 ${C14.border}`,
|
|
20705
21089
|
padding: isDesktop ? 20 : 14,
|
|
20706
21090
|
maxWidth: isDesktop ? 650 : 380,
|
|
20707
21091
|
overflow: "hidden"
|
|
@@ -20764,7 +21148,7 @@ function SerpPreview({
|
|
|
20764
21148
|
style: {
|
|
20765
21149
|
fontSize: 14,
|
|
20766
21150
|
fontWeight: 400,
|
|
20767
|
-
color:
|
|
21151
|
+
color: C14.black,
|
|
20768
21152
|
lineHeight: 1.3,
|
|
20769
21153
|
whiteSpace: "nowrap",
|
|
20770
21154
|
overflow: "hidden",
|
|
@@ -20828,7 +21212,7 @@ function SerpPreview({
|
|
|
20828
21212
|
"span",
|
|
20829
21213
|
{
|
|
20830
21214
|
style: {
|
|
20831
|
-
color:
|
|
21215
|
+
color: C14.textSecondary,
|
|
20832
21216
|
fontStyle: "italic",
|
|
20833
21217
|
fontSize: titleFontSize - 2
|
|
20834
21218
|
},
|
|
@@ -20857,7 +21241,7 @@ function SerpPreview({
|
|
|
20857
21241
|
"span",
|
|
20858
21242
|
{
|
|
20859
21243
|
style: {
|
|
20860
|
-
color:
|
|
21244
|
+
color: C14.textSecondary,
|
|
20861
21245
|
fontStyle: "italic",
|
|
20862
21246
|
fontSize: descFontSize - 1
|
|
20863
21247
|
},
|
|
@@ -20890,7 +21274,7 @@ function SerpPreview({
|
|
|
20890
21274
|
fontSize: 11
|
|
20891
21275
|
},
|
|
20892
21276
|
children: [
|
|
20893
|
-
/* @__PURE__ */ jsx("span", { style: { color:
|
|
21277
|
+
/* @__PURE__ */ jsx("span", { style: { color: C14.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewTitle }),
|
|
20894
21278
|
/* @__PURE__ */ jsxs(
|
|
20895
21279
|
"span",
|
|
20896
21280
|
{
|
|
@@ -20919,7 +21303,7 @@ function SerpPreview({
|
|
|
20919
21303
|
fontSize: 11
|
|
20920
21304
|
},
|
|
20921
21305
|
children: [
|
|
20922
|
-
/* @__PURE__ */ jsx("span", { style: { color:
|
|
21306
|
+
/* @__PURE__ */ jsx("span", { style: { color: C14.textSecondary, fontWeight: 600 }, children: t.serpPreview.previewDescription }),
|
|
20923
21307
|
/* @__PURE__ */ jsxs(
|
|
20924
21308
|
"span",
|
|
20925
21309
|
{
|
|
@@ -20948,14 +21332,14 @@ function SerpPreview({
|
|
|
20948
21332
|
fontSize: 11
|
|
20949
21333
|
},
|
|
20950
21334
|
children: [
|
|
20951
|
-
/* @__PURE__ */ jsx("span", { style: { color:
|
|
21335
|
+
/* @__PURE__ */ jsx("span", { style: { color: C14.textSecondary, fontWeight: 600 }, children: t.serpPreview.url }),
|
|
20952
21336
|
/* @__PURE__ */ jsxs(
|
|
20953
21337
|
"span",
|
|
20954
21338
|
{
|
|
20955
21339
|
style: {
|
|
20956
21340
|
fontWeight: 700,
|
|
20957
21341
|
fontVariantNumeric: "tabular-nums",
|
|
20958
|
-
color: fullUrl.length <= 75 ?
|
|
21342
|
+
color: fullUrl.length <= 75 ? C14.green : C14.red
|
|
20959
21343
|
},
|
|
20960
21344
|
children: [
|
|
20961
21345
|
fullUrl.length,
|
|
@@ -20990,13 +21374,13 @@ function DeviceButton({
|
|
|
20990
21374
|
gap: 5,
|
|
20991
21375
|
padding: "4px 12px",
|
|
20992
21376
|
borderRadius: 6,
|
|
20993
|
-
border: `2px solid ${
|
|
21377
|
+
border: `2px solid ${C14.border}`,
|
|
20994
21378
|
fontSize: 11,
|
|
20995
21379
|
fontWeight: 700,
|
|
20996
21380
|
cursor: "pointer",
|
|
20997
|
-
backgroundColor: active ?
|
|
20998
|
-
color: active ?
|
|
20999
|
-
boxShadow: active ? `2px 2px 0 0 ${
|
|
21381
|
+
backgroundColor: active ? C14.cyan : C14.surfaceBg,
|
|
21382
|
+
color: active ? C14.black : C14.textPrimary,
|
|
21383
|
+
boxShadow: active ? `2px 2px 0 0 ${C14.border}` : "none",
|
|
21000
21384
|
transition: "background-color 0.15s"
|
|
21001
21385
|
},
|
|
21002
21386
|
children: [
|