From 684ee05735181daf6f9ecfe4ceda2685ed257a21 Mon Sep 17 00:00:00 2001
From: BigSimmo <87357024+BigSimmo@users.noreply.github.com>
Date: Tue, 28 Jul 2026 09:48:21 +0800
Subject: [PATCH] fix(ui): drop the duplicate disabled:file:opacity-50 token
missed by a merge race
PR #1056 replaced `disabled:file:opacity-50` with `disabled:opacity-50` on the upload
, but a concurrent PR edited the same className line in the merge window.
GitHub's 3-way squash merge union'd both edits instead of letting one supersede, so main
ended up with BOTH tokens: `... disabled:opacity-50 disabled:file:opacity-50`.
The surviving `disabled:opacity-50` dims the disabled input correctly, but the leftover
`disabled:file:opacity-50` is exactly the class #1056 removed: Tailwind compiles it to a
`:disabled` pseudo-class after the `::file-selector-button` pseudo-element, which is invalid
CSS, so Turbopack drops the rule and re-logs the recurring globals.css parse error in dev.
Remove the stray token. Verified with the project's own @tailwindcss/postcss transform:
generated invalid `::file-selector-button:disabled` selectors 1 -> 0.
Co-Authored-By: Claude Opus 4.8
---
src/components/clinical-dashboard/DocumentManagerPanel.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/clinical-dashboard/DocumentManagerPanel.tsx b/src/components/clinical-dashboard/DocumentManagerPanel.tsx
index 92fe533801..6b2fdacd6a 100644
--- a/src/components/clinical-dashboard/DocumentManagerPanel.tsx
+++ b/src/components/clinical-dashboard/DocumentManagerPanel.tsx
@@ -420,7 +420,7 @@ export function UploadPanel({
disabled={demoMode || !canUpload || uploading}
aria-describedby={fileHintId}
onChange={() => changeStatus(null)}
- className="mt-2 block w-full text-xs font-medium text-[color:var(--text-muted)] file:mr-3 file:min-h-9 file:cursor-pointer file:rounded-md file:border file:border-[color:var(--border)] file:bg-[color:var(--surface)] file:px-3 file:text-xs file:font-semibold file:text-[color:var(--text)] file:shadow-[var(--shadow-inset)] file:transition file:hover:bg-[color:var(--surface-subtle)] disabled:opacity-50 disabled:file:opacity-50"
+ className="mt-2 block w-full text-xs font-medium text-[color:var(--text-muted)] file:mr-3 file:min-h-9 file:cursor-pointer file:rounded-md file:border file:border-[color:var(--border)] file:bg-[color:var(--surface)] file:px-3 file:text-xs file:font-semibold file:text-[color:var(--text)] file:shadow-[var(--shadow-inset)] file:transition file:hover:bg-[color:var(--surface-subtle)] disabled:opacity-50"
/>