Skip to content

chore: clean up the dApp UI and tighten the comment rules - #75

Open
gabitoesmiapodo wants to merge 14 commits into
mainfrom
chore/dapp-ui-cleanup
Open

chore: clean up the dApp UI and tighten the comment rules#75
gabitoesmiapodo wants to merge 14 commits into
mainfrom
chore/dapp-ui-cleanup

Conversation

@gabitoesmiapodo

@gabitoesmiapodo gabitoesmiapodo commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

No related issue. Offshoot of #74, which must be reviewed and merged first.

(45 files, but...) Cleanup and maintenance only, no thorough review needed.

It rewrites the repo's comment rules (one sentence, never per-member, an @example in every public JSDoc) and applies them across the kit, theme and dApp, then clears the UI debris the sweep exposed: a wallet menu carrying blocks nobody used, buttons that lost their pointer cursor to Tailwind v4's preflight, a dead gradient class, and an unlayered border default that beat every border-* utility.

Merging #74 will bring later conflicts here; those get resolved in favour of this PR's rules and changes.

Changes

  • Comment rules rewritten: one sentence, never per-member, @example in every public JSDoc.
  • Comments trimmed to those rules across the kit, the theme and the dApp.
  • @example added to every symbol the kit's public barrel exports.
  • Wallet menu slimmed to the party switcher plus sign out.
  • Pointer cursor restored on enabled buttons.
  • Border and scrollbar defaults moved into the base layer so utilities win.
  • Dead .gradient-brand class dropped.
  • Node version rows corrected in the root docs.

Acceptance criteria

  • The comment rules are stated once, in the root CLAUDE.md.
  • No per-member comments left on types, interfaces or CSS rules.
  • Every public kit export carries a JSDoc @example.
  • The wallet menu shows only what it needs.
  • Buttons show a pointer cursor again.
  • A border-* utility overrides the app-wide border default.

Test plan

Automated tests

No automated tests added; the diff is comments, docs and CSS layering. The full CI gate is green locally: pnpm lint, typecheck, build, test, knip.

Manual verification

  1. pnpm run app:dev, open http://localhost:3012.
  2. Pick any party on the landing screen.
  3. Open the wallet pill menu: party switcher and sign out only.
  4. Hover any button: pointer cursor.
  5. Toggle light/dark: borders and scrollbars still follow the theme.

Everything else reads off the diff.

Breaking changes

None.

Checklist

  • Self-reviewed my own diff
  • Tests added or updated
  • Docs updated (if applicable)
  • No unrelated changes bundled in

Screenshots

None.

Drops the factory-owner block, the acting-party identifier and the section
headings. The menu is now the party list plus sign out.
Tailwind v4 removed preflight's `cursor: pointer` for buttons, so every
control in dapp/frontend showed the default arrow. Restored in the `base`
layer, excluding disabled and aria-disabled buttons.
Comments are capped at one line (two only when one cannot carry it), and
per-property comments on types, interfaces, enums, object literals and CSS
declarations are out. JSDoc stays exempt from the cap but must carry at
least one @example.
Per-property comments on IdentifierProps, TruncateOptions, the clipboard
option/result types, the anatomy parts and ThemeProviderProps are gone; what
could not be read off the name moved into the symbol's own block. Every JSDoc
block now carries an @example.
Rule- and declaration-level commentary is out under the new comment rules; the
file header stays.
Per-property comments on the component prop interfaces, the domain types and the
store are gone, multi-paragraph file headers are down to a line or two, and the
JSX section labels that only restated the markup are removed.
The theme token header is back to two lines and the dark-mode block loses a
label that only restated its selector; the app stylesheet header and the theme
mapping note are trimmed the same way.
The comment sweep dropped facts the code cannot carry: why dark mode keys on
[data-theme] rather than prefers-color-scheme, why .cnc-identifier__value
declares no font-size, why `cnc` must sit above preflight, and that `history` is
session-local. Absences and rejected alternatives are exactly what code cannot
express, so the rule now names them alongside hacks and external constraints.

Also names the party list for assistive tech, moves the `direction` note to the
props type it documents, and drops an untracked TODO for the fact it recorded.
Collapses the cursor selector's duplicated :not() list into one :is() branch,
and moves the wallet popover's spacing onto the container that owns the layout
so a single-party pool no longer renders a stray margin above Sign out.

The satellite JSDoc examples were fragments of the neighbouring export's
example; each now shows something that one does not.
Every consumer reaches for `bg-[image:var(--gradient-brand)]` instead, so the
class had no callers. The custom property it read stays.
Records the engines floor the jsdom 30 bump introduced, in the root stack table
and the README prerequisites, and notes in the dApp's stylesheet-layering
section that preflight restorations live in `base` so utilities still win.
`* { border-color: var(--border) }` was unlayered, so it outranked every layered
`border-*` utility whatever the specificity, and roughly twenty call sites across
Button, StatusPill, toast and the dialogs painted neutral grey instead of the
colour they asked for. Moving it into `base` puts `utilities` after it.

The scrollbar defaults move with it, since both are app-wide element defaults a
utility should be able to override. The reduced-motion block and `.gradient-text`
stay unlayered: inside a layer `!important` inverts, and the gradient has to keep
beating `text-*`.
@gabitoesmiapodo gabitoesmiapodo self-assigned this Aug 6, 2026
@gabitoesmiapodo

Copy link
Copy Markdown
Collaborator Author

@fernandomg grouped commits by category for easier review:

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.

1 participant