mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-03-25 10:02:27 -04:00
* Test * Add pretty formatting * Fix Tests * Fix Tests * Fix Tests * Fix * Add pretty formatting fix * Fix * Test * Fix tests * Clean typeckech * Add prettier check * Fix api tsconfig * Fix api tsconfig * Fix tsconfig * Fix * Fix * Prettier
37 lines
831 B
TypeScript
37 lines
831 B
TypeScript
import Link from 'next/link'
|
|
import {useUserInStore} from 'web/hooks/use-user-supabase'
|
|
|
|
type User = {
|
|
id: string
|
|
name: string
|
|
username: string
|
|
avatar_url?: string | null
|
|
}
|
|
|
|
export function UserLink({
|
|
user,
|
|
className = '',
|
|
}: {
|
|
user: User | null | undefined
|
|
className?: string
|
|
}) {
|
|
if (!user) return null
|
|
|
|
return (
|
|
<Link
|
|
href={`/${user.username}`}
|
|
className={`hover:text-primary-600 flex items-center gap-1 ${className}`}
|
|
>
|
|
{user.avatar_url && (
|
|
<img src={user.avatar_url} alt={user.name} className="h-5 w-5 rounded-full" />
|
|
)}
|
|
<span>{user.name}</span>
|
|
</Link>
|
|
)
|
|
}
|
|
|
|
export function UserLinkFromId({userId, className = ''}: {userId: string; className?: string}) {
|
|
const user = useUserInStore(userId)
|
|
return <UserLink user={user} className={className} />
|
|
}
|