feat: user avatar images

- added user avatars for each user
- it will fetch user images from github or google and if there is no image then it will show initials
This commit is contained in:
Akhileshrangani4
2024-11-10 23:40:10 -05:00
parent 90bfdec58a
commit e9f03d52fd
11 changed files with 64 additions and 18 deletions

View File

@ -23,7 +23,7 @@ export default function Navbar({
}: {
userData: User
sandboxData: Sandbox
shared: { id: string; name: string }[]
shared: { id: string; name: string; avatarUrl: string }[]
}) {
const [isEditOpen, setIsEditOpen] = useState(false)
const [isShareOpen, setIsShareOpen] = useState(false)

View File

@ -43,6 +43,7 @@ export default function ShareSandboxModal({
shared: {
id: string
name: string
avatarUrl: string
}[]
}) {
const [loading, setLoading] = useState(false)
@ -142,7 +143,11 @@ export default function ShareSandboxModal({
</DialogHeader>
<div className="space-y-2">
{shared.map((user) => (
<SharedUser key={user.id} user={user} sandboxId={data.id} />
<SharedUser
key={user.id}
user={user}
sandboxId={data.id}
/>
))}
</div>
</div>

View File

@ -10,7 +10,7 @@ export default function SharedUser({
user,
sandboxId,
}: {
user: { id: string; name: string }
user: { id: string; name: string; avatarUrl: string }
sandboxId: string
}) {
const [loading, setLoading] = useState(false)
@ -24,7 +24,7 @@ export default function SharedUser({
return (
<div className="flex items-center justify-between">
<div className="flex items-center">
<Avatar name={user.name} className="mr-2" />
<Avatar name={user.name} avatarUrl={user.avatarUrl} className="mr-2" />
{user.name}
</div>
<Button