main
|
Last change
on this file since 1579b4f 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 | |
|---|
| 1 | import { useNavigate } from "react-router-dom";
|
|---|
| 2 | import { baseURL } from "../../api/axiosInstance";
|
|---|
| 3 | import type { BaseNonAdminUser } from "../../utils/types";
|
|---|
| 4 |
|
|---|
| 5 | interface UserResultProps {
|
|---|
| 6 | user: BaseNonAdminUser;
|
|---|
| 7 | label: "Artist" | "User";
|
|---|
| 8 | }
|
|---|
| 9 |
|
|---|
| 10 | const 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 |
|
|---|
| 41 | export default UserResult;
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.