Skip to content

fix(ui): migrate channels.nostr btn-sm reference to btn--sm — cluster 3 (#2510)#2512

Merged
alexey-pelykh merged 1 commit intomainfrom
fix/2510-channels-nostr-btn-sm-bem
Apr 23, 2026
Merged

fix(ui): migrate channels.nostr btn-sm reference to btn--sm — cluster 3 (#2510)#2512
alexey-pelykh merged 1 commit intomainfrom
fix/2510-channels-nostr-btn-sm-bem

Conversation

@alexey-pelykh
Copy link
Copy Markdown

Summary

Evidence

Baseline audit (pre-fix):

  • Total orphans: 36 across 3 clusters
  • Cluster 3: 1 orphan (.btn-sm at channels.nostr.ts:131) attributed to 21ac4b9a8a

Post-fix audit:

  • Total orphans: 35 across 2 clusters
  • Cluster 3: eliminated entirely

Reproduce: node scripts/audit-css-class-drift.mjs.

Diff scope

1 file, 1 line changed — btn-smbtn--sm on line 131 only.

Test plan

  • pnpm check (format + tsgo + lint + linter guards) — PASS
  • node scripts/audit-css-class-drift.mjs — cluster 3 absent from report
  • Manual verification in pnpm dev: nostr channel settings "Edit Profile" button renders with small-variant styling (deferred to reviewer — pure CSS class rename; structurally equivalent to the 20+ sibling call-sites already using btn--sm)

References

Closes #2510.

🤖 Generated with Claude Code

… 3 of #2502 CSS class drift audit (#2510)

Upstream `21ac4b9a8a` (style(ui) clarity pass, openclaw#53272) migrated `.btn-sm`
to `.btn--sm` under the BEM modifier convention. The fork's
`ui/src/ui/views/channels.nostr.ts:131` still referenced the pre-rename
`btn-sm` token; the CSS rule `.btn--sm` is defined at
`ui/src/styles/components.css:625`. The stale reference was surfaced as
cluster 3 (1 orphan) by the CSS class drift audit introduced in #2507.

Post-fix audit: orphans 36 → 35, clusters 3 → 2, cluster 3 eliminated
entirely.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@alexey-pelykh alexey-pelykh merged commit 5133684 into main Apr 23, 2026
15 checks passed
@alexey-pelykh alexey-pelykh deleted the fix/2510-channels-nostr-btn-sm-bem branch April 23, 2026 22:27
alexey-pelykh added a commit that referenced this pull request Apr 24, 2026
…am-sync class renames from silently desyncing (#2503)

Adds lint:ui:no-css-class-drift pnpm script invoking the existing
scripts/audit-css-class-drift.mjs (#2502), and appends it to the
pnpm check chain so the lint CI job now fails on any template-string
class reference in ui/src/**/*.{ts,tsx,html} that has no matching
rule in the CSS files reachable from ui/src/styles.css.

Baseline on main: 0 orphans / 403 references / 733 defined classes
(cluster fixes from #2506, #2512, #2513, #2514, #2515 already
resolved all existing drift before this gate is wired, per the
#2503 AC "All findings from D-1 resolved BEFORE this check is wired
into CI").

Script name adapted from the issue's suggested lint:css-classes to
lint:ui:no-css-class-drift — matches the lint:<area>:no-<thing>
pattern used by lint:ui:no-raw-window-open,
lint:tmp:no-random-messaging, and
lint:plugins:no-monolithic-plugin-sdk-entry-imports.

Documented in CLAUDE.md § Formatting & Linting (local-dev
orientation) and § Fork-integrity gates (CI/fork-lifecycle
orientation, cross-referenced with the existing rebrand /
zombie-import / stub-debt / throwing-stub-callers /
obsolescence-audit gates).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
alexey-pelykh added a commit that referenced this pull request Apr 24, 2026
…am-sync class renames from silently desyncing (#2503) (#2516)

Adds lint:ui:no-css-class-drift pnpm script invoking the existing
scripts/audit-css-class-drift.mjs (#2502), and appends it to the
pnpm check chain so the lint CI job now fails on any template-string
class reference in ui/src/**/*.{ts,tsx,html} that has no matching
rule in the CSS files reachable from ui/src/styles.css.

Baseline on main: 0 orphans / 403 references / 733 defined classes
(cluster fixes from #2506, #2512, #2513, #2514, #2515 already
resolved all existing drift before this gate is wired, per the
#2503 AC "All findings from D-1 resolved BEFORE this check is wired
into CI").

Script name adapted from the issue's suggested lint:css-classes to
lint:ui:no-css-class-drift — matches the lint:<area>:no-<thing>
pattern used by lint:ui:no-raw-window-open,
lint:tmp:no-random-messaging, and
lint:plugins:no-monolithic-plugin-sdk-entry-imports.

Documented in CLAUDE.md § Formatting & Linting (local-dev
orientation) and § Fork-integrity gates (CI/fork-lifecycle
orientation, cross-referenced with the existing rebrand /
zombie-import / stub-debt / throwing-stub-callers /
obsolescence-audit gates).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(ui): migrate channels.nostr btn-sm reference to btn--sm (BEM modifier) — style(ui) clarity pass drift

1 participant