source: frontend/src/components/search/UserResult.tsx@ 947fcaa

main
Last change on this file since 947fcaa was a5406e1, checked in by Filip Gavrilovski <filipgavrilovski28@…>, 5 months ago

song repository bug fix; minor ui change

  • Property mode set to 100644
File size: 1.1 KB
Line 
1import { useNavigate } from "react-router-dom";
2import { baseURL } from "../../api/axiosInstance";
3import type { BaseNonAdminUser } from "../../utils/types";
4
5interface UserResultProps {
6 user: BaseNonAdminUser;
7 label: "Artist" | "User";
8}
9
10const UserResult = ({ user, label }: UserResultProps) => {
11 const navigate = useNavigate();
12
13 return (
14 <div
15 onClick={() => navigate(`/users/${user.username}`)}
16 className="flex items-center gap-4 p-3 rounded-lg hover:bg-white/5 cursor-pointer transition-colors group"
17 >
18 {user.profilePhoto ? (
19 <img
20 src={`${baseURL}/${user.profilePhoto}`}
21 alt={user.username}
22 className="w-12 h-12 rounded-full object-cover"
23 />
24 ) : (
25 <div className="w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center">
26 <span className="text-white text-lg font-semibold">
27 {user.username.charAt(0).toUpperCase()}
28 </span>
29 </div>
30 )}
31 <div className="flex-1 min-w-0">
32 <p className="text-white font-medium truncate">{user.fullName}</p>
33 <p className="text-sm text-gray-400 truncate">
34 {label} • @{user.username}
35 </p>
36 </div>
37 </div>
38 );
39};
40
41export default UserResult;
Note: See TracBrowser for help on using the repository browser.