improved avatar displays site-wide

This commit is contained in:
Oliver Bryan
2026-01-01 07:10:15 +00:00
parent 1f217e1338
commit 8511c6472c
4 changed files with 19 additions and 7 deletions

View File

@@ -1,10 +1,22 @@
import type { UserRecord } from "@issue/shared";
import { UserRound } from "lucide-react";
export default function Avatar({ user, size }: { user: UserRecord; size?: number }) {
export default function Avatar({ user, size }: { user?: UserRecord; size?: number }) {
if (user?.avatarURL) {
return (
<img
src={user.avatarURL}
alt="Avatar"
className={`rounded-full object-cover w-${size || 6} h-${size || 6}`}
/>
);
}
return (
<div className={`flex items-center justify-center rounded-full border w-${size || 7} h-${size || 7}`}>
<UserRound size={size ? size * 2 + 2 : 16} />
<div
className={`flex items-center justify-center rounded-full ${user && "border"} w-${size || 6} h-${size || 6}`}
>
{user && <UserRound size={size ? size * 2 + 2 : 14} />}
</div>
);
}

View File

@@ -50,8 +50,8 @@ export function IssuesTable({
<TableCell className="overflow-hide">{issueData.Issue.description}</TableCell>
)}
{(columns.assignee == null || columns.assignee === true) && (
<TableCell className={"w-[1px] text-center px-1 py-0"}>
{issueData.User ? <Avatar user={issueData.User} size={6} /> : "?"}
<TableCell className={"flex items-center justify-end px-1 py-1"}>
<Avatar user={issueData.User} />
</TableCell>
)}
</TableRow>

View File

@@ -4,7 +4,8 @@ import Avatar from "@/components/avatar";
export default function SmallUserDisplay({ user }: { user: UserRecord }) {
return (
<div className="flex gap-2 items-center">
{user.name} <Avatar user={user} size={6} />
<Avatar user={user} size={6} />
{user.name}
</div>
);
}

View File

@@ -5,4 +5,3 @@
- issue assignee
- deadline
- time tracking (linked to issues or standalone)
- user avatars