Skip to content

Story 2304: User Profile UI#2400

Merged
jlchilders11 merged 22 commits into
developfrom
jc/user-profile
May 26, 2026
Merged

Story 2304: User Profile UI#2400
jlchilders11 merged 22 commits into
developfrom
jc/user-profile

Conversation

@jlchilders11
Copy link
Copy Markdown
Collaborator

@jlchilders11 jlchilders11 commented May 5, 2026

Issue: #2304

Summary & Context

Changes

  • Implements v3 version of User Profile Page
  • Adds appropriate css file for this page
  • Adds _user_profile_bio_card component, which is a variation of a markdown card with space of library contributions
  • Adds _mailing_list_activity component, which lists mailing list activity on a card component.
  • Adds summary to _post_card for use with the empty state
  • Adds several new icons for the top buttons

‼️ Risks & Considerations ‼️

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

Screenshots

Empty:

Desktop:

image

Dark Mode:
image

Mobile:
image

Filled:
Desktop:

image

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

@jlchilders11 jlchilders11 requested review from julhoang and julioest May 5, 2026 20:31
@julhoang julhoang linked an issue May 6, 2026 that may be closed by this pull request
4 tasks
Copy link
Copy Markdown
Collaborator

@julioest julioest left a comment

Choose a reason for hiding this comment

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

Looks great and works well in both states! One small thought: we could drop that duplicate markup (achievements, badges, posts, connections) and let CSS grid do the layout work for us instead.

I tried collapsing it into a single grid with grid-template-areas first, but every row took the height of the taller card across columns and left big gaps under the shorter ones. Two flex columns with display: contents on mobile cleared both problems up: each card renders once, the columns flow independently, and the mobile cascade is just order:.

<div class="user-profile__profile-content-area">
  <div class="user-profile__col">
    {# bio, github, mailing-list #}
  </div>
  <div class="user-profile__col">
    {# achievements, badges, posts, connections #}
  </div>
</div>
.user-profile__profile-content-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-large);
  margin-bottom: var(--space-xl);
}

.user-profile__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-large);
}

@media (max-width: 767px) {
  .user-profile__profile-content-area {
    grid-template-columns: 1fr;
  }
  /* Lift the column wrappers so the cards become direct grid children */
  .user-profile__col {
    display: contents;
  }
  .user-profile__bio          { order: 1; }
  .user-profile__achievements { order: 2; }
  .user-profile__badges       { order: 3; }
  .user-profile__github       { order: 4; }
  .user-profile__posts        { order: 5; }
  .user-profile__mailing-list { order: 6; }
  .user-profile__connections  { order: 7; }
}

Tried it locally and each card class shows up once, columns flow independently on desktop, and the mobile cascade orders bio → achievements → badges → github → posts → mailing-list → connections.

Here's a patch for this: pr-2400-dom-duplication-fix.patch

@jlchilders11
Copy link
Copy Markdown
Collaborator Author

  .user-profile__mailing-list { order: 6; }
  .user-profile__connections  { order: 7; }
}

This is slick as heck, implemented.

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! Just a few fixes I think should be applied. Also, can you add some info to the description on how we can see other user's public profiles? I see me in the url, but I wouldn't know what to replace that with in order to see others' users pages.

Comment thread core/mock_data.py Outdated
Comment thread templates/includes/icon.html Outdated
Comment thread templates/includes/icon.html Outdated
Comment thread templates/v3/user_profile_page.html Outdated
Comment thread static/css/v3/components.css Outdated
Comment thread templates/v3/user_profile_page.html
Comment thread static/css/v3/buttons.css
@jlchilders11 jlchilders11 requested a review from herzog0 May 8, 2026 17:51
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.

Thanks for the fixes!

@jlchilders11 jlchilders11 requested review from herzog0 and julioest May 18, 2026 21:41
@jlchilders11
Copy link
Copy Markdown
Collaborator Author

@julioest @herzog0 for the requested rereview, the primary elements to be reviewed are the refactor of tooltips, as well as the handling of the right aligning of buttons on the template view.

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.

Just some small nits and a color that must be fixed. Otherwise it looks good!
Thanks for the tooltip work too, that's pretty good to use now!!

Comment thread templates/includes/icon.html Outdated
{% elif icon_name == "pixel-pencil" %}
<path d="M12 1.33334H10.6667V2.66668H9.33337V4.00001H8.00004V5.33334H6.66671V6.66668H5.33337V8.00001H4.00004V9.33334H2.66671V10.6667H1.33337V14.6667H5.33337V13.3333H6.66671V12H8.00004V10.6667H9.33337V9.33334H10.6667V8.00001H12V6.66668H13.3334V5.33334H14.6667V4.00001H13.3334V2.66668H12V1.33334ZM12 6.66668H10.6667V8.00001H9.33337V9.33334H8.00004V10.6667H6.66671V12H5.33337V10.6667H4.00004V9.33334H5.33337V8.00001H6.66671V6.66668H8.00004V5.33334H9.33337V4.00001H10.6667V5.33334H12V6.66668ZM4.00004 10.6667H2.66671V13.3333H5.33337V12H4.00004V10.6667Z" />
{% elif icon_name == "pixel-share" %}
<path d="M2.66671 4H7.33337V5.33333H2.66671V10.6667H7.33337V12H1.33337V4H2.66671ZM13.3334 4H8.66671V5.33333H13.3334V10.6667H8.66671V12H14.6667V4H13.3334ZM11.3334 7.33333H4.66671V8.66667H11.3334V7.33333Z" fill="#050816"/>
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.

We should remove the fill color here as well, as its overriding the mapping for the dark theme

Image

Comment thread users/views.py Outdated
from . import tasks


from core.mock_data import SharedResources # noqa: F401
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.

I think this import is not being used anywhere

Comment on lines +137 to +138
padding-left:var(--space-medium);
padding-right:var(--space-medium);
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.

I think this still didn't solve the reported padding issue. The inner padding is fine, but it's adding to the overall webpage padding, which looks like a higher size than expected.
Removing the padding altogether fixes it apparently. Not sure of the global implications of doing that though.

Image

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 agree that this padding does not match the design, but I hope that we can spin this off into its own ticket as I think that this is something of a global problem?

Copy link
Copy Markdown
Collaborator

@julioest julioest left a comment

Choose a reason for hiding this comment

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

Approved 👍

Copy link
Copy Markdown
Collaborator

@kattyode kattyode left a comment

Choose a reason for hiding this comment

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

QA Approved

@jlchilders11 jlchilders11 merged commit 017664d into develop May 26, 2026
4 checks passed
@jlchilders11 jlchilders11 deleted the jc/user-profile branch May 26, 2026 16:24
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.

Webpage UI: User Profile

4 participants