Skip to content

Added nonfunctional profile picture edit and delete icons#265

Open
sirQuail wants to merge 5 commits intomainfrom
frontend/profile-picture-editor-buttons
Open

Added nonfunctional profile picture edit and delete icons#265
sirQuail wants to merge 5 commits intomainfrom
frontend/profile-picture-editor-buttons

Conversation

@sirQuail
Copy link
Contributor

Description

Adds nonfunctional edit and delete buttons only visible when hovering over a trainee profile picture.
Will be expanded to include confirmation and upload modals and finally api implementation.

Showcase

image

@HackYourFutures HackYourFutures temporarily deployed to dojo-frontend-profile-p-fcc4jt December 16, 2025 11:06 Inactive
@stasel stasel requested a review from Copilot December 16, 2025 11:10
width: 180,
}}
>
<Fade in={isHovering}>
Copy link
Member

Choose a reason for hiding this comment

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

Do you think this can be made much simple with only a CSS hover rule? What is the added benefit of using Fade?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes it is also possible to do it via CSS, the benefit of using Fade is that it is a part of the MUI that we use.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds non-functional edit and delete icon buttons that appear when hovering over a trainee's profile picture. The implementation uses Material-UI components with fade animations and hover effects, setting the groundwork for future functionality including confirmation modals, upload dialogs, and API integration.

Key Changes:

  • Added hover state management using React useState to show/hide edit and delete icons
  • Implemented visual feedback with brightness filter on avatar and scale transforms on icons
  • Used Material-UI Fade component for smooth icon transitions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@HackYourFutures HackYourFutures temporarily deployed to dojo-frontend-profile-p-4qhhbx January 20, 2026 11:22 Inactive
Copy link
Member

@stasel stasel left a comment

Choose a reason for hiding this comment

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

Looks good

@sirQuail sirQuail force-pushed the frontend/profile-picture-editor-buttons branch from 1c6eea1 to cec6faa Compare February 9, 2026 18:20
@HackYourFutures HackYourFutures had a problem deploying to dojo-frontend-profile-p-4qhhbx February 9, 2026 18:20 Failure
It is now found in profile-> components
@HackYourFutures HackYourFutures had a problem deploying to dojo-frontend-profile-p-4qhhbx February 9, 2026 18:24 Failure
said file did not have the seperate ProfilePictureModal
Copy link
Contributor

@zalexa19 zalexa19 left a comment

Choose a reason for hiding this comment

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

Hi!
I looked at your pr, really happy that you extracted some code to a new component!
I left a comment about passing the Trainee to this component, other than that it looks cool :)

* @returns {ReactNode} A React element that renders profile page sidebar information and profile image.
*/
const ProfileSidebar = ({ traineeId }: ProfileSidebarProps) => {
export const ProfileSidebar = ({ traineeId }: ProfileSidebarProps) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

This component also has a default export at the bottom of this file.
Could you please delete the default export?

import { Trainee } from '../../../../data/types/Trainee';

interface ProfilePictureModalProps {
data: Trainee | undefined;
Copy link
Contributor

Choose a reason for hiding this comment

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

I think that instead of the whole Trainee object, it would be better to pass the properties that are used in this component - imageUrl and displayName.
Then this component wont be rerendered when something unrelated to the profile changes in Trainee

position="relative"
>
<Avatar
src={data?.imageURL}
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure, can Avatar component handle undefined as a src?

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.

5 participants