summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-05 21:52:11 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-05 21:52:11 +0200
commit9a7ce465b06462443ee82e8418f3c070de080ab2 (patch)
treebf68ecc1536af990604cd58e75417073a07f0d1a /public
parent51d491a3d67e8c9efde8019ecb8a8e1a8195ec99 (diff)
Surface node-kind conventions in the admin UI
nodes#new: each kind's radio button now shows a label plus a smaller, muted .field_hint explaining what happens automatically (parent, tags, template) - previously a single undifferentiated string mixing a short label with a long parenthetical, cluttering the smaller kinds (erfa/chaostreff) worst. Title field gets the same hint treatment, telling editors up front that the slug is auto-generated and where to adjust it later - the previous silence here meant editors only discovered slug generation after already committing to a title, with no visible way to fix it. New "Resulting path" row live-previews the full URL (origin + kind's path prefix + a debounced call to the new parameterize_preview route, reusing the exact same slug_for helper "create" now calls, so the preview can never diverge from what actually gets created) as the editor types, plus a copy-to-clipboard button. For "generic", the prefix comes from whichever parent gets chosen via the search widget, not the registry - parent_search.link_closure now stashes the chosen node's unique_name as a data attribute for exactly this. New read-only admin/conventions view dumps the NODE_KINDS registry as a reference table for whoever's confused later about how a given kind behaves - deliberately just renders the same label/hint text used on nodes#new rather than re-describing parent/tags/template separately, since decomposing the parent Proc would mean either invoking it (Update's has a real side effect - creates the year folder) or re-stating its logic a second time in a different shape, either of which risks drifting from the actual behavior. nodes#edit's Template field gets a one-line hint noting the value may already be pre-filled based on how the node was created - the one place the previous commit's new inheritance mechanism actually surfaces on this view.
Diffstat (limited to 'public')
-rw-r--r--public/stylesheets/admin.css12
1 files changed, 12 insertions, 0 deletions
diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css
index a02bd61..f240bb2 100644
--- a/public/stylesheets/admin.css
+++ b/public/stylesheets/admin.css
@@ -508,6 +508,14 @@ table tr.header {
508 text-align: left; 508 text-align: left;
509} 509}
510 510
511.field_hint {
512 display: block;
513 margin-top: 2px;
514 font-size: 0.75rem;
515 color: #969696;
516 padding-bottom: 4px;
517}
518
511#search_widget { 519#search_widget {
512 position: absolute; 520 position: absolute;
513 top: 20px; 521 top: 20px;
@@ -527,18 +535,21 @@ table tr.header {
527 font-size: 18px; 535 font-size: 18px;
528} 536}
529 537
538#menu_search_results p,
530#search_results p { 539#search_results p {
531 margin: 0; 540 margin: 0;
532 padding: 4px 4px 0 4px; 541 padding: 4px 4px 0 4px;
533 border-bottom: 1px solid #e8e8e8; 542 border-bottom: 1px solid #e8e8e8;
534} 543}
535 544
545#menu_search_results p a,
536#search_results p a { 546#search_results p a {
537 display: block; 547 display: block;
538 font-weight: bold; 548 font-weight: bold;
539 font-size: 0.95rem; 549 font-size: 0.95rem;
540} 550}
541 551
552#menu_search_results p span.result_path,
542#search_results p span.result_path { 553#search_results p span.result_path {
543 display: block; 554 display: block;
544 margin-top: 2px; 555 margin-top: 2px;
@@ -548,6 +559,7 @@ table tr.header {
548 padding-bottom: 4px; 559 padding-bottom: 4px;
549} 560}
550 561
562#menu_search_results p.search_more,
551#search_results p.search_more { 563#search_results p.search_more {
552 margin: 0; 564 margin: 0;
553 padding: 6px 4px; 565 padding: 6px 4px;