refactor: dashboard design critique — eliminate redundancy, differentiate sections
- Remove GreetingStatStrip (duplicated PerformanceCards data) - Strip left-border accent from stat cards (AI slop pattern) - Redesign KnowledgeBaseCards: icon grid → compact row list with icon badges - Redesign TeamSummary: distinct inline-row layout, no longer identical twin - Differentiate hover: stat cards use subtle border-hover, sessions keep springy lift - Add loading skeletons to PerformanceCards, KnowledgeBaseCards, TeamSummary - Add error state to PerformanceCards - Extract timeAgo() to shared lib/timeAgo.ts (replaced 4 duplicates) - Fix Skeleton bg-brand-border (undefined CSS var) → border-default - Fix double text-xs text-[0.5625rem] class conflicts across dashboard Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,6 @@ import { ActiveFlowPilotSessions } from '@/components/dashboard/ActiveFlowPilotS
|
||||
import { PerformanceCards } from '@/components/dashboard/PerformanceCards'
|
||||
import { KnowledgeBaseCards } from '@/components/dashboard/KnowledgeBaseCards'
|
||||
import { TeamSummary } from '@/components/dashboard/TeamSummary'
|
||||
import { GreetingStatStrip } from '@/components/dashboard/GreetingStatStrip'
|
||||
|
||||
function SectionLabel({ children, action }: { children: React.ReactNode; action?: React.ReactNode }) {
|
||||
return (
|
||||
@@ -37,18 +36,14 @@ export function QuickStartPage() {
|
||||
<div className="overflow-y-auto h-full">
|
||||
<PageMeta title="ResolutionFlow" />
|
||||
<div className="max-w-4xl mx-auto px-6 pt-12 pb-12">
|
||||
{/* Hero: Greeting + Stat Strip */}
|
||||
<div className="flex items-end justify-between mb-8 animate-fade-in-up">
|
||||
<div>
|
||||
<p className="font-sans text-xs uppercase tracking-[0.12em] text-muted-foreground mb-1">
|
||||
{dayOfWeek}, {formattedDate}
|
||||
</p>
|
||||
<h1 className="font-heading text-3xl sm:text-4xl font-extrabold tracking-tight text-[#f0f2f5] leading-tight">
|
||||
Good {greeting},<br className="hidden sm:block" />
|
||||
{firstName}.
|
||||
</h1>
|
||||
</div>
|
||||
<GreetingStatStrip />
|
||||
{/* Hero: Greeting */}
|
||||
<div className="mb-8 animate-fade-in-up">
|
||||
<p className="font-sans text-xs uppercase tracking-[0.12em] text-muted-foreground mb-1">
|
||||
{dayOfWeek}, {formattedDate}
|
||||
</p>
|
||||
<h1 className="font-heading text-3xl sm:text-4xl font-extrabold tracking-tight text-[#f0f2f5] leading-tight">
|
||||
Good {greeting}, {firstName}.
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
{/* Chat-style input */}
|
||||
|
||||
Reference in New Issue
Block a user