Files
mtdb_movie/common/resources/client/users/user-profile-link.tsx
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

31 lines
754 B
TypeScript
Executable File

import {Link, LinkProps} from 'react-router-dom';
import clsx from 'clsx';
import React, {useContext, useMemo} from 'react';
import {User} from '@common/auth/user';
import {SiteConfigContext} from '@common/core/settings/site-config-context';
interface UserProfileLinkProps extends Omit<LinkProps, 'to'> {
user: User;
className?: string;
}
export function UserProfileLink({
user,
className,
...linkProps
}: UserProfileLinkProps) {
const {auth} = useContext(SiteConfigContext);
const finalUri = useMemo(() => {
return auth.getUserProfileLink!(user);
}, [auth, user]);
return (
<Link
{...linkProps}
className={clsx('hover:underline', className)}
to={finalUri}
>
{user.display_name}
</Link>
);
}