Skip to content

feat: update team list and design on about page#2756

Merged
ghostdevv merged 11 commits into
npmx-dev:mainfrom
alexdln:feat/governance
May 31, 2026
Merged

feat: update team list and design on about page#2756
ghostdevv merged 11 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 31, 2026 3:56pm
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
docs.npmx.dev Ignored Ignored Preview May 31, 2026 3:56pm
npmx-lunaria Ignored Ignored May 31, 2026 3:56pm

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 16, 2026

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

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

Changes

Governance Role and Component Extraction

Layer / File(s) Summary
Backend core role and team handling
server/api/contributors.get.ts, app/storybook/mocks/handlers.ts
Role type gains 'core'. TeamMembers/fetchTeamMembers track core. getRoleInfo recognises core and reorders roles; fallback teams include core; sponsor-eligible maintainer filter includes teams.core. Storybook mock inserts mock-core-a and updates subsequent mock ids.
GovernanceList component and i18n/schema
app/components/About/GovernanceList.vue, i18n/schema.json, i18n/locales/en.json, test/nuxt/a11y.spec.ts
New GovernanceList.vue SFC renders governance member cards with translated role labels and optional sponsor links. i18n/schema.json updated; English locale adds team.maintainers. Accessibility tests import and mount the component and run axe assertions.
About page grouping & template changes
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; contributors cloud spacing and avatar ring styling adjusted.
Avatar grid & logo hover styling
app/pages/pds.vue, app/components/About/LogoList.vue
Reduced avatar grid gaps and simplified avatar ring/hover styling (ring-2/scale → ring-1/transparent idle with hover accent) on pds/about pages. LogoList.vue hover border colour classes adjusted for single and group logos.
Locale translation updates
i18n/locales/*, i18n/schema.json
Removed governance keys across multiple locale files and introduced/adjusted team-related keys (title/role labels/sponsor strings) where applicable; ro-RO adds a top-level changelog object.

Sequence Diagram(s):
(Skipped — changes are primarily component extraction, data grouping and i18n updates and do not introduce a new multi-component sequential flow requiring diagramming.)

Possibly related PRs:

Suggested reviewers:

  • serhalp
  • graphieros
  • ghostdevv
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description is directly related to the changeset, explaining that a separate core role was added, requiring division into multiple groups with updated card and contributor styling, which matches the actual code changes across components and localisation files.
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.
Title check ✅ Passed The title 'feat: update team list and design on about page' accurately describes the main changes: refactoring team/governance member display into separate groups (team list) and updating visual styling (design).

✏️ 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/ar.json Localization changed, will be marked as complete. 🔄️
i18n/locales/az-AZ.json Localization changed, will be marked as complete. 🔄️
i18n/locales/bg-BG.json Localization changed, will be marked as complete. 🔄️
i18n/locales/bn-IN.json Localization changed, will be marked as complete. 🔄️
i18n/locales/cs-CZ.json Localization changed, will be marked as complete. 🔄️
i18n/locales/de.json Localization changed, will be marked as complete. 🔄️
i18n/locales/en.json Source changed, localizations will be marked as outdated.
i18n/locales/es.json Localization changed, will be marked as complete. 🔄️
i18n/locales/fr-FR.json Localization changed, will be marked as complete. 🔄️
i18n/locales/hi-IN.json Localization changed, will be marked as complete. 🔄️
i18n/locales/hu-HU.json Localization changed, will be marked as complete. 🔄️
i18n/locales/id-ID.json Localization changed, will be marked as complete. 🔄️
i18n/locales/ja-JP.json Localization changed, will be marked as complete. 🔄️
i18n/locales/mr-IN.json Localization changed, will be marked as complete. 🔄️
i18n/locales/nb-NO.json Localization changed, will be marked as complete. 🔄️
i18n/locales/nl.json Localization changed, will be marked as complete. 🔄️
i18n/locales/pl-PL.json Localization changed, will be marked as complete. 🔄️
i18n/locales/pt-BR.json Localization changed, will be marked as complete. 🔄️
i18n/locales/pt-PT.json Localization changed, will be marked as complete. 🔄️
i18n/locales/ro-RO.json Localization changed, will be marked as complete. 🔄️
i18n/locales/ru-RU.json Localization changed, will be marked as complete. 🔄️
i18n/locales/sr-Latn-RS.json Localization changed, will be marked as complete. 🔄️
i18n/locales/tr-TR.json Localization changed, will be marked as complete. 🔄️
i18n/locales/uk-UA.json Localization changed, will be marked as complete. 🔄️
i18n/locales/vi-VN.json Localization changed, will be marked as complete. 🔄️
i18n/locales/zh-CN.json Localization changed, will be marked as complete. 🔄️
i18n/locales/zh-TW.json Localization changed, will be marked as complete. 🔄️
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

Copy link
Copy Markdown
Member

@ghostdevv ghostdevv left a comment

Choose a reason for hiding this comment

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

Not sure that "Governance" is the right word for stewards/core as it encompasses all the groups incl maintainers - we could write just "Core" as the title, and keep daniel/matias with the "steward" on their card

@alexdln
Copy link
Copy Markdown
Member Author

alexdln commented May 20, 2026

@ghostdevv Thanks, good point, done

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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
i18n/locales/ja-JP.json (1)

1186-1191: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add the new team keys required by the governance split.

The Japanese locale is missing the new about.team keys consumed by the updated UI (core, maintainers, role_core), so JP users will get fallback text for those labels.

Suggested fix
   "team": {
     "title": "チーム",
+    "core": "ガバナンス",
+    "maintainers": "メンテナ",
+    "role_core": "コア",
     "role_steward": "スチュワード",
     "role_maintainer": "メンテナ",
     "sponsor": "スポンサー",
     "sponsor_aria": "GitHubで {name} さんをスポンサーする"
   },
🤖 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 `@i18n/locales/ja-JP.json` around lines 1186 - 1191, The ja-JP locale is
missing the new about.team keys used by the UI; add the keys "about.team.core",
"about.team.maintainers", and "about.team.role_core" to the existing team block
in i18n/locales/ja-JP.json (near the existing "title", "role_steward",
"role_maintainer", "sponsor" entries) with appropriate Japanese translations so
the UI no longer falls back to another locale.
🤖 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/storybook/mocks/handlers.ts`:
- Around line 31-39: The mock contributor object with login 'mock-core-a' reuses
id: 1002 (which collides with 'mock-steward-b'); update the id on the
'mock-core-a' object in handlers.ts to a unique value (for example 1003 or any
unused id) and ensure any tests or fixtures that reference that id are updated
accordingly so consumers that key by id won't de-duplicate entries.

---

Outside diff comments:
In `@i18n/locales/ja-JP.json`:
- Around line 1186-1191: The ja-JP locale is missing the new about.team keys
used by the UI; add the keys "about.team.core", "about.team.maintainers", and
"about.team.role_core" to the existing team block in i18n/locales/ja-JP.json
(near the existing "title", "role_steward", "role_maintainer", "sponsor"
entries) with appropriate Japanese translations so the UI no longer falls back
to another locale.
🪄 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: 1ba531bf-ea45-4225-aa9e-c4630f956302

📥 Commits

Reviewing files that changed from the base of the PR and between 0e158f5 and e7a8ddd.

📒 Files selected for processing (12)
  • app/storybook/mocks/handlers.ts
  • i18n/locales/bn-IN.json
  • i18n/locales/en.json
  • i18n/locales/es.json
  • i18n/locales/ja-JP.json
  • i18n/locales/nl.json
  • i18n/locales/ro-RO.json
  • i18n/locales/tr-TR.json
  • i18n/locales/zh-CN.json
  • i18n/locales/zh-TW.json
  • i18n/schema.json
  • test/nuxt/a11y.spec.ts
💤 Files with no reviewable changes (1)
  • i18n/locales/bn-IN.json
🚧 Files skipped from review as they are similar to previous changes (9)
  • i18n/locales/zh-CN.json
  • i18n/locales/zh-TW.json
  • i18n/locales/en.json
  • i18n/locales/es.json
  • i18n/locales/tr-TR.json
  • i18n/locales/nl.json
  • i18n/locales/ro-RO.json
  • test/nuxt/a11y.spec.ts
  • i18n/schema.json

Comment thread app/storybook/mocks/handlers.ts
@ghostdevv ghostdevv added this pull request to the merge queue May 31, 2026
@ghostdevv ghostdevv removed this pull request from the merge queue due to a manual request May 31, 2026
@ghostdevv ghostdevv changed the title feat: update governance list and design feat: update team list and design on about page May 31, 2026
@ghostdevv ghostdevv added this pull request to the merge queue May 31, 2026
Merged via the queue into npmx-dev:main with commit d76e272 May 31, 2026
25 checks passed
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.

2 participants