ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: presence автора и унификация карточек

This commit is contained in:
DCCONSTRUCTIONS
2026-04-29 14:22:42 +03:00
parent d53fa2b38c
commit 4dbb7b500c
11 changed files with 466 additions and 89 deletions
@@ -19,6 +19,7 @@ import { DateDropdown } from "@/components/dropdowns/date";
import { ButtonAvatars } from "@/components/dropdowns/member/avatar";
import { MemberDropdown } from "@/components/dropdowns/member/dropdown";
import { MemberDropdownBase } from "@/components/dropdowns/member/base";
import { PresenceDot } from "@/components/presence/presence-dot";
import { useAppRouter } from "@/hooks/use-app-router";
import { useMember } from "@/hooks/store/use-member";
import { useProjectExternalContoursBoard } from "@/hooks/store/use-project-external-contours-board";
@@ -96,6 +97,7 @@ export const ExternalContoursBoardItem = observer(function ExternalContoursBoard
request.requested_by_name ||
issue.created_by_detail?.display_name ||
"NODE.DC";
const requesterId = request.requested_by?.id || request.requested_by_id || issue.created_by_detail?.id || issue.created_by;
const requesterAvatar = issue.created_by_detail?.avatar_url || "";
const counterpartContourName =
direction === "outgoing"
@@ -304,12 +306,19 @@ export const ExternalContoursBoardItem = observer(function ExternalContoursBoard
>
<div className={cn("relative flex min-h-[220px] flex-col px-1", foregroundClasses)}>
<div className="absolute top-0.5 left-0.5 z-20">
<Avatar
src={requesterAvatar}
name={requester}
size={48}
className="border border-white/10 shadow-none ring-0 outline-none"
/>
<div className="relative h-12 w-12">
<Avatar
src={requesterAvatar}
name={requester}
size={48}
className="border border-white/10 shadow-none ring-0 outline-none"
/>
<PresenceDot
workspaceSlug={workspaceSlug}
userId={requesterId}
className={isActive ? "border-[rgb(var(--nodedc-card-active-rgb))]" : undefined}
/>
</div>
</div>
<div className="absolute top-0.5 right-0.5 z-20" onClick={stopCardPropagation}>