Repository navigation
feat: take every console label at run time, one card-header action and the editor's mode in its header - #126
Merged
Conversation
…d the editor's mode in its header Every text a console hands a component accepts a string made at run time, so a console draws every label from its catalog; a listing's noun is a console message chosen by count, with no English plural rule in the library; the gallery draws its own page strings from its catalog and the stray-literal check covers it (#114). card_action is the one action at the far end of a card's header (#122). editor_heading says "New <thing>" while an editor creates and "Edit <name>" while it edits (#123).
|
This was referenced Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What changed and why
The three changes of milestone v0.2.0 that the four consoles need before they can move their own strings onto their catalogs and close the 0.1.7 review findings.
Cow<'static, str>; label parameters areimpl Into<String>(besideform::Field,impl Into<Oco<'static, str>>).table::model::Nounis now a message of the console's catalog,Noun::new(Message::new(catalog, "value-sets")), whose form is chosen by$countand which carries.emptyand.openingas whole sentences, so the library holds no English plural rule. The newi18n::Messagenames such a message. The gallery draws its own page strings fromapp/ferrohealth-ui-gallery/locales/en/ferrohealth-ui-gallery.ftl(475 messages), its pseudo-locale stretches them with the library's, and the CI stray-literal job coversapp/ferrohealth-ui-gallery/src(its synthetic data and server are skipped with their reasons).view::surface::card_action(href, label): a link in the accent, its words then an arrow a tight space (--space-tight) apart, at the small step, with the sunken ground under the pointer and the focus ring of every control. The winner is FerroFED's text link with an arrow: it is lighter than FerroTERM's outlined button beside a card's title, so the title stays the first thing read, and it now takes the library's hover treatment and spacing, which FerroFED's link lacked (its arrow touched its word). The gallery shows it on the overview ("Recent files", "All files"), andtests/it/states.rscaptures its hover and focus in every brand, light and dark.view::surface::{Mode, editor_title, editor_heading}: one console message that selects by$mode(new,edit) titles the heading, the trail's last crumb and the document; the title is a sentence, drawn in the body face around the edited thing's name. The gallery shows both on the forms page;tests/it/console.rspins both.What a console changes is listed in the
CHANGELOG.mdentry: the nouns become catalog messages,Column::textis no longerconst(keep columns in a function),Listing,Confirmation,Footer,Tab,Upload,PickerandTreeareClonerather thanCopy, navigation groups hold aVec<Entry>andsidebartakes aVec<Group>, and the functions that returnedimpl IntoView + use<>around a label returnAnyView. This breaks the public API, so the release is 0.2.0.No specification governs the catalog layout, the noun's attributes, the card action or the editor's title: our own design. The arrow is decoration beside its words (
aria-hidden), and the action keeps the 2 px focus ring (WCAG 2.2 SC 2.4.7).Closes #114
Closes #122
Closes #123
Licensing of contributions
Checklist
cargo fmt --all --check,cargo clippy --workspace --all-targets -- -D warnings, the wasm32 clippy runs,cargo nextest run --workspace --locked,cargo docwithRUSTDOCFLAGS=-D warnings, andcargo deny check.docs/qa/), and the best one on its merits was restyled to the library's tokens; the winner and the reason are stated below.tests/it/states.rsin every brand, light and dark.shellcheck --severity=style,actionlint,zizmor --min-severity=low .github/.CHANGELOG.mdhas an[Unreleased]entry, if a console sees the change.