A notice lists its own rows, each with its words and one link #323

Open
opened 2026-11-02 07:44:12 +00:00 by cgalo5758 · 0 comments
Owner

What a person cannot do today

A template whose notice lists several things, each with its own link or control, cannot say so through the notice part: a notice holds one sentence, one link and one action. Three notices list rows: the dashboard's pending domain claims (a domain and "View DNS records" each), the FedWiki sites card's "Ready to use" (a domain and "Create your site" each) and the Discourse identity conflicts (a forum user and a person link each). Each writes a body, a template fragment the part inserts as it is, and lays its rows out by hand.

The two domain lists built each row as a flex row that centred a small link-styled button beside the words, so the control stood in a column of its own, wrapped inside that column at 390px and sat off the words' baseline. A stylesheet rule now makes a link-styled button inside a notice's words read as text, but nothing stops the next body from laying rows out another way. A connector cannot send a body at all, so none of these lists can move to its connector, which the FedWiki "Ready to use" list and the Discourse conflicts are meant to do.

What they should be able to do

A notice carries a list of items. Each item has its words, in the same runs as the notice's own text, and at most one link, and the part lays every item out the way it lays out the notice's own sentence and link: the words, then the link inline after them, wrapping with them. The three lists move from bodies to items, and a body holds no row layout and no link-styled button (the raw-notice lint refuses one). A connector's notice may carry items under the same limits as its sentence and link. How an item opens a dialog, which "Create your site" does today, is decided with the change; "View DNS records" follows whatever #321 settles.

Why it matters

The rows are where the notice's layout broke on review. The part exists so that no template decides how a notice looks, and the body is the one place a template still does. Items close that gap and give connectors a way to list.

Where

internal/notice/notice.go (the value and its check), internal/embeds/templates/partials/ui_notice.html (the part), pendingClaimsWords in internal/embeds/templates/index.html, fedwikiReadyWords in internal/integrations/fedwiki/templates/fedwiki_sites.html, discourseConflictsWords in internal/integrations/discourse/templates/discourse_operator.html, and internal/lint/notice.go.

Done when

The three lists render through items; no body in the console holds a row layout or a link-styled button, and the lint refuses one; a connector's notice can carry items; the notice layout test checks that an item's link stands on its words' line and wraps with them.

### What a person cannot do today A template whose notice lists several things, each with its own link or control, cannot say so through the notice part: a notice holds one sentence, one link and one action. Three notices list rows: the dashboard's pending domain claims (a domain and "View DNS records" each), the FedWiki sites card's "Ready to use" (a domain and "Create your site" each) and the Discourse identity conflicts (a forum user and a person link each). Each writes a body, a template fragment the part inserts as it is, and lays its rows out by hand. The two domain lists built each row as a flex row that centred a small link-styled button beside the words, so the control stood in a column of its own, wrapped inside that column at 390px and sat off the words' baseline. A stylesheet rule now makes a link-styled button inside a notice's words read as text, but nothing stops the next body from laying rows out another way. A connector cannot send a body at all, so none of these lists can move to its connector, which the FedWiki "Ready to use" list and the Discourse conflicts are meant to do. ### What they should be able to do A notice carries a list of items. Each item has its words, in the same runs as the notice's own text, and at most one link, and the part lays every item out the way it lays out the notice's own sentence and link: the words, then the link inline after them, wrapping with them. The three lists move from bodies to items, and a body holds no row layout and no link-styled button (the raw-notice lint refuses one). A connector's notice may carry items under the same limits as its sentence and link. How an item opens a dialog, which "Create your site" does today, is decided with the change; "View DNS records" follows whatever #321 settles. ### Why it matters The rows are where the notice's layout broke on review. The part exists so that no template decides how a notice looks, and the body is the one place a template still does. Items close that gap and give connectors a way to list. ### Where `internal/notice/notice.go` (the value and its check), `internal/embeds/templates/partials/ui_notice.html` (the part), `pendingClaimsWords` in `internal/embeds/templates/index.html`, `fedwikiReadyWords` in `internal/integrations/fedwiki/templates/fedwiki_sites.html`, `discourseConflictsWords` in `internal/integrations/discourse/templates/discourse_operator.html`, and `internal/lint/notice.go`. ### Done when The three lists render through items; no body in the console holds a row layout or a link-styled button, and the lint refuses one; a connector's notice can carry items; the notice layout test checks that an item's link stands on its words' line and wraps with them.
cgalo5758 added this to the Public launch milestone 2026-11-02 07:44:12 +00:00
cgalo5758 added the
kind
enhancement
area/integrationsarea/member-ui
labels 2026-11-02 07:44:12 +00:00
cgalo5758 removed this from the Public launch milestone 2026-11-02 08:48:00 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#323