Commit ccf348d
committed
feat(admin): one flat rail, a Dashboard that leads with a sentence
The UX half of the re-brand. Four rules, now recorded in
DESIGN-ALIGNMENT.md, and every change below traces to one of them: one
idea per screen; content over chrome; say nothing rather than say
nothing; plain, task-first names.
**The rail is one flat list.** The three labelled sections were three
more things to read before you could read the thing you came for, and
seven items is not a wall. This is a pure data change — AppNav takes a
mixed array of items and groups, so only what the useMemo returns
changed; the JSX did not.
Two things fell out of it and are cleaned up here rather than left
half-done. TopBar's "group · title" breadcrumb had nothing left to
resolve, so the lookup goes and it shows the title. And the footer was
28 lines of raw <button>s re-implementing the DS's own nav-item markup
by hand; the DS supports footer groups natively (`footer: true` puts a
group in .pp-nav__bottom), which brings aria-current and the
collapsed-rail tooltips with it instead of us maintaining them.
Two labels now say what you do there: Guidance -> Instructions,
Connections -> Apps. Routing keys are untouched, so every #hash link,
the ALIASES map and Pro's routing keep working.
**The Dashboard leads with a sentence.** It opened with four equal tiles
of three different kinds — two counts, a setting and a health state —
which reads as a metrics dashboard for a question that is not a metric.
The answer to "what can my AI do right now" was already written, in
levelFor(tier).one, and the tiles were paraphrasing it down to one word.
So that sentence is the page now, the counts are one quiet line under
it, and the Connection tile is gone: it said "—" on most installs while
a real problem already had its own callout with an explanation and a
fix, so it spent a quarter of the page saying nothing. When there are no
apps the count is dropped too — the callout directly below already says
it.
The LEVELS strings in api.js were raw English, never wrapped in __() —
including the sentence this design just promoted to the page headline.
Fixed, which is most of the 10 new msgids.
**The Cookbook is removed** — tab, screen, CSS, REST route, PHP class
and its 6 tests. Verified not agent-facing first: Saddle_Cookbook is
referenced in exactly three places (itself, its test, one admin REST
callback) and has zero hits across includes/abilities, the system
context, the context bundle, skills, playbooks and the MCP transport.
Not to be confused with Saddle_Recipes, the section recipes behind
saddle/list-section-recipes — different system, untouched.
637 tests (was 643; the 6 are the cookbook's), 0 lint errors.
Refs #1531 parent a74a6df commit ccf348d
16 files changed
Lines changed: 560 additions & 1676 deletions
File tree
- admin
- build
- src
- components
- includes
- admin
- languages
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
19 | 84 | | |
20 | 85 | | |
21 | 86 | | |
22 | | - | |
23 | | - | |
| 87 | + | |
| 88 | + | |
24 | 89 | | |
25 | | - | |
26 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
27 | 93 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
32 | 103 | | |
33 | 104 | | |
34 | 105 | | |
35 | 106 | | |
36 | 107 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
41 | 119 | | |
42 | | - | |
| 120 | + | |
43 | 121 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | 43 | | |
45 | 44 | | |
46 | 45 | | |
| |||
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
53 | | - | |
54 | 52 | | |
55 | 53 | | |
56 | 54 | | |
| |||
65 | 63 | | |
66 | 64 | | |
67 | 65 | | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | 66 | | |
74 | 67 | | |
75 | 68 | | |
76 | 69 | | |
77 | 70 | | |
78 | 71 | | |
79 | 72 | | |
80 | | - | |
| 73 | + | |
81 | 74 | | |
82 | 75 | | |
83 | 76 | | |
84 | 77 | | |
85 | 78 | | |
86 | | - | |
| 79 | + | |
87 | 80 | | |
88 | 81 | | |
89 | 82 | | |
| |||
103 | 96 | | |
104 | 97 | | |
105 | 98 | | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
122 | 111 | | |
123 | 112 | | |
124 | 113 | | |
| |||
159 | 148 | | |
160 | 149 | | |
161 | 150 | | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
166 | 154 | | |
167 | 155 | | |
168 | | - | |
169 | 156 | | |
170 | 157 | | |
171 | 158 | | |
| |||
174 | 161 | | |
175 | 162 | | |
176 | 163 | | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | 164 | | |
188 | 165 | | |
189 | 166 | | |
| |||
310 | 287 | | |
311 | 288 | | |
312 | 289 | | |
313 | | - | |
| 290 | + | |
314 | 291 | | |
315 | 292 | | |
316 | 293 | | |
| |||
319 | 296 | | |
320 | 297 | | |
321 | 298 | | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
332 | 316 | | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
340 | 324 | | |
341 | 325 | | |
342 | 326 | | |
| |||
544 | 528 | | |
545 | 529 | | |
546 | 530 | | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | 531 | | |
551 | 532 | | |
552 | 533 | | |
553 | | - | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | | - | |
559 | | - | |
560 | | - | |
561 | | - | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | | - | |
566 | | - | |
567 | | - | |
568 | | - | |
569 | | - | |
570 | | - | |
571 | | - | |
572 | | - | |
573 | | - | |
574 | | - | |
575 | | - | |
576 | | - | |
577 | | - | |
578 | | - | |
579 | | - | |
580 | | - | |
581 | | - | |
582 | | - | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
583 | 537 | | |
584 | 538 | | |
585 | 539 | | |
| |||
639 | 593 | | |
640 | 594 | | |
641 | 595 | | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | 596 | | |
646 | 597 | | |
647 | 598 | | |
| |||
0 commit comments