@prenta/admin 0.97.0 → 0.97.2
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/CHANGELOG.md +44 -0
- package/dist/__tests__/components/seo-score-bands.test.d.ts +2 -0
- package/dist/__tests__/components/seo-score-bands.test.d.ts.map +1 -0
- package/dist/__tests__/components/seo-score-bands.test.js +96 -0
- package/dist/__tests__/components/seo-score-bands.test.js.map +1 -0
- package/dist/__tests__/lib/post-editor-service.test.js +45 -0
- package/dist/__tests__/lib/post-editor-service.test.js.map +1 -1
- package/dist/components/SEOPerformance.d.ts.map +1 -1
- package/dist/components/SEOPerformance.js +7 -2
- package/dist/components/SEOPerformance.js.map +1 -1
- package/dist/components/posts/badges.d.ts +1 -1
- package/dist/components/posts/badges.d.ts.map +1 -1
- package/dist/components/posts/badges.js +26 -12
- package/dist/components/posts/badges.js.map +1 -1
- package/dist/components/seo/primitives.d.ts +14 -1
- package/dist/components/seo/primitives.d.ts.map +1 -1
- package/dist/components/seo/primitives.js +14 -1
- package/dist/components/seo/primitives.js.map +1 -1
- package/dist/views/Pages.d.ts.map +1 -1
- package/dist/views/Pages.js +4 -1
- package/dist/views/Pages.js.map +1 -1
- package/package.json +5 -5
- package/src/__tests__/components/seo-score-bands.test.ts +99 -0
- package/src/__tests__/lib/post-editor-service.test.ts +47 -0
- package/src/components/SEOPerformance.tsx +7 -2
- package/src/components/posts/badges.tsx +29 -12
- package/src/components/seo/primitives.tsx +14 -1
- package/src/views/Pages.tsx +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# @actuate-media/cms-admin
|
|
2
2
|
|
|
3
|
+
## 0.97.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- ff45075: SEO score bands come from one function
|
|
8
|
+
|
|
9
|
+
The thresholds that turn a 0–100 SEO score into good/fair/poor were written out in several places that all happened to agree. Four surfaces grading the same score — the Posts list palette and indicator, the SEO performance badge, and the Pages list badge — now derive from `gradeFromScore`, and a source-level guard fails by filename if a fifth appears.
|
|
10
|
+
|
|
11
|
+
That matters because followup 8 asks whether the "fair" floor should be 55 or 60. Changing it would have moved the SEO tab's ring and left the other surfaces on 60, so a page scoring 55–59 would have shown a warning badge in one list beside a passing ring in the editor.
|
|
12
|
+
|
|
13
|
+
No rendered colour changes. A pinned table of edge scores (0, 1, 59, 60, 79, 80, 100) proves it.
|
|
14
|
+
|
|
15
|
+
One latent inconsistency is fixed along the way: `SeoScoreIndicator` mapped score → palette key → token class, and the last hop painted anything that was not green or orange as destructive — so a zero score resolved to the `gray` key and then rendered a red dot. It derives from `gradeMeta` now.
|
|
16
|
+
|
|
17
|
+
Three other band sets are deliberately left alone and documented as exempt: the page-builder _design_ score (80/65/50) and the media SEO audit (80/30) are different metrics, and the legacy page-builder SEO panel grades the same score at 70/40 — a real disagreement with the SEO tab that needs a product decision rather than a silent rewrite.
|
|
18
|
+
|
|
19
|
+
## 0.97.1
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- 8614518: Case studies and portfolio items can be opened in the Post Editor
|
|
24
|
+
|
|
25
|
+
`caseStudyCollection` declared no `sections`, `body`, `category` or `publishDate`; `portfolioCollection` no `sections`, `body` or `publishDate`. Both are `type: 'post'`, and every such collection routes to the Post Editor — which refuses to open one missing a key it persists, because the server's field-access layer would silently drop that content on save.
|
|
26
|
+
|
|
27
|
+
So `caseStudies: caseStudyCollection()` produced a content type nobody could edit. Only `blogPostCollection` satisfied the contract, and its docblock claimed it explicitly, which is how the disagreement stayed invisible: the contract lived in `@prenta/admin` as `REQUIRED_POST_FIELDS` while the collections were assembled field by field in `@prenta/core`.
|
|
28
|
+
|
|
29
|
+
**New export: `postEditorFields()`** — the editor's storage contract as one spread. Spread it into any `type: 'post'` collection and it works in the section editor:
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
myGuides: {
|
|
33
|
+
slug: 'guides',
|
|
34
|
+
type: 'post',
|
|
35
|
+
fields: { ...titleField(), ...slugField(), ...postEditorFields(), difficulty: { type: 'text' } },
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
All three shipped post presets now use it, including the one that was already complete — so there is a single definition of the contract rather than three that happen to agree.
|
|
40
|
+
|
|
41
|
+
**Additive only.** A preset's domain model is untouched: a case study still has challenge/solution/results and its own `publishedDate` sort, a portfolio item still has gallery, stack and its structured Category select. The spread goes first so those customisations still win. Verified by diffing every preset before and after: the two broken ones gained exactly the missing keys with nothing removed and nothing changed, and `blogPostCollection` is unchanged apart from an added help description.
|
|
42
|
+
|
|
43
|
+
A case study now carries both `publishDate` and `publishedDate`. That is not visible as a duplicate — the post editor renders a fixed field set and consults the collection only for `category`/`tags` — and `resolveContentDates` already treated the two as aliases for JSON-LD and OG.
|
|
44
|
+
|
|
45
|
+
A regression test enumerates every exported `*Collection` with `type: 'post'` and asserts the real guard accepts it, so a preset added later is covered without anyone remembering.
|
|
46
|
+
|
|
3
47
|
## 0.97.0
|
|
4
48
|
|
|
5
49
|
### Minor Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seo-score-bands.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/components/seo-score-bands.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { readFileSync, readdirSync } from 'node:fs';
|
|
2
|
+
import { join, sep } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { describe, expect, it } from 'vitest';
|
|
5
|
+
import { gradeFromScore, gradeMeta } from '../../components/seo/primitives.js';
|
|
6
|
+
import { seoScorePalette } from '../../components/posts/badges.js';
|
|
7
|
+
/**
|
|
8
|
+
* The SEO score bands live in exactly one function.
|
|
9
|
+
*
|
|
10
|
+
* They were written out three times — `gradeFromScore`, the Posts list's score
|
|
11
|
+
* palette, and the SEO performance badge — plus a fourth mapping from palette
|
|
12
|
+
* key to token class inside the score indicator. All of them agreed, so
|
|
13
|
+
* nothing looked wrong; the cost was latent.
|
|
14
|
+
*
|
|
15
|
+
* It would have arrived with followup 8, which asks whether the "fair" floor
|
|
16
|
+
* should be 55 (the design handoff) or 60 (this code). Editing that number in
|
|
17
|
+
* `gradeFromScore` would have left the other surfaces on 60, so a page scoring
|
|
18
|
+
* 55-59 would show a green-ish ring beside an orange Posts badge.
|
|
19
|
+
*/
|
|
20
|
+
describe('SEO score bands are defined once', () => {
|
|
21
|
+
const PKG = fileURLToPath(new URL('../../../', import.meta.url));
|
|
22
|
+
/**
|
|
23
|
+
* Files allowed to name their own thresholds, and why. Anything not listed
|
|
24
|
+
* here that compares a score against a band edge is grading the SEO score
|
|
25
|
+
* and must use `gradeFromScore`.
|
|
26
|
+
*/
|
|
27
|
+
const EXEMPT = [
|
|
28
|
+
// The one function that defines the SEO bands.
|
|
29
|
+
'components/seo/primitives.tsx',
|
|
30
|
+
// A DESIGN score, not the SEO score — its own metric, its own bands
|
|
31
|
+
// (80/65/50). Sharing thresholds here would be a false economy.
|
|
32
|
+
'views/page-builder/DesignScore.tsx',
|
|
33
|
+
// MEDIA SEO completeness (alt text, filenames), graded 80/30 because the
|
|
34
|
+
// population and the remedy are different from a page's SEO score.
|
|
35
|
+
'views/MediaSeoAudit.tsx',
|
|
36
|
+
// The legacy page-builder SEO panel, graded 70/40 for the colour and
|
|
37
|
+
// 80/70/50 for the label — BOTH different from the SEO tab's 80/60, so a
|
|
38
|
+
// page scoring 75 is green here and orange there. That is a real
|
|
39
|
+
// disagreement about the same number and needs a decision (followup 8),
|
|
40
|
+
// not a silent rewrite from a refactor. Exempt so this guard can protect
|
|
41
|
+
// the surfaces that ARE settled; remove the entry when it is resolved.
|
|
42
|
+
'views/page-builder/SEOPanel.tsx',
|
|
43
|
+
];
|
|
44
|
+
it('no other component restates a threshold', () => {
|
|
45
|
+
const offenders = [];
|
|
46
|
+
const walk = (dir) => {
|
|
47
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
48
|
+
const full = join(dir, entry.name);
|
|
49
|
+
if (entry.isDirectory()) {
|
|
50
|
+
walk(full);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (!/\.tsx?$/.test(entry.name) || /\.test\.tsx?$/.test(entry.name))
|
|
54
|
+
continue;
|
|
55
|
+
const rel = full.slice(PKG.length).replaceAll(sep, '/');
|
|
56
|
+
if (EXEMPT.some((e) => rel.endsWith(e)))
|
|
57
|
+
continue;
|
|
58
|
+
const src = readFileSync(full, 'utf8');
|
|
59
|
+
// A score compared against a band edge is the shape being banned.
|
|
60
|
+
if (/\bscore\s*>=?\s*(80|60|55)\b/.test(src))
|
|
61
|
+
offenders.push(rel);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
walk(join(PKG, 'src'));
|
|
65
|
+
expect(offenders, `score thresholds restated in: ${offenders.join(', ')}`).toEqual([]);
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* Pinned so the refactor is provably behaviour-preserving, and so changing a
|
|
69
|
+
* band is a deliberate act that updates this table rather than a silent
|
|
70
|
+
* shift. 59/60 and 79/80 are the edges; 0 is the "never audited" case.
|
|
71
|
+
*/
|
|
72
|
+
it.each([
|
|
73
|
+
[0, 'critical', 'gray'],
|
|
74
|
+
[1, 'poor', 'red'],
|
|
75
|
+
[59, 'poor', 'red'],
|
|
76
|
+
[60, 'fair', 'orange'],
|
|
77
|
+
[79, 'fair', 'orange'],
|
|
78
|
+
[80, 'good', 'green'],
|
|
79
|
+
[100, 'good', 'green'],
|
|
80
|
+
])('score %i is %s and paints %s', (score, grade, tagColor) => {
|
|
81
|
+
expect(gradeFromScore(score)).toBe(grade);
|
|
82
|
+
expect(seoScorePalette(score)).toBe(tagColor);
|
|
83
|
+
});
|
|
84
|
+
it('an unscored post is grey rather than a failure', () => {
|
|
85
|
+
expect(seoScorePalette(null)).toBe('gray');
|
|
86
|
+
expect(seoScorePalette(Number.NaN)).toBe('gray');
|
|
87
|
+
});
|
|
88
|
+
it('every grade has a token class, so no surface has to invent one', () => {
|
|
89
|
+
for (const grade of ['good', 'fair', 'poor', 'critical']) {
|
|
90
|
+
const meta = gradeMeta(grade);
|
|
91
|
+
expect(meta.dot, grade).toMatch(/^bg-/);
|
|
92
|
+
expect(meta.text, grade).toMatch(/^text-/);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=seo-score-bands.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seo-score-bands.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/seo-score-bands.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import * as corePresets from '@prenta/core';
|
|
2
3
|
// `cmsApi` is the only I/O dependency; mock it so the service is tested
|
|
3
4
|
// hermetically. Responses follow the SDK `{ data, error }` envelope.
|
|
4
5
|
const cmsApiMock = vi.fn();
|
|
@@ -462,4 +463,48 @@ describe('tags round-trip', () => {
|
|
|
462
463
|
expect(body.featuredImage).not.toBe('');
|
|
463
464
|
});
|
|
464
465
|
});
|
|
466
|
+
/**
|
|
467
|
+
* Every `type: 'post'` preset cms-core ships must open in the Post Editor.
|
|
468
|
+
*
|
|
469
|
+
* Two of them did not. `caseStudyCollection` declared no `sections`, `body`,
|
|
470
|
+
* `category` or `publishDate`; `portfolioCollection` no `sections`, `body` or
|
|
471
|
+
* `publishDate`. Both route to this editor — `collection-routes.ts` sends every
|
|
472
|
+
* `type: 'post'` collection here — so a consumer writing
|
|
473
|
+
* `caseStudies: caseStudyCollection()` got a content type the editor refused to
|
|
474
|
+
* open, in the published package rather than a demo fixture.
|
|
475
|
+
*
|
|
476
|
+
* Nothing connected the two halves: the contract lived in this package as
|
|
477
|
+
* `REQUIRED_POST_FIELDS`, the collections were assembled field by field in
|
|
478
|
+
* cms-core, and only `blogPostCollection` happened to agree.
|
|
479
|
+
*
|
|
480
|
+
* This is the join. It lives HERE because this is where the contract lives —
|
|
481
|
+
* restating the field list over in cms-core would recreate the second source of
|
|
482
|
+
* truth that caused the drift. And it ENUMERATES the presets rather than naming
|
|
483
|
+
* them, so a preset added later is covered without anyone remembering to.
|
|
484
|
+
*/
|
|
485
|
+
describe('cms-core post presets satisfy the editor contract', () => {
|
|
486
|
+
const postPresets = Object.entries(corePresets)
|
|
487
|
+
.filter(([name]) => name.endsWith('Collection'))
|
|
488
|
+
.map(([name, factory]) => [name, factory])
|
|
489
|
+
.filter(([, factory]) => typeof factory === 'function')
|
|
490
|
+
.map(([name, factory]) => {
|
|
491
|
+
let def = null;
|
|
492
|
+
try {
|
|
493
|
+
def = factory();
|
|
494
|
+
}
|
|
495
|
+
catch {
|
|
496
|
+
def = null;
|
|
497
|
+
}
|
|
498
|
+
return { name, def };
|
|
499
|
+
})
|
|
500
|
+
.filter((p) => p.def?.type === 'post');
|
|
501
|
+
it('finds the post presets at all (a silent empty list would pass everything)', () => {
|
|
502
|
+
expect(postPresets.length).toBeGreaterThanOrEqual(3);
|
|
503
|
+
});
|
|
504
|
+
it.each(postPresets.map((p) => [p.name, p]))('%s opens in the Post Editor', (_name, preset) => {
|
|
505
|
+
const def = preset.def;
|
|
506
|
+
const config = { collections: { [def.slug]: def } };
|
|
507
|
+
expect(missingPostFields(config, def.slug)).toEqual([]);
|
|
508
|
+
});
|
|
509
|
+
});
|
|
465
510
|
//# sourceMappingURL=post-editor-service.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-editor-service.test.js","sourceRoot":"","sources":["../../../src/__tests__/lib/post-editor-service.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"post-editor-service.test.js","sourceRoot":"","sources":["../../../src/__tests__/lib/post-editor-service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SEOPerformance.d.ts","sourceRoot":"","sources":["../../src/components/SEOPerformance.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SEOPerformance.d.ts","sourceRoot":"","sources":["../../src/components/SEOPerformance.tsx"],"names":[],"mappings":"AAyCA,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AAED,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,mBAAmB,kDAqHjE"}
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Search, FileWarning, ImageOff, LinkIcon, ChevronLeft, ChevronRight, } from 'lucide-react';
|
|
4
4
|
import { useState } from 'react';
|
|
5
|
+
import { gradeFromScore, gradeMeta } from './seo/primitives.js';
|
|
5
6
|
import { useApiData } from '../lib/useApiData.js';
|
|
7
|
+
/**
|
|
8
|
+
* The bands and their colours both come from the SEO primitives — this used to
|
|
9
|
+
* restate 80/60 twice on adjacent lines, and `gradeMeta` already returns
|
|
10
|
+
* exactly the token classes it was hand-writing.
|
|
11
|
+
*/
|
|
6
12
|
function ScoreBadge({ score }) {
|
|
7
|
-
const
|
|
8
|
-
const bg = score >= 80 ? 'bg-success/10' : score >= 60 ? 'bg-warning/10' : 'bg-destructive/10';
|
|
13
|
+
const { text: color, bg } = gradeMeta(gradeFromScore(score));
|
|
9
14
|
return (_jsx("span", { className: `inline-flex h-9 w-9 items-center justify-center rounded-full text-sm font-medium ${color} ${bg}`, children: score }));
|
|
10
15
|
}
|
|
11
16
|
export function SEOPerformance({ onNavigate }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SEOPerformance.js","sourceRoot":"","sources":["../../src/components/SEOPerformance.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACL,MAAM,EAEN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAYjD,SAAS,UAAU,CAAC,EAAE,KAAK,EAAqB;IAC9C,MAAM,
|
|
1
|
+
{"version":3,"file":"SEOPerformance.js","sourceRoot":"","sources":["../../src/components/SEOPerformance.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export declare function PostTypeBadge({ label, color, onClick, }: {
|
|
|
21
21
|
color: string | null;
|
|
22
22
|
onClick?: () => void;
|
|
23
23
|
}): ReactNode;
|
|
24
|
-
export declare function seoScorePalette(score: number | null):
|
|
24
|
+
export declare function seoScorePalette(score: number | null): TagColorKey;
|
|
25
25
|
export declare function SeoScoreIndicator({ score }: {
|
|
26
26
|
score: number | null;
|
|
27
27
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badges.d.ts","sourceRoot":"","sources":["../../../src/components/posts/badges.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"badges.d.ts","sourceRoot":"","sources":["../../../src/components/posts/badges.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAI5D;;;;GAIG;AAEH,eAAO,MAAM,cAAc,uEAAwE,CAAA;AAEnG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AA+CzD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;QA7ClB,MAAM;UAAQ,MAAM;UAAQ,MAAM;YAAU,MAAM;EAgD1F;AAgBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,2CAMjE;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,EACL,OAAO,GACR,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,GAAG,SAAS,CAWZ;AAoBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,CAGjE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,2CA0BpE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { StatusBadge } from '../ui/StatusBadge.js';
|
|
4
|
+
import { gradeFromScore, gradeMeta } from '../seo/primitives.js';
|
|
4
5
|
/**
|
|
5
6
|
* Shared status / type / SEO indicators for the Posts admin area.
|
|
6
7
|
* Tag / post-type accent colors use dedicated `--tag-*` tokens so each
|
|
@@ -79,16 +80,27 @@ export function PostTypeBadge({ label, color, onClick, }) {
|
|
|
79
80
|
}
|
|
80
81
|
return _jsx("span", { className: className, children: label });
|
|
81
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Palette key for a post's SEO score.
|
|
85
|
+
*
|
|
86
|
+
* The bands come from `gradeFromScore` rather than being restated here — this
|
|
87
|
+
* used to carry its own copy of 80/60/1, which agreed with the canonical one
|
|
88
|
+
* only for as long as nobody changed either.
|
|
89
|
+
*
|
|
90
|
+
* `critical` maps to gray, not red: a score of exactly 0 means "never audited"
|
|
91
|
+
* in this list, and colouring that as a failure would report a problem the
|
|
92
|
+
* page may not have. A null score is the same case and takes the same colour.
|
|
93
|
+
*/
|
|
94
|
+
const GRADE_TAG_COLOR = {
|
|
95
|
+
good: 'green',
|
|
96
|
+
fair: 'orange',
|
|
97
|
+
poor: 'red',
|
|
98
|
+
critical: 'gray',
|
|
99
|
+
};
|
|
82
100
|
export function seoScorePalette(score) {
|
|
83
101
|
if (score === null || Number.isNaN(score))
|
|
84
102
|
return 'gray';
|
|
85
|
-
|
|
86
|
-
return 'green';
|
|
87
|
-
if (score >= 60)
|
|
88
|
-
return 'orange';
|
|
89
|
-
if (score >= 1)
|
|
90
|
-
return 'red';
|
|
91
|
-
return 'gray';
|
|
103
|
+
return GRADE_TAG_COLOR[gradeFromScore(score)];
|
|
92
104
|
}
|
|
93
105
|
export function SeoScoreIndicator({ score }) {
|
|
94
106
|
const colorKey = seoScorePalette(score);
|
|
@@ -96,10 +108,12 @@ export function SeoScoreIndicator({ score }) {
|
|
|
96
108
|
if (score === null) {
|
|
97
109
|
return (_jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-1.5 text-xs", children: [_jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${p.bg.split(' ')[0]}` }), _jsx("span", { className: "tabular-nums", children: "\u2014" })] }));
|
|
98
110
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
// The dot's semantic colour comes from `gradeMeta`, not from a third mapping
|
|
112
|
+
// of colour key -> token. That chain was `score -> palette key -> class`, and
|
|
113
|
+
// its final hop treated everything that was not green or orange as
|
|
114
|
+
// destructive — including the `gray` a zero score resolves to, so the key
|
|
115
|
+
// said gray while the dot rendered red. Deriving from the grade removes the
|
|
116
|
+
// hop and the disagreement; the rendered colour is unchanged for every score.
|
|
117
|
+
return (_jsxs("span", { className: "text-foreground inline-flex items-center gap-1.5 text-xs", children: [_jsx("span", { "aria-hidden": true, className: `h-2 w-2 rounded-full ${gradeMeta(gradeFromScore(score)).dot}` }), _jsx("span", { className: "tabular-nums", children: score })] }));
|
|
104
118
|
}
|
|
105
119
|
//# sourceMappingURL=badges.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badges.js","sourceRoot":"","sources":["../../../src/components/posts/badges.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,WAAW,EAAwB,MAAM,sBAAsB,CAAA;AAGxE;;;;GAIG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,CAAA;AAInG,MAAM,OAAO,GAAoF;IAC/F,MAAM,EAAE;QACN,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,mBAAmB;KAC5B;IACD,KAAK,EAAE;QACL,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,kBAAkB;KAC3B;IACD,MAAM,EAAE;QACN,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,mBAAmB;KAC5B;IACD,GAAG,EAAE;QACH,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,gBAAgB;KACzB;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,iBAAiB;KAC1B;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,iBAAiB;KAC1B;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,iBAAiB;KAC1B;CACF,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,KAAgC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,IAAI,CAAA;IAC/B,OAAO,OAAO,CAAC,KAAoB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAA;AACtD,CAAC;AAED,MAAM,YAAY,GAA+B;IAC/C,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAA;AAED,MAAM,WAAW,GAAwC;IACvD,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,OAAO;CAClB,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,MAAM,EAA0B;IAChE,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,gBAAc,WAAW,YAAY,CAAC,MAAM,CAAC,EAAE,YAClF,YAAY,CAAC,MAAM,CAAC,GACT,CACf,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,EACL,OAAO,GAKR;IACC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC3B,MAAM,SAAS,GAAG,yEAAyE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,mBAAmB,YAC/E,KAAK,GACC,CACV,CAAA;IACH,CAAC;IACD,OAAO,eAAM,SAAS,EAAE,SAAS,YAAG,KAAK,GAAQ,CAAA;AACnD,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"badges.js","sourceRoot":"","sources":["../../../src/components/posts/badges.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,20 @@ export interface GradeMeta {
|
|
|
12
12
|
dot: string;
|
|
13
13
|
}
|
|
14
14
|
export declare function gradeMeta(grade: SeoGrade): GradeMeta;
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Grade band from a numeric 0-100 score — the ONLY place the thresholds live.
|
|
17
|
+
*
|
|
18
|
+
* They were written out three times: here, in the Posts list's score palette,
|
|
19
|
+
* and in the SEO performance badge. All three agreed, so nothing was visibly
|
|
20
|
+
* wrong; the cost was latent and arrived on change. Followup 8 asks whether the
|
|
21
|
+
* "fair" floor should be 55 (the design handoff) or 60 (this code), and editing
|
|
22
|
+
* that number here would have left the other two saying 60 — the Posts badge
|
|
23
|
+
* and the performance widget silently disagreeing with the score ring for every
|
|
24
|
+
* page scoring 55-59.
|
|
25
|
+
*
|
|
26
|
+
* Both now derive from this function, so settling that question is a one-line
|
|
27
|
+
* change with nowhere to miss.
|
|
28
|
+
*/
|
|
16
29
|
export declare function gradeFromScore(score: number): SeoGrade;
|
|
17
30
|
export declare function severityMeta(severity: SeoSeverity): GradeMeta;
|
|
18
31
|
export declare function SeoStatusBadge({ label, tone, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/components/seo/primitives.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAIrE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAqBpD;AAED
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/components/seo/primitives.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAIrE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAqBpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAKtD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,CAmB7D;AAYD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,IAAI,GACL,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;CACxD,2CAEA;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,SAAc,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAoB3F;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,2CAUrD;AAID,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAc,GACf,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,2CAeA;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAkB,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAWpE;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,GACP,EAAE;IACD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB,2CAaA;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,2CAkB5F;AAID,eAAO,MAAM,UAAU,kQAC0O,CAAA;AAEjQ,eAAO,MAAM,YAAY,wQAC8O,CAAA;AAEvQ,eAAO,MAAM,YAAY,iNACuL,CAAA"}
|
|
@@ -25,7 +25,20 @@ export function gradeMeta(grade) {
|
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Grade band from a numeric 0-100 score — the ONLY place the thresholds live.
|
|
30
|
+
*
|
|
31
|
+
* They were written out three times: here, in the Posts list's score palette,
|
|
32
|
+
* and in the SEO performance badge. All three agreed, so nothing was visibly
|
|
33
|
+
* wrong; the cost was latent and arrived on change. Followup 8 asks whether the
|
|
34
|
+
* "fair" floor should be 55 (the design handoff) or 60 (this code), and editing
|
|
35
|
+
* that number here would have left the other two saying 60 — the Posts badge
|
|
36
|
+
* and the performance widget silently disagreeing with the score ring for every
|
|
37
|
+
* page scoring 55-59.
|
|
38
|
+
*
|
|
39
|
+
* Both now derive from this function, so settling that question is a one-line
|
|
40
|
+
* change with nowhere to miss.
|
|
41
|
+
*/
|
|
29
42
|
export function gradeFromScore(score) {
|
|
30
43
|
if (score >= 80)
|
|
31
44
|
return 'good';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/components/seo/primitives.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAQZ,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,WAAW,EAAwB,MAAM,sBAAsB,CAAA;AAYxE,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,CAAA;QACxF,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,CAAA;QACxF,KAAK,MAAM;YACT,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,mBAAmB;gBACvB,GAAG,EAAE,gBAAgB;aACtB,CAAA;QACH;YACE,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,mBAAmB;gBACvB,GAAG,EAAE,gBAAgB;aACtB,CAAA;IACL,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/components/seo/primitives.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pages.d.ts","sourceRoot":"","sources":["../../src/views/Pages.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Pages.d.ts","sourceRoot":"","sources":["../../src/views/Pages.tsx"],"names":[],"mappings":"AA0BA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC;AA0ED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,2CA8e/C"}
|
package/dist/views/Pages.js
CHANGED
|
@@ -6,6 +6,7 @@ import { toast } from 'sonner';
|
|
|
6
6
|
import { sortByRelevance, toggleSort } from '../lib/search.js';
|
|
7
7
|
import { useApiData } from '../lib/useApiData.js';
|
|
8
8
|
import { cmsApi } from '../lib/api.js';
|
|
9
|
+
import { gradeFromScore, gradeMeta } from '../components/seo/primitives.js';
|
|
9
10
|
import { FolderTree } from '../components/FolderTree.js';
|
|
10
11
|
const COLOR_PALETTE = [
|
|
11
12
|
{ bg: 'bg-chart-1/15', text: 'text-chart-1' },
|
|
@@ -46,7 +47,9 @@ function textValue(value) {
|
|
|
46
47
|
return String(value ?? '');
|
|
47
48
|
}
|
|
48
49
|
function SeoScoreBadge({ score }) {
|
|
49
|
-
|
|
50
|
+
// Bands and colour both from the SEO primitives — this restated 80/60, which
|
|
51
|
+
// is the same score the SEO tab grades, so the two could drift apart.
|
|
52
|
+
const color = gradeMeta(gradeFromScore(score)).dot;
|
|
50
53
|
return (_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: `h-2.5 w-2.5 rounded-full ${color}` }), _jsx("span", { className: "text-muted-foreground text-xs", children: score })] }));
|
|
51
54
|
}
|
|
52
55
|
function FolderBadge({ name }) {
|
package/dist/views/Pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pages.js","sourceRoot":"","sources":["../../src/views/Pages.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,OAAO,EACP,SAAS,EACT,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAmB,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,UAAU,EAAwB,MAAM,6BAA6B,CAAA;AAQ9E,MAAM,aAAa,GAAG;IACpB,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE;IAC7C,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE;IAC7C,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE;IAC7C,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE;IAC7C,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE;CAC9C,CAAA;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,gBAAgB,GAA8C,EAAE,CAAA;AAEtE,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,gBAAgB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAE,CAAA;IAClF,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAE,CAAA;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,IAAgD;IACvE,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IACnB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,IAAI,EAAE,CAAA;IAChD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc;QAAE,KAAK,IAAI,EAAE,CAAA;IAC5D,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,IAAI,EAAE,CAAA;IAC/B,IAAI,IAAI,CAAC,UAAU;QAAE,KAAK,IAAI,EAAE,CAAA;IAChC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,KAAK,EAAqB;IACjD,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACxF,OAAO,CACL,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAE,4BAA4B,KAAK,EAAE,GAAI,EACxD,eAAM,SAAS,EAAC,+BAA+B,YAAE,KAAK,GAAQ,IAC1D,CACP,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,IAAI,EAAoB;IAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,CACL,eACE,SAAS,EAAE,uDAAuD,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,YAE3F,IAAI,GACA,CACR,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,SAA0B;IAC7C,MAAM,IAAI,GAAG,iCAAiC,CAAA;IAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,GAAG,IAAI,wCAAwC,CAAA;QACxF,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe;YAAE,OAAO,GAAG,IAAI,gBAAgB,CAAA;QACvE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,GAAG,IAAI,aAAa,SAAS,CAAC,QAAQ,EAAE,CAAA;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,EAAE,UAAU,EAAc;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACjE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAiC,MAAM,CAAC,CAAA;IAE5F,MAAM,OAAO,GAAG,UAAU,CAAiC,+BAA+B,CAAC,CAAA;IAC3F,MAAM,SAAS,GAAG,UAAU,CAC1B,6CAA6C,CAC9C,CAAA;IAED,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,KAAK,CAAC,CAAA;IAC/D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,KAAK,CAAC,CAAA;IACnE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAA;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAiC,IAAI,CAAC,CAAA;IAElF,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;IAC9B,MAAM,UAAU,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAA;IAE9C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YACvC,MAAM,aAAa,GACjB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBACvE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAA;YAC1E,MAAM,aAAa,GACjB,YAAY,KAAK,KAAK;gBACtB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CAAA;YACrE,MAAM,eAAe,GACnB,cAAc,KAAK,KAAK;gBACxB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,CAAA;YACzE,OAAO,aAAa,IAAI,aAAa,IAAI,eAAe,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC1D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,QAAQ,IAAI,EAAE;aACjB,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;gBAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;gBACpC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;gBACpD,OAAO,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACpD,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAA;IAElE,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;QAC3C,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1E,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAE;QACtC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CACrE,CAAA;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,MAAM,MAAM,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,MAAM,gBAAgB,CAAC,CAAA;QACtD,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACpB,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;QACnC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,MAAM,MAAM,CAAC,sBAAsB,EAAE,EAAE,EAAE;gBACvC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aAC9C,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,MAAM,kBAAkB,CAAC,CAAA;QACxD,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACpB,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;QACrC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,MAAM,MAAM,CAAC,sBAAsB,EAAE,EAAE,EAAE;gBACvC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;aAC1C,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,MAAM,oBAAoB,CAAC,CAAA;QAC1D,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACpB,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;QACxC,MAAM,MAAM,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9D,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7B,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAC5D,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,EAAE,MAAc,EAAE,QAAuB,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,MAAM,SAAS,EAAE;YACtD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;SACnC,CAAC,CAAA;QACF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAA;YACnE,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,CAAkB,EAAE,EAAU,EAAE,EAAE;QACzD,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACjD,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM,CAAA;IACvC,CAAC,CAAA;IAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAA2C;QAC7E,MAAM,MAAM,GAAG,UAAU,EAAE,GAAG,KAAK,OAAO,CAAA;QAC1C,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAC7D,SAAS,EAAC,qGAAqG,aAE9G,KAAK,EACL,MAAM,CAAC,CAAC,CAAC,CACR,UAAW,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAChC,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,GAAG,CAChC,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,GAAG,CAClC,CACF,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,GAAG,CAC1D,IACM,CACV,CAAA;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,cAAK,SAAS,EAAC,+DAA+D,YAC5E,KAAC,OAAO,IAAC,SAAS,EAAC,mCAAmC,GAAG,GACrD,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aAClE,KAAK,IAAI,CACR,eAAK,SAAS,EAAC,4FAA4F,aACzG,KAAC,aAAa,IAAC,SAAS,EAAC,mCAAmC,GAAG,EAC/D,eAAM,SAAS,EAAC,iCAAiC,YAAE,KAAK,GAAQ,EAChE,iBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,mHAAmH,sBAGtH,IACL,CACP,EAED,eAAK,SAAS,EAAC,sEAAsE,aACnF,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAC9C,SAAS,EAAC,mDAAmD,EAC7D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,YAEpD,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,GAAG,GAClD,EACT,0BACE,aAAI,SAAS,EAAC,iBAAiB,sBAAW,EAC1C,aAAG,SAAS,EAAC,+BAA+B,aACzC,UAAU,WAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAC3C,IACA,IACF,EACN,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,EACzC,SAAS,EAAC,8IAA8I,aAExJ,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,EAC5B,eAAM,SAAS,EAAC,kBAAkB,yBAAgB,EAClD,eAAM,SAAS,EAAC,WAAW,oBAAW,IAC/B,IACL,EAEN,eAAK,SAAS,EAAC,2CAA2C,aACvD,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,qFAAqF,YAClG,KAAC,UAAU,IACT,KAAK,EAAC,OAAO,EACb,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gCAChB,YAAY,CAAC,GAAG,CAAC,CAAA;gCACjB,gBAAgB,CAAC,EAAE,CAAC,CAAA;4BACtB,CAAC,EACD,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAC/B,kBAAkB,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EACzC,UAAU,EAAE,cAAc,GAC1B,GACE,CACP,EAED,eAAK,SAAS,EAAC,8BAA8B,aAC3C,cAAK,SAAS,EAAC,8CAA8C,YAC3D,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAK,SAAS,EAAC,UAAU,aACvB,KAAC,MAAM,IAAC,SAAS,EAAC,wEAAwE,GAAG,EAC7F,gBACE,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,iBAAiB,EAC7B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAC,0HAA0H,GACpI,IACE,EACN,eAAK,SAAS,EAAC,iCAAiC,aAC9C,kBACE,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,SAAS,EAAC,qHAAqH,aAE/H,iBAAQ,KAAK,EAAC,KAAK,2BAAoB,EACvC,iBAAQ,KAAK,EAAC,WAAW,0BAAmB,EAC5C,iBAAQ,KAAK,EAAC,OAAO,sBAAe,IAC7B,EACT,kBACE,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAClD,SAAS,EAAC,qHAAqH,aAE/H,iBAAQ,KAAK,EAAC,KAAK,8BAAuB,EAC1C,iBAAQ,KAAK,EAAC,SAAS,wBAAiB,EACxC,iBAAQ,KAAK,EAAC,UAAU,yBAAkB,EAC1C,iBAAQ,KAAK,EAAC,WAAW,0BAAmB,EAC5C,iBAAQ,KAAK,EAAC,MAAM,qBAAc,IAC3B,EACT,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2HAA2H,aAErI,KAAC,iBAAiB,IAAC,SAAS,EAAC,SAAS,GAAG,EACzC,eAAM,SAAS,EAAC,kBAAkB,6BAAoB,IAC/C,IACL,IACF,GACF,EAEL,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,cAAK,SAAS,EAAC,sDAAsD,YACnE,eAAK,SAAS,EAAC,iEAAiE,aAC9E,gBAAM,SAAS,EAAC,yBAAyB,aACtC,aAAa,CAAC,MAAM,WAAO,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAC5D,EACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAC,6HAA6H,wBAGhI,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAC,6HAA6H,0BAGhI,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAC,yIAAyI,uBAG5I,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EACnC,SAAS,EAAC,kHAAkH,uBAGrH,IACL,IACF,GACF,CACP,EAEA,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1C,eAAK,SAAS,EAAC,0GAA0G,aACvH,YAAG,SAAS,EAAC,oCAAoC,YAC9C,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe;4CAChE,CAAC,CAAC,wBAAwB;4CAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ;gDAC3B,CAAC,CAAC,yBAAyB;gDAC3B,CAAC,CAAC,cAAc,GAClB,EACJ,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,EACzC,SAAS,EAAC,uGAAuG,uCAG1G,IACL,CACP,CAAC,CAAC,CAAC,CACF,8BACE,cAAK,SAAS,EAAC,gFAAgF,YAC7F,cAAK,SAAS,EAAC,wBAAwB,YACrC,iBAAO,SAAS,EAAC,QAAQ,aACvB,gBAAO,SAAS,EAAC,8CAA8C,YAC7D,yBACE,aAAI,SAAS,EAAC,yBAAyB,YACrC,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EACL,aAAa,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM;4EACjD,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAE9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAClD,SAAS,EAAC,uBAAuB,GACjC,GACC,EACL,aAAI,SAAS,EAAC,eAAe,GAAM,EACnC,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,GAAG,GACzC,EACL,aAAI,SAAS,EAAC,yDAAyD,uBAElE,EACL,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,QAAQ,GAAG,GAC3C,EACL,aAAI,SAAS,EAAC,yDAAyD,oBAElE,EACL,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,QAAQ,GAAG,GAC3C,EACL,aAAI,SAAS,EAAC,qBAAqB,YACjC,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,GAAG,GACvC,EACL,aAAI,SAAS,EAAC,yDAAyD,wBAElE,IACF,GACC,EACR,gBAAO,SAAS,EAAC,wBAAwB,YACtC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;4DACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;4DAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAA;4DACvD,OAAO,CACL,cAEE,SAAS,EAAC,kCAAkC,EAC5C,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,aAE/C,aAAI,SAAS,EAAC,WAAW,YACvB,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EACzC,SAAS,EAAC,uBAAuB,GACjC,GACC,EACL,aAAI,SAAS,EAAC,uBAAuB,YACnC,KAAC,YAAY,IAAC,SAAS,EAAC,+BAA+B,GAAG,GACvD,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,EAChD,SAAS,EAAC,kEAAkE,YAE3E,IAAI,CAAC,KAAK,GACJ,GACN,EACL,aAAI,SAAS,EAAC,WAAW,YACtB,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,WAAW,IAAC,IAAI,EAAE,UAAU,GAAI,CAClC,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,+BAA+B,uBAAS,CACzD,GACE,EACL,aAAI,SAAS,EAAC,yCAAyC,YACpD,IAAI,CAAC,MAAM,GACT,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,KAAC,aAAa,IAAC,KAAK,EAAE,QAAQ,GAAI,GAC/B,EACL,aAAI,SAAS,EAAC,WAAW,YACvB,eACE,SAAS,EAAE,yEAAyE,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,0BAA0B,EAAE,YAE3M,IAAI,CAAC,MAAM,GACP,GACJ,EACL,aAAI,SAAS,EAAC,yCAAyC,YAAE,IAAI,CAAC,IAAI,GAAM,EACxE,aAAI,SAAS,EAAC,WAAW,YACvB,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,EAChD,SAAS,EAAC,gDAAgD,EAC1D,KAAK,EAAC,MAAM,YAEZ,KAAC,MAAM,IAAC,SAAS,EAAC,+BAA+B,GAAG,GAC7C,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EACpC,SAAS,EAAC,gDAAgD,EAC1D,KAAK,EAAC,QAAQ,YAEd,KAAC,MAAM,IAAC,SAAS,EAAC,0BAA0B,GAAG,GACxC,IACL,GACH,KAjEA,IAAI,CAAC,EAAE,CAkET,CACN,CAAA;wDACH,CAAC,CAAC,GACI,IACF,GACJ,GACF,EAEN,cAAK,SAAS,EAAC,wEAAwE,YACrF,cAAK,SAAS,EAAC,wBAAwB,YACpC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;gDACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gDAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAA;gDACvD,OAAO,CACL,cAEE,SAAS,EAAC,KAAK,EACf,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,YAE/C,eAAK,SAAS,EAAC,wBAAwB,aACrC,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EACzC,SAAS,EAAC,4BAA4B,GACtC,EACF,eAAK,SAAS,EAAC,gBAAgB,aAC7B,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,EAChD,SAAS,EAAC,6EAA6E,YAEtF,IAAI,CAAC,KAAK,GACJ,EACT,eAAK,SAAS,EAAC,sEAAsE,aAClF,UAAU,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,UAAU,GAAI,EAChD,yBAAO,IAAI,CAAC,MAAM,GAAQ,EAC1B,oCAAqB,EACrB,yBAAO,IAAI,CAAC,IAAI,GAAQ,EACxB,KAAC,aAAa,IAAC,KAAK,EAAE,QAAQ,GAAI,EAClC,eACE,SAAS,EAAE,gDAAgD,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,0BAA0B,EAAE,YAElL,IAAI,CAAC,MAAM,GACP,IACH,IACF,EACN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EACpC,SAAS,EAAC,gDAAgD,YAE1D,KAAC,MAAM,IAAC,SAAS,EAAC,0BAA0B,GAAG,GACxC,IACL,IAxCD,IAAI,CAAC,EAAE,CAyCR,CACP,CAAA;4CACH,CAAC,CAAC,GACE,GACF,IACL,CACJ,IACG,IACF,IACF,CACP,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"Pages.js","sourceRoot":"","sources":["../../src/views/Pages.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prenta/admin",
|
|
3
|
-
"version": "0.97.
|
|
3
|
+
"version": "0.97.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -98,16 +98,16 @@
|
|
|
98
98
|
"tailwindcss": "^4.0.0",
|
|
99
99
|
"typescript": "^5.7.0",
|
|
100
100
|
"vitest": "^4.1.0",
|
|
101
|
-
"@prenta/
|
|
102
|
-
"@prenta/core": "0.121.0",
|
|
101
|
+
"@prenta/core": "0.123.0",
|
|
103
102
|
"@prenta/plugin-ai": "0.6.0",
|
|
103
|
+
"@prenta/component-blocks": "0.3.0",
|
|
104
104
|
"@prenta/plugin-blocks": "0.2.0",
|
|
105
105
|
"@prenta/plugin-commerce": "0.2.0",
|
|
106
106
|
"@prenta/plugin-forms": "0.1.0",
|
|
107
107
|
"@prenta/plugin-media": "0.2.0",
|
|
108
|
-
"@prenta/plugin-navigation": "0.3.0",
|
|
109
108
|
"@prenta/plugin-seo": "0.1.0",
|
|
110
|
-
"@prenta/
|
|
109
|
+
"@prenta/plugin-navigation": "0.3.0",
|
|
110
|
+
"@prenta/sections-react": "0.17.2"
|
|
111
111
|
},
|
|
112
112
|
"scripts": {
|
|
113
113
|
"build": "tsc --project tsconfig.json && npx @tailwindcss/cli -i src/styles/build-input.css -o dist/prenta-admin.css --minify",
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { readFileSync, readdirSync } from 'node:fs'
|
|
2
|
+
import { join, sep } from 'node:path'
|
|
3
|
+
import { fileURLToPath } from 'node:url'
|
|
4
|
+
import { describe, expect, it } from 'vitest'
|
|
5
|
+
|
|
6
|
+
import { gradeFromScore, gradeMeta } from '../../components/seo/primitives.js'
|
|
7
|
+
import { seoScorePalette } from '../../components/posts/badges.js'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The SEO score bands live in exactly one function.
|
|
11
|
+
*
|
|
12
|
+
* They were written out three times — `gradeFromScore`, the Posts list's score
|
|
13
|
+
* palette, and the SEO performance badge — plus a fourth mapping from palette
|
|
14
|
+
* key to token class inside the score indicator. All of them agreed, so
|
|
15
|
+
* nothing looked wrong; the cost was latent.
|
|
16
|
+
*
|
|
17
|
+
* It would have arrived with followup 8, which asks whether the "fair" floor
|
|
18
|
+
* should be 55 (the design handoff) or 60 (this code). Editing that number in
|
|
19
|
+
* `gradeFromScore` would have left the other surfaces on 60, so a page scoring
|
|
20
|
+
* 55-59 would show a green-ish ring beside an orange Posts badge.
|
|
21
|
+
*/
|
|
22
|
+
describe('SEO score bands are defined once', () => {
|
|
23
|
+
const PKG = fileURLToPath(new URL('../../../', import.meta.url))
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Files allowed to name their own thresholds, and why. Anything not listed
|
|
27
|
+
* here that compares a score against a band edge is grading the SEO score
|
|
28
|
+
* and must use `gradeFromScore`.
|
|
29
|
+
*/
|
|
30
|
+
const EXEMPT = [
|
|
31
|
+
// The one function that defines the SEO bands.
|
|
32
|
+
'components/seo/primitives.tsx',
|
|
33
|
+
// A DESIGN score, not the SEO score — its own metric, its own bands
|
|
34
|
+
// (80/65/50). Sharing thresholds here would be a false economy.
|
|
35
|
+
'views/page-builder/DesignScore.tsx',
|
|
36
|
+
// MEDIA SEO completeness (alt text, filenames), graded 80/30 because the
|
|
37
|
+
// population and the remedy are different from a page's SEO score.
|
|
38
|
+
'views/MediaSeoAudit.tsx',
|
|
39
|
+
// The legacy page-builder SEO panel, graded 70/40 for the colour and
|
|
40
|
+
// 80/70/50 for the label — BOTH different from the SEO tab's 80/60, so a
|
|
41
|
+
// page scoring 75 is green here and orange there. That is a real
|
|
42
|
+
// disagreement about the same number and needs a decision (followup 8),
|
|
43
|
+
// not a silent rewrite from a refactor. Exempt so this guard can protect
|
|
44
|
+
// the surfaces that ARE settled; remove the entry when it is resolved.
|
|
45
|
+
'views/page-builder/SEOPanel.tsx',
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
it('no other component restates a threshold', () => {
|
|
49
|
+
const offenders: string[] = []
|
|
50
|
+
const walk = (dir: string) => {
|
|
51
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
52
|
+
const full = join(dir, entry.name)
|
|
53
|
+
if (entry.isDirectory()) {
|
|
54
|
+
walk(full)
|
|
55
|
+
continue
|
|
56
|
+
}
|
|
57
|
+
if (!/\.tsx?$/.test(entry.name) || /\.test\.tsx?$/.test(entry.name)) continue
|
|
58
|
+
const rel = full.slice(PKG.length).replaceAll(sep, '/')
|
|
59
|
+
if (EXEMPT.some((e) => rel.endsWith(e))) continue
|
|
60
|
+
const src = readFileSync(full, 'utf8')
|
|
61
|
+
// A score compared against a band edge is the shape being banned.
|
|
62
|
+
if (/\bscore\s*>=?\s*(80|60|55)\b/.test(src)) offenders.push(rel)
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
walk(join(PKG, 'src'))
|
|
66
|
+
expect(offenders, `score thresholds restated in: ${offenders.join(', ')}`).toEqual([])
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Pinned so the refactor is provably behaviour-preserving, and so changing a
|
|
71
|
+
* band is a deliberate act that updates this table rather than a silent
|
|
72
|
+
* shift. 59/60 and 79/80 are the edges; 0 is the "never audited" case.
|
|
73
|
+
*/
|
|
74
|
+
it.each([
|
|
75
|
+
[0, 'critical', 'gray'],
|
|
76
|
+
[1, 'poor', 'red'],
|
|
77
|
+
[59, 'poor', 'red'],
|
|
78
|
+
[60, 'fair', 'orange'],
|
|
79
|
+
[79, 'fair', 'orange'],
|
|
80
|
+
[80, 'good', 'green'],
|
|
81
|
+
[100, 'good', 'green'],
|
|
82
|
+
])('score %i is %s and paints %s', (score, grade, tagColor) => {
|
|
83
|
+
expect(gradeFromScore(score as number)).toBe(grade)
|
|
84
|
+
expect(seoScorePalette(score as number)).toBe(tagColor)
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
it('an unscored post is grey rather than a failure', () => {
|
|
88
|
+
expect(seoScorePalette(null)).toBe('gray')
|
|
89
|
+
expect(seoScorePalette(Number.NaN)).toBe('gray')
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
it('every grade has a token class, so no surface has to invent one', () => {
|
|
93
|
+
for (const grade of ['good', 'fair', 'poor', 'critical'] as const) {
|
|
94
|
+
const meta = gradeMeta(grade)
|
|
95
|
+
expect(meta.dot, grade).toMatch(/^bg-/)
|
|
96
|
+
expect(meta.text, grade).toMatch(/^text-/)
|
|
97
|
+
}
|
|
98
|
+
})
|
|
99
|
+
})
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
2
|
+
import * as corePresets from '@prenta/core'
|
|
2
3
|
|
|
3
4
|
// `cmsApi` is the only I/O dependency; mock it so the service is tested
|
|
4
5
|
// hermetically. Responses follow the SDK `{ data, error }` envelope.
|
|
@@ -536,3 +537,49 @@ describe('tags round-trip', () => {
|
|
|
536
537
|
expect(body.featuredImage).not.toBe('')
|
|
537
538
|
})
|
|
538
539
|
})
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* Every `type: 'post'` preset cms-core ships must open in the Post Editor.
|
|
543
|
+
*
|
|
544
|
+
* Two of them did not. `caseStudyCollection` declared no `sections`, `body`,
|
|
545
|
+
* `category` or `publishDate`; `portfolioCollection` no `sections`, `body` or
|
|
546
|
+
* `publishDate`. Both route to this editor — `collection-routes.ts` sends every
|
|
547
|
+
* `type: 'post'` collection here — so a consumer writing
|
|
548
|
+
* `caseStudies: caseStudyCollection()` got a content type the editor refused to
|
|
549
|
+
* open, in the published package rather than a demo fixture.
|
|
550
|
+
*
|
|
551
|
+
* Nothing connected the two halves: the contract lived in this package as
|
|
552
|
+
* `REQUIRED_POST_FIELDS`, the collections were assembled field by field in
|
|
553
|
+
* cms-core, and only `blogPostCollection` happened to agree.
|
|
554
|
+
*
|
|
555
|
+
* This is the join. It lives HERE because this is where the contract lives —
|
|
556
|
+
* restating the field list over in cms-core would recreate the second source of
|
|
557
|
+
* truth that caused the drift. And it ENUMERATES the presets rather than naming
|
|
558
|
+
* them, so a preset added later is covered without anyone remembering to.
|
|
559
|
+
*/
|
|
560
|
+
describe('cms-core post presets satisfy the editor contract', () => {
|
|
561
|
+
const postPresets = Object.entries(corePresets)
|
|
562
|
+
.filter(([name]) => name.endsWith('Collection'))
|
|
563
|
+
.map(([name, factory]) => [name, factory] as const)
|
|
564
|
+
.filter(([, factory]) => typeof factory === 'function')
|
|
565
|
+
.map(([name, factory]) => {
|
|
566
|
+
let def: { slug?: string; type?: string; fields?: unknown } | null = null
|
|
567
|
+
try {
|
|
568
|
+
def = (factory as () => typeof def)()
|
|
569
|
+
} catch {
|
|
570
|
+
def = null
|
|
571
|
+
}
|
|
572
|
+
return { name, def }
|
|
573
|
+
})
|
|
574
|
+
.filter((p) => p.def?.type === 'post')
|
|
575
|
+
|
|
576
|
+
it('finds the post presets at all (a silent empty list would pass everything)', () => {
|
|
577
|
+
expect(postPresets.length).toBeGreaterThanOrEqual(3)
|
|
578
|
+
})
|
|
579
|
+
|
|
580
|
+
it.each(postPresets.map((p) => [p.name, p]))('%s opens in the Post Editor', (_name, preset) => {
|
|
581
|
+
const def = preset.def!
|
|
582
|
+
const config = { collections: { [def.slug!]: def } }
|
|
583
|
+
expect(missingPostFields(config, def.slug!)).toEqual([])
|
|
584
|
+
})
|
|
585
|
+
})
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
ChevronRight,
|
|
11
11
|
} from 'lucide-react'
|
|
12
12
|
import { useState } from 'react'
|
|
13
|
+
import { gradeFromScore, gradeMeta } from './seo/primitives.js'
|
|
13
14
|
import { useApiData } from '../lib/useApiData.js'
|
|
14
15
|
|
|
15
16
|
interface SEOSummary {
|
|
@@ -22,9 +23,13 @@ interface SEOSummary {
|
|
|
22
23
|
topContent: { id: string; title: string; collection: string; score: number }[]
|
|
23
24
|
}
|
|
24
25
|
|
|
26
|
+
/**
|
|
27
|
+
* The bands and their colours both come from the SEO primitives — this used to
|
|
28
|
+
* restate 80/60 twice on adjacent lines, and `gradeMeta` already returns
|
|
29
|
+
* exactly the token classes it was hand-writing.
|
|
30
|
+
*/
|
|
25
31
|
function ScoreBadge({ score }: { score: number }) {
|
|
26
|
-
const
|
|
27
|
-
const bg = score >= 80 ? 'bg-success/10' : score >= 60 ? 'bg-warning/10' : 'bg-destructive/10'
|
|
32
|
+
const { text: color, bg } = gradeMeta(gradeFromScore(score))
|
|
28
33
|
return (
|
|
29
34
|
<span
|
|
30
35
|
className={`inline-flex h-9 w-9 items-center justify-center rounded-full text-sm font-medium ${color} ${bg}`}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import type { ReactNode } from 'react'
|
|
4
4
|
import { StatusBadge, type StatusBadgeTone } from '../ui/StatusBadge.js'
|
|
5
5
|
import type { PostStatus } from '../../lib/posts-service.js'
|
|
6
|
+
import type { SeoGrade } from '../../lib/seo-service.js'
|
|
7
|
+
import { gradeFromScore, gradeMeta } from '../seo/primitives.js'
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
* Shared status / type / SEO indicators for the Posts admin area.
|
|
@@ -107,12 +109,27 @@ export function PostTypeBadge({
|
|
|
107
109
|
return <span className={className}>{label}</span>
|
|
108
110
|
}
|
|
109
111
|
|
|
110
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Palette key for a post's SEO score.
|
|
114
|
+
*
|
|
115
|
+
* The bands come from `gradeFromScore` rather than being restated here — this
|
|
116
|
+
* used to carry its own copy of 80/60/1, which agreed with the canonical one
|
|
117
|
+
* only for as long as nobody changed either.
|
|
118
|
+
*
|
|
119
|
+
* `critical` maps to gray, not red: a score of exactly 0 means "never audited"
|
|
120
|
+
* in this list, and colouring that as a failure would report a problem the
|
|
121
|
+
* page may not have. A null score is the same case and takes the same colour.
|
|
122
|
+
*/
|
|
123
|
+
const GRADE_TAG_COLOR: Record<SeoGrade, TagColorKey> = {
|
|
124
|
+
good: 'green',
|
|
125
|
+
fair: 'orange',
|
|
126
|
+
poor: 'red',
|
|
127
|
+
critical: 'gray',
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export function seoScorePalette(score: number | null): TagColorKey {
|
|
111
131
|
if (score === null || Number.isNaN(score)) return 'gray'
|
|
112
|
-
|
|
113
|
-
if (score >= 60) return 'orange'
|
|
114
|
-
if (score >= 1) return 'red'
|
|
115
|
-
return 'gray'
|
|
132
|
+
return GRADE_TAG_COLOR[gradeFromScore(score)]
|
|
116
133
|
}
|
|
117
134
|
|
|
118
135
|
export function SeoScoreIndicator({ score }: { score: number | null }) {
|
|
@@ -126,17 +143,17 @@ export function SeoScoreIndicator({ score }: { score: number | null }) {
|
|
|
126
143
|
</span>
|
|
127
144
|
)
|
|
128
145
|
}
|
|
146
|
+
// The dot's semantic colour comes from `gradeMeta`, not from a third mapping
|
|
147
|
+
// of colour key -> token. That chain was `score -> palette key -> class`, and
|
|
148
|
+
// its final hop treated everything that was not green or orange as
|
|
149
|
+
// destructive — including the `gray` a zero score resolves to, so the key
|
|
150
|
+
// said gray while the dot rendered red. Deriving from the grade removes the
|
|
151
|
+
// hop and the disagreement; the rendered colour is unchanged for every score.
|
|
129
152
|
return (
|
|
130
153
|
<span className="text-foreground inline-flex items-center gap-1.5 text-xs">
|
|
131
154
|
<span
|
|
132
155
|
aria-hidden
|
|
133
|
-
className={`h-2 w-2 rounded-full ${
|
|
134
|
-
colorKey === 'green'
|
|
135
|
-
? 'bg-success'
|
|
136
|
-
: colorKey === 'orange'
|
|
137
|
-
? 'bg-warning'
|
|
138
|
-
: 'bg-destructive'
|
|
139
|
-
}`}
|
|
156
|
+
className={`h-2 w-2 rounded-full ${gradeMeta(gradeFromScore(score)).dot}`}
|
|
140
157
|
/>
|
|
141
158
|
<span className="tabular-nums">{score}</span>
|
|
142
159
|
</span>
|
|
@@ -43,7 +43,20 @@ export function gradeMeta(grade: SeoGrade): GradeMeta {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Grade band from a numeric 0-100 score — the ONLY place the thresholds live.
|
|
48
|
+
*
|
|
49
|
+
* They were written out three times: here, in the Posts list's score palette,
|
|
50
|
+
* and in the SEO performance badge. All three agreed, so nothing was visibly
|
|
51
|
+
* wrong; the cost was latent and arrived on change. Followup 8 asks whether the
|
|
52
|
+
* "fair" floor should be 55 (the design handoff) or 60 (this code), and editing
|
|
53
|
+
* that number here would have left the other two saying 60 — the Posts badge
|
|
54
|
+
* and the performance widget silently disagreeing with the score ring for every
|
|
55
|
+
* page scoring 55-59.
|
|
56
|
+
*
|
|
57
|
+
* Both now derive from this function, so settling that question is a one-line
|
|
58
|
+
* change with nowhere to miss.
|
|
59
|
+
*/
|
|
47
60
|
export function gradeFromScore(score: number): SeoGrade {
|
|
48
61
|
if (score >= 80) return 'good'
|
|
49
62
|
if (score >= 60) return 'fair'
|
package/src/views/Pages.tsx
CHANGED
|
@@ -19,6 +19,7 @@ import { toast } from 'sonner'
|
|
|
19
19
|
import { sortByRelevance, type SortConfig, toggleSort } from '../lib/search.js'
|
|
20
20
|
import { useApiData } from '../lib/useApiData.js'
|
|
21
21
|
import { cmsApi } from '../lib/api.js'
|
|
22
|
+
import { gradeFromScore, gradeMeta } from '../components/seo/primitives.js'
|
|
22
23
|
import { FolderTree, type FolderSelection } from '../components/FolderTree.js'
|
|
23
24
|
|
|
24
25
|
type PageSortKey = 'title' | 'author' | 'template' | 'status' | 'date'
|
|
@@ -67,7 +68,9 @@ function textValue(value: unknown): string {
|
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
function SeoScoreBadge({ score }: { score: number }) {
|
|
70
|
-
|
|
71
|
+
// Bands and colour both from the SEO primitives — this restated 80/60, which
|
|
72
|
+
// is the same score the SEO tab grades, so the two could drift apart.
|
|
73
|
+
const color = gradeMeta(gradeFromScore(score)).dot
|
|
71
74
|
return (
|
|
72
75
|
<div className="flex items-center gap-1.5">
|
|
73
76
|
<span className={`h-2.5 w-2.5 rounded-full ${color}`} />
|