Skip to content

Story 2212: Contributors List Component#2268

Open
jlchilders11 wants to merge 10 commits intodevelopfrom
jc/contributors-list
Open

Story 2212: Contributors List Component#2268
jlchilders11 wants to merge 10 commits intodevelopfrom
jc/contributors-list

Conversation

@jlchilders11
Copy link
Copy Markdown
Collaborator

Issue: #2212

Summary & Context

  • Adds the contributors list component, which implements wrapping the user profile component
  • Adds contributor-list.css to style this list across different breakpoints

Closes #2212

Changes

  • adds v3/inclues/_contributors_list.html
  • adds static/css/v3/contributors-list.css
  • Implements figma styling to these areas
  • Implements these components in the demo page

‼️ Risks & Considerations ‼️

Please list any potential risks or areas that need extra attention during review/testing

None

Screenshots

Release:

image image

All:

image image image image

Self-review Checklist

  • Tag at least one team member from each team to review this PR
  • Link this PR to the related GitHub Project ticket

Frontend

  • UI implementation matches Figma design
  • Tested in light and dark mode
  • Responsive / mobile verified
  • Accessibility checked (keyboard navigation, etc.)
  • Ensure design tokens are used for colors, spacing, typography, etc. – No hardcoded values
  • Test without JavaScript (if applicable)
  • No console errors or warnings

Copy link
Copy Markdown
Collaborator

@gregjkal gregjkal left a comment

Choose a reason for hiding this comment

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

Couple requests.

{% if author.profile_url %}
<a href="{{ author.profile_url }}" class="user-profile__avatar-link">
{% include "v3/includes/_avatar_v3.html" with src=author.avatar_url name=author.name size="xl" %}
{% include "v3/includes/_avatar_v3.html" with src=author.avatar_url name=author.name size="xl" only %}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nice. Were you seeing a context leak, or is this just proactive? Should we be doing this other places we pass props to components?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I did get a context leak, since I was also use a variant keyword in my component (avatar has a variant input). We should proactively be using only when using other components.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Something to share with the team!

@jlchilders11 jlchilders11 requested a review from gregjkal April 2, 2026 13:55
@herzog0 herzog0 self-requested a review April 2, 2026 15:10
Copy link
Copy Markdown
Collaborator

@herzog0 herzog0 left a comment

Choose a reason for hiding this comment

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

Looking pretty good!
I'm pre-approving, with a small ask: there seems to be missing a divider below the "All contributors" header in the mobile version.

Image

Figma:

Image

@jlchilders11
Copy link
Copy Markdown
Collaborator Author

Looking pretty good! I'm pre-approving, with a small ask: there seems to be missing a divider below the "All contributors" header in the mobile version.
Image

Figma:
Image

Good catch, this was a subtle issue caused by the hr not having a min-height, so when we set a max height on the card it got squished out of existence.

@jlchilders11 jlchilders11 force-pushed the jc/contributors-list branch from 88e320d to b8f93a8 Compare April 2, 2026 16:32
Copy link
Copy Markdown
Collaborator

@julhoang julhoang left a comment

Choose a reason for hiding this comment

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

This LGTM! I'm pre-approving with 1 tiny request to update the semantic tag for the card title to use heading. Thanks in advance!

{% endcomment %}
<div class="basic-card card py-large contributors-list {% if variant == 'all' %} all-contributors {% endif %}">
<div class="card__header">
<span class="card__title">{{ title }}</span>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Would you mind updating this to <h2>?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Can we semantically guarantee that this will always be an h2 when it is included? Just thinking in terms of including it on a page, it might exist as part of a section that already has an h2 or h3

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Based on our current page designs, I think it's very likely to always be <h2> . Alternatively, we can set h2 as the default and add a new optional parameter for the consumer to set a different heading level.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I added this semanted header selection functionality. Do we think this is something we may use on other cards enough to spin off into its own include?

Comment on lines +17 to +27
{% if heading_level == '2' or not heading_level %}
<h2 class="card__title">{{ title }}</h2>
{% elif heading_level == '3' %}
<h3 class="card__title">{{ title }}</h3>
{% elif heading_level == '4' %}
<h4 class="card__title">{{ title }}</h4>
{% elif heading_level == '5' %}
<h5 class="card__title">{{ title }}</h5>
{% elif heading_level == '6' %}
<h6 class="card__title">{{ title }}</h6>
{% endif %}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Just a thought – looking at this I feel like we should probably eventually have a card heading component to handle these heading level mapping and use it in other cards as well. Thanks for this update!

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Great minds think alike, I commented the same on the other comment chain.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Ooops sorry I missed that, I'm glad we're on the same page 😆🙌. This should be used in other cards as well

Copy link
Copy Markdown
Collaborator

@gregjkal gregjkal left a comment

Choose a reason for hiding this comment

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

Couple more small items

@jlchilders11 jlchilders11 requested a review from gregjkal April 2, 2026 18:49
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.

Contributors List Component

4 participants