Skip to content

feat: update governance list and design#2756

Open
alexdln wants to merge 6 commits into
npmx-dev:mainfrom
alexdln:feat/governance
Open

feat: update governance list and design#2756
alexdln wants to merge 6 commits into
npmx-dev:mainfrom
alexdln:feat/governance

Conversation

@alexdln
Copy link
Copy Markdown
Member

@alexdln alexdln commented May 16, 2026

📚 Description

Since we added a separate core role, there are multiple roles in one group now. Divided it into two groups and updated the cards and contributors style to make everything more streamlined and neat

Screenshot image

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
npmx.dev Ready Ready Preview, Comment May 16, 2026 2:41pm
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
docs.npmx.dev Ignored Ignored Preview May 16, 2026 2:41pm
npmx-lunaria Ignored Ignored May 16, 2026 2:41pm

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 16, 2026

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added a Governance list component and dedicated Maintainers section on the About page
    • Introduced a new "core" team category
  • Style

    • Updated avatar styling and tightened spacing across community and PDS sections
    • Refined logo link hover borders and contributor hover effects
  • Tests

    • Added accessibility tests for the Governance component

Walkthrough

Adds a 'core' contributor role and backend handling; extracts governance rendering into a new GovernanceList component; refactors about.vue to group governance (steward+core), maintainers, and contributors; harmonises avatar/logo styling; updates i18n/schema; and adds accessibility tests for the new component.

Changes

Governance Role and Component Extraction

Layer / File(s) Summary
Backend core role type and team handling
server/api/contributors.get.ts
Role type gains 'core'. TeamMembers and fetchTeamMembers track core. getRoleInfo recognises core and reorders roles. Fallback teams include core. Sponsor-eligible maintainer filter includes teams.core.
GovernanceList component and i18n schema
app/components/About/GovernanceList.vue, i18n/schema.json, i18n/locales/en.json
New GovernanceList.vue SFC renders member cards with translated role labels and optional sponsor links. i18n/schema.json adds maintainers and role_core properties; English locale adds team.maintainers.
About page refactoring and member grouping
app/pages/about.vue
Computed groups updated: governanceMembers = steward + core, maintainersMembers = maintainer, community = contributor. Governance and maintainers sections now use AboutGovernanceList :members="...". Inline per-member role-label logic removed.
Avatar and logo styling updates
app/pages/about.vue, app/pages/pds.vue, app/components/About/LogoList.vue
Reduced avatar grid gaps and simplified ring/hover styling (ring-2/scale → ring-1/transparent idle with hover accent) in about and pds pages. LogoList.vue hover border colour classes adjusted for single and group logos.
GovernanceList accessibility tests
test/nuxt/a11y.spec.ts
Adds AboutGovernanceList to test imports and a dedicated axe accessibility test that mounts the component with sample members and asserts no violations.

Possibly related PRs

  • npmx-dev/npmx.dev#1986: Touches app/components/About/LogoList.vue, related to logo hover/border styling changes.
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main changes: introducing a new governance list component and updating its design along with contributor styling.
Description check ✅ Passed The description clearly relates to the changeset, explaining the addition of a separate core role and the division into multiple groups with updated styling.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 16, 2026

Lunaria Status Overview

🌕 This pull request will trigger status changes.

Learn more

By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.

You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File Note
i18n/locales/en.json Source changed, localizations will be marked as outdated.
Warnings reference
Icon Description
🔄️ The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/components/About/GovernanceList.vue`:
- Around line 8-14: The roleLabels computed property is missing a translated
label for the "core" Role, causing it to fall back to raw text; update the
object inside the roleLabels computed (the mapping that currently contains
steward and maintainer) to include core: $t('about.team.role_core'), and also
add the key about.team.role_core to your locale files and schema so the
translation is available for all locales.

In `@server/api/contributors.get.ts`:
- Around line 114-117: The role rank values are inverted relative to the
ascending final sort; update the numeric orders returned in the role-resolution
block so higher-precedence roles get smaller numbers for an ascending sort
(e.g., change teams.steward -> order: 0, teams.core -> order: 1,
teams.maintainer -> order: 2, and default contributor -> order: 3) by editing
the return objects in the function that resolves roles (the lines returning {
role: 'steward', order: ... }, { role: 'core', order: ... }, { role:
'maintainer', order: ... }, and the final default).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0ce381e3-6ef4-4678-ba0d-cb1d46aaf3be

📥 Commits

Reviewing files that changed from the base of the PR and between d1e566c and f42731f.

📒 Files selected for processing (8)
  • app/components/About/GovernanceList.vue
  • app/components/About/LogoList.vue
  • app/pages/about.vue
  • app/pages/pds.vue
  • i18n/locales/en.json
  • i18n/schema.json
  • server/api/contributors.get.ts
  • test/nuxt/a11y.spec.ts

Comment thread app/components/About/GovernanceList.vue
Comment thread server/api/contributors.get.ts Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
server/api/contributors.get.ts (1)

173-173: ⚡ Quick win

Update stale role-group comment to match current filter logic.

Line 173 says “stewards + maintainers”, but Line 176 now includes core as well. Please update the comment to avoid future confusion when reading sponsor-eligibility logic.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@server/api/contributors.get.ts` at line 173, Update the stale inline comment
that currently reads “stewards + maintainers” to accurately reflect the active
filter logic by including the `core` group (e.g., “stewards, core, and
maintainers”) near the sponsor-eligibility block in
server/api/contributors.get.ts where the `core` group is now part of the filter;
keep wording concise and aligned with the surrounding sponsor-eligibility logic
so future readers aren’t confused.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@server/api/contributors.get.ts`:
- Line 173: Update the stale inline comment that currently reads “stewards +
maintainers” to accurately reflect the active filter logic by including the
`core` group (e.g., “stewards, core, and maintainers”) near the
sponsor-eligibility block in server/api/contributors.get.ts where the `core`
group is now part of the filter; keep wording concise and aligned with the
surrounding sponsor-eligibility logic so future readers aren’t confused.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e039c2d8-4049-4256-ac43-e54d961737c6

📥 Commits

Reviewing files that changed from the base of the PR and between f42731f and 17583b8.

📒 Files selected for processing (4)
  • app/components/About/GovernanceList.vue
  • i18n/locales/en.json
  • i18n/schema.json
  • server/api/contributors.get.ts
✅ Files skipped from review due to trivial changes (1)
  • i18n/locales/en.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • i18n/schema.json
  • app/components/About/GovernanceList.vue

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