fix: dashboard status counts always set filter (no toggle), hover underline
- Clicking a status count always sets that filter, even when navigating to a different tab (previously toggled off if same filter was active) - Click card background to reset filter to 'all' - Hover underline on status count links
This commit is contained in:
@@ -687,8 +687,8 @@ function DashboardSummary({ statusFilter, onNavigate, onFilter }: {
|
|||||||
<div className="flex items-baseline gap-2 mt-1 flex-wrap">
|
<div className="flex items-baseline gap-2 mt-1 flex-wrap">
|
||||||
{tc.new > 0 && (
|
{tc.new > 0 && (
|
||||||
<>
|
<>
|
||||||
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:opacity-80 transition-opacity"
|
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:underline decoration-neutral-500 underline-offset-2 transition-all"
|
||||||
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter(statusFilter === "new" ? "all" : "new"); }}>
|
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter("new"); }}>
|
||||||
<span className="text-lg font-bold text-gold">{tc.new}</span>
|
<span className="text-lg font-bold text-gold">{tc.new}</span>
|
||||||
<span className="text-[10px] text-neutral-500">новых</span>
|
<span className="text-[10px] text-neutral-500">новых</span>
|
||||||
</span>
|
</span>
|
||||||
@@ -697,8 +697,8 @@ function DashboardSummary({ statusFilter, onNavigate, onFilter }: {
|
|||||||
{tc.contacted > 0 && (
|
{tc.contacted > 0 && (
|
||||||
<>
|
<>
|
||||||
{tc.new > 0 && <span className="text-neutral-700">·</span>}
|
{tc.new > 0 && <span className="text-neutral-700">·</span>}
|
||||||
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:opacity-80 transition-opacity"
|
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:underline decoration-neutral-500 underline-offset-2 transition-all"
|
||||||
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter(statusFilter === "contacted" ? "all" : "contacted"); }}>
|
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter("contacted"); }}>
|
||||||
<span className="text-sm font-medium text-blue-400">{tc.contacted}</span>
|
<span className="text-sm font-medium text-blue-400">{tc.contacted}</span>
|
||||||
<span className="text-[10px] text-neutral-500">в работе</span>
|
<span className="text-[10px] text-neutral-500">в работе</span>
|
||||||
</span>
|
</span>
|
||||||
@@ -707,8 +707,8 @@ function DashboardSummary({ statusFilter, onNavigate, onFilter }: {
|
|||||||
{tc.confirmed > 0 && (
|
{tc.confirmed > 0 && (
|
||||||
<>
|
<>
|
||||||
{(tc.new > 0 || tc.contacted > 0) && <span className="text-neutral-700">·</span>}
|
{(tc.new > 0 || tc.contacted > 0) && <span className="text-neutral-700">·</span>}
|
||||||
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:opacity-80 transition-opacity"
|
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:underline decoration-neutral-500 underline-offset-2 transition-all"
|
||||||
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter(statusFilter === "confirmed" ? "all" : "confirmed"); }}>
|
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter("confirmed"); }}>
|
||||||
<span className="text-sm font-medium text-emerald-400">{tc.confirmed}</span>
|
<span className="text-sm font-medium text-emerald-400">{tc.confirmed}</span>
|
||||||
<span className="text-[10px] text-neutral-500">подтв.</span>
|
<span className="text-[10px] text-neutral-500">подтв.</span>
|
||||||
</span>
|
</span>
|
||||||
@@ -717,8 +717,8 @@ function DashboardSummary({ statusFilter, onNavigate, onFilter }: {
|
|||||||
{tc.declined > 0 && (
|
{tc.declined > 0 && (
|
||||||
<>
|
<>
|
||||||
{(tc.new > 0 || tc.contacted > 0 || tc.confirmed > 0) && <span className="text-neutral-700">·</span>}
|
{(tc.new > 0 || tc.contacted > 0 || tc.confirmed > 0) && <span className="text-neutral-700">·</span>}
|
||||||
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:opacity-80 transition-opacity"
|
<span className="inline-flex items-baseline gap-1 cursor-pointer hover:underline decoration-neutral-500 underline-offset-2 transition-all"
|
||||||
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter(statusFilter === "declined" ? "all" : "declined"); }}>
|
onClick={(e) => { e.stopPropagation(); onNavigate(c.tab); onFilter("declined"); }}>
|
||||||
<span className="text-sm font-medium text-red-400">{tc.declined}</span>
|
<span className="text-sm font-medium text-red-400">{tc.declined}</span>
|
||||||
<span className="text-[10px] text-neutral-500">отказ</span>
|
<span className="text-[10px] text-neutral-500">отказ</span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user