diff --git a/ui/web/src/components/shared/multi-user-picker.tsx b/ui/web/src/components/shared/multi-user-picker.tsx index e3dce092..af4153f7 100644 --- a/ui/web/src/components/shared/multi-user-picker.tsx +++ b/ui/web/src/components/shared/multi-user-picker.tsx @@ -1,6 +1,8 @@ import { useState } from "react"; import { X } from "lucide-react"; import { Badge } from "@/components/ui/badge"; +import { useContactResolver } from "@/hooks/use-contact-resolver"; +import { formatUserLabel } from "@/lib/format-user-label"; import { UserPickerCombobox } from "./user-picker-combobox"; interface MultiUserPickerProps { @@ -34,6 +36,7 @@ export function MultiUserPicker({ portalContainer, }: MultiUserPickerProps) { const [inputValue, setInputValue] = useState(""); + const { resolve } = useContactResolver(value); const handleCommit = (val: string) => { const trimmed = val.trim(); @@ -59,7 +62,7 @@ export function MultiUserPicker({
{value.map((id) => ( - {id} + {formatUserLabel(id, resolve)}
{writers.map((p) => { - const displayName = p.metadata?.displayName || p.userId; + const label = p.metadata?.displayName || formatUserLabel(p.userId, resolve); const username = p.metadata?.username ? ` @${p.metadata.username}` : ""; return (
@@ -239,11 +248,10 @@ export function AgentPermissionsTab({ agentId }: AgentPermissionsTabProps) { > {p.permission} - {displayName} + {label} {username && ( {username} )} - ({p.userId})