UI - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: доработка главной сводки и быстрых проектов

This commit is contained in:
DCCONSTRUCTIONS
2026-04-25 23:49:44 +03:00
parent 7d520c7aaf
commit ba996998e8
9 changed files with 710 additions and 199 deletions
@@ -14,10 +14,11 @@ type HomePageHeaderProps = {
selectedProject?: THomeProjectData;
selectedProjectAnalytics?: TProjectAnalyticsCount;
recents?: TActivityEntityData[];
workspaceName?: string;
};
export function HomePageHeader(props: HomePageHeaderProps) {
const { currentUser, selectedProject, selectedProjectAnalytics, recents } = props;
const { currentUser, selectedProject, selectedProjectAnalytics, recents, workspaceName } = props;
const { currentLocale } = useTranslation();
const { currentTime } = useCurrentTime();
@@ -48,6 +49,7 @@ export function HomePageHeader(props: HomePageHeaderProps) {
{ label: "Открытые задачи", value: openIssues.toString(), caption: "в работе" },
{ label: "Касания 7 дней", value: recentTouchpoints.toString(), caption: "recent" },
];
const workspaceDisplayName = workspaceName?.trim() || "Workspace";
return (
<section className="nodedc-home-hero">
@@ -57,26 +59,19 @@ export function HomePageHeader(props: HomePageHeaderProps) {
</div>
<div className="nodedc-home-hero-grid">
<div className="nodedc-home-hero-title-cell">
<h1>WORKSPACE HOME</h1>
<p>
{selectedProject
? `${selectedProject.identifier} в фокусе домашней сводки.`
: "Выберите проект для фокуса, Ганта и рабочей аналитики."}
</p>
</div>
<div className="nodedc-home-market-band">
<div className="min-w-0">
<div className="text-12 font-semibold text-black/[0.58]">Фокус</div>
<div className="mt-1 flex min-w-0 items-center gap-3">
<div className="min-w-0">
<div className="truncate text-24 leading-none font-semibold text-black">
<div className="truncate text-24 leading-none font-semibold text-black nodedc-home-market-focus-title">
{selectedProject?.name ?? "Workspace"}
</div>
<div className="mt-1 truncate text-12 font-medium text-black/[0.54]">
{selectedProject?.description || selectedProject?.identifier || "Координационный обзор"}
</div>
{selectedProject?.identifier && (
<div className="mt-1 truncate text-12 font-medium text-black/[0.54]">
{selectedProject.identifier}
</div>
)}
</div>
</div>
</div>
@@ -86,7 +81,7 @@ export function HomePageHeader(props: HomePageHeaderProps) {
<div key={metric.label} className="min-w-0">
<div className="truncate text-12 font-medium text-black/[0.58]">{metric.label}</div>
<div className="mt-1 text-[26px] leading-none font-semibold text-black">{metric.value}</div>
<div className="mt-2 h-2 overflow-hidden rounded-full bg-black/[0.18]">
<div className="nodedc-home-market-progress">
<div
className="h-full rounded-full bg-black"
style={{
@@ -102,6 +97,11 @@ export function HomePageHeader(props: HomePageHeaderProps) {
))}
</div>
</div>
<div className="nodedc-home-hero-title-cell">
<div className="nodedc-home-hero-title-label">Workspace</div>
<h1>{workspaceDisplayName}</h1>
</div>
</div>
</section>
);