Skip to content

[3.0] Theme split (wave 4, part 28) — point the post display at design tokens - #9470

Merged
live627 merged 2 commits into
SimpleMachines:release-3.0from
albertlast:3.0/theme-postbit-tokens
Aug 10, 2026
Merged

[3.0] Theme split (wave 4, part 28) — point the post display at design tokens#9470
live627 merged 2 commits into
SimpleMachines:release-3.0from
albertlast:3.0/theme-postbit-tokens

Conversation

@albertlast

Copy link
Copy Markdown
Collaborator

Description

Part of the #7933 split, following #9467, #9468 and #9469.

The colours a post draws itself with: the poster's name and online link, the info line above the message, the edit history drop down, the bump notice, the approval backgrounds, and the borders around the message itself. 33 tokens in seven groups. Every token holds the value the rule has today, so nothing renders differently.

One judgement call. .inner and the .signature, .attachments, .under_message, .custom_fields_* group both draw

border-top: 1px solid #bfbfbf;
box-shadow: 0 1px 0 #fff inset;

They share one --postsection-* set rather than getting a pair each. That is the same divider drawn twice — the hairline above each section inside a post — not two values that happen to coincide. Where a value really does carry two meanings, as with --approvebg-color and --approvebg2-color (both #222), there are two tokens.

Verification

Every rule in index.css — not just the ones this touches — parsed out of the file as text, applied to a probe, and read back as a fixed list of 57 longhands:

965 rules, 55,005 computed values, 0 differences.

Rule text comes from the file rather than CSSRule.style.cssText, which cannot round-trip a border shorthand holding a var() (see #9468). Measured with minimize_files off, because the minifier rewrites literal transparent and cannot do so inside a var().

Issues References (Fixes|Related|Closes)

Related: #7933

The colours a post draws itself with: the poster's name and online link,
the info line above the message, the edit history drop down, the bump
notice, the approval backgrounds and the borders around the message
itself.

Every token holds the value the rule has today, so nothing renders
differently.

.inner and the signature/attachment/custom field group draw the same
hairline above themselves, so they share one set of tokens rather than
getting a pair each - they are the same divider, not two values that
happen to match.

Signed-off-by: Mathias Albert <mathiaspapealbert@hotmail.com>
Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
@albertlast

Copy link
Copy Markdown
Collaborator Author

Re-ran the verification, because the first run was taken on ?topic=1.0 and that page is a fatal on release-3.0Object of type SMF\TimeInterval (inheriting DateInterval) has not been correctly initialized by calling parent::__construct(), which is #9405 and not merged yet. An error page still loads variables.css, and base and branch were captured in the same state, so the comparison held; but it is not a measurement anyone should have to take on trust.

Repeated on ?action=recent, which renders, with the capture now recording the page URL, whether #fatal_error is present, and the list of loaded stylesheets so a broken page cannot pass unnoticed:

OK  page=/index.php?action=recent fatal=False  965 rules, 55005 values, diffs 0

Same result. No change to the diff.

@albertlast albertlast mentioned this pull request Aug 9, 2026
…bit-tokens

Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>

# Conflicts:
#	Themes/default/css/variables.css
@live627
live627 merged commit 747e04d into SimpleMachines:release-3.0 Aug 10, 2026
4 checks passed
@jdarwood007 jdarwood007 added this to the 3.0 Alpha 5 milestone Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants