refactor(web): remove unnecessary "use client" from 6 pure-render components
BenchResourceCard, MobileProjectCard, MobileCapacityCard, DynamicFieldRenderer, BudgetStatusBar, and TimelineHeader use no hooks, event handlers, or browser APIs — they can be server components, reducing client bundle size. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
|
||||
interface BenchResourceCardProps {
|
||||
@@ -29,11 +27,7 @@ export function BenchResourceCard({
|
||||
.join("");
|
||||
|
||||
const availabilityLevel =
|
||||
availableHoursPerDay >= 6
|
||||
? "high"
|
||||
: availableHoursPerDay >= 3
|
||||
? "medium"
|
||||
: "low";
|
||||
availableHoursPerDay >= 6 ? "high" : availableHoursPerDay >= 3 ? "medium" : "low";
|
||||
|
||||
const levelClass =
|
||||
availabilityLevel === "high"
|
||||
@@ -55,10 +49,14 @@ export function BenchResourceCard({
|
||||
<div className={`rounded-xl border p-4 space-y-3 ${levelClass}`}>
|
||||
<div className="flex items-start gap-3">
|
||||
<div className="h-10 w-10 shrink-0 rounded-full bg-brand-100 dark:bg-brand-900/40 flex items-center justify-center">
|
||||
<span className="text-sm font-semibold text-brand-700 dark:text-brand-300">{initials}</span>
|
||||
<span className="text-sm font-semibold text-brand-700 dark:text-brand-300">
|
||||
{initials}
|
||||
</span>
|
||||
</div>
|
||||
<div className="min-w-0 flex-1">
|
||||
<div className="font-medium text-sm text-gray-900 dark:text-gray-100 truncate">{name}</div>
|
||||
<div className="font-medium text-sm text-gray-900 dark:text-gray-100 truncate">
|
||||
{name}
|
||||
</div>
|
||||
<div className="text-xs text-gray-500 dark:text-gray-400">{eid}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user