Skip to content

Conversation

@ayusub
Copy link

@ayusub ayusub commented Dec 10, 2025

Description

This PR adds a user profile page to the frontend. The page did not previously exist; this implementation includes:

  • New /users/$userId route and loader
  • Integration with v1UserGet and v1OrganizationsGet APIs
  • Layout for user header (avatar, name, status, title, member since)
  • About + Contact Information + Additional Details sections
  • Organization Memberships section using Organizations API
  • Recent Activity sidebar with a static activity timeline (dummy data for now)

Screenshots


profile page we developed

Testing instructions

Manual verification in the browser
pnpm dev
Open the app in the browser (default Vite dev URL, e.g., http://localhost:5173).
Log in with a test/demo user.
Navigate to /users/:userId (or via the UI if there is a link).
Verify:
Avatar and user name render correctly.
Status badge, username (@handle), title, and “Member since” date show when data is present.
“About”, “Contact Information”, and “Additional Details” sections display the expected fields.
“Organization Memberships” card lists organizations from the API (name, email/website, status, member count, joined date).
“Recent Activity” sidebar shows the static activity timeline.

Checklist

@ayusub ayusub requested review from a team as code owners December 10, 2025 02:15
@vercel
Copy link

vercel bot commented Dec 10, 2025

@ayusub is attempting to deploy a commit to the Opcotech Team on Vercel.

A member of the Team first needs to authorize it.

@boring-cyborg
Copy link

boring-cyborg bot commented Dec 10, 2025

Thanks for opening this pull request! 🥳
Please check out our contributing guide.
If you have any questions, please ask in the #development channel in our
Slack or
Discord.
Happy coding! 🚀

@gabor-boros
Copy link
Member

Hey @ayusub,

First of all, thank you for the PR! Unfortunately it slipped through the cracks and I've just seen it now, sorry for that. I'm going to give it a review later this week 😊

Comment on lines +14 to +44
const user = {
name: 'Demo User',
username: 'demo',
role: 'Senior Software Developer',
email: 'demo@elemo.app',
memberSince: 'August 7, 2025',
status: 'active',
languages: ['en', 'es'],
phone: '+12345678900',
location: '2900 S Congress Ave, Austin, TX',
links: ['example.com', 'elemo.app'],
}

const orgMemberships = [
{
name: 'Acme Corporation',
email: 'info@acme.com',
website: 'acme.com',
members: 3,
joined: 'Jan 2024',
role: 'Admin',
},
{
name: 'TechStart Inc',
email: 'hello@techstart.io',
website: 'techstart.io',
members: 12,
joined: 'Mar 2024',
role: 'Developer',
},
]
Copy link
Member

Choose a reason for hiding this comment

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

User and org memberships are already available, no need to mock them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants