Skip to content

Conversation

@belledw
Copy link
Collaborator

@belledw belledw commented Jan 24, 2026

Change Summary

  • Created a member page at /members/{id} to display information about active members of the club.
  • An error is raised if the member is not marked as active, so that id is treated as invalid.
  • Page heading displays member name, pronouns, bio and profile image fetched from backend.
  • Body of page contains widgets for games and artwork the member has contributed to, not yet fetched from backend.

Change Form

Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

  • The pull request title has an issue number
  • The change works by "Smoke testing" or quick testing
  • The change has tests
  • The change has documentation - not sure if needed.

Other Information

[Is there anything in particular in the review that I should be aware of?]

Related issue

KKatariah and others added 30 commits January 10, 2026 04:41
Copy link
Collaborator

Choose a reason for hiding this comment

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

What's the source for this image? Are we sure we have the rights to use it?

(An SVG is preferable if possible)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The image is directly from the Figma design, so I assumed it is ok to use - but will remove if not.

</div>
</div>
</div>
<div className="m-auto min-h-80 w-11/12">
Copy link
Collaborator

Choose a reason for hiding this comment

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

We should remove these placeholders before merging into main

Comment on lines 40 to 41
<div className="m-auto h-fit bg-[#1B1F4C] text-[#CED1FE]">
<div className="border-y-[#9CA4FD]lg:mx-10 mx-2 flex flex-wrap items-center justify-center gap-y-5 py-7">
Copy link
Collaborator

Choose a reason for hiding this comment

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

Best practice would be to use the existing defined colours or define new ones in the globals.css

</div>
<div className="flex w-4/5 flex-col gap-2 rounded-md p-2.5 font-firaCode">
<div className="font-jersey10 text-4xl">
{" "}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Not sure what this is doing.

Comment on lines 22 to 25
if (!res.data.active) {
throw new Error("Member is not active; raising error");
}
return res.data;
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be a backend check, not frontend. To the frontend there should be no difference between inactive and non-existent members.

const { data: member, isLoading, isError } = useMember(id);

if (isLoading) {
return <p>Loading member...</p>;
Copy link
Collaborator

Choose a reason for hiding this comment

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

We can just leave it blank while loading.

"about",
"pronouns"
"pronouns",
"active"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Whether the member is active should not be sent to the frontend. To an outside observer there shouldn't be a difference between non-existent and inactive members

@laurenpudz
Copy link
Contributor

Could you please add screenshots of any UI changes to the PR? thanks :)

@belledw
Copy link
Collaborator Author

belledw commented Jan 25, 2026

Here is the updated UI:
Member Profile Page UI 25-01
It is mostly the same as the original PR, but the placeholders in the projects section have been removed.

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.

Member pages

6 participants