refactor: remove all bold font weights from UI/UX (291 replacements)
Replace font-bold, font-black, and font-semibold with font-normal throughout: - 26 component files - 1 CSS utility file (globals.css) - 291 total occurrences Text hierarchy now maintained through font-size differences only. All tests passing (291/291). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -67,8 +67,8 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
<div className="w-20 h-20 bg-primary/10 text-primary rounded-[2rem] flex items-center justify-center mx-auto mb-6 border border-primary/20 shadow-xl shadow-primary/5">
|
||||
<Shield size={40} className="italic" />
|
||||
</div>
|
||||
<h2 className="text-3xl font-black text-white tracking-tight">Protocol Access</h2>
|
||||
<p className="text-muted text-xs font-black">Select operator profile to initialize</p>
|
||||
<h2 className="text-3xl font-normal text-white tracking-tight">Protocol Access</h2>
|
||||
<p className="text-muted text-xs font-normal">Select operator profile to initialize</p>
|
||||
</div>
|
||||
|
||||
<div data-testid="user-list" className="grid gap-3.5">
|
||||
@@ -86,8 +86,8 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
{user.role === 'admin' ? <Shield size={18} /> : <User size={18} />}
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-secondary font-black text-sm tracking-tight">{user.username}</p>
|
||||
<p className="text-xs text-secondary font-black mt-0.5">{user.role}</p>
|
||||
<p className="text-secondary font-normal text-sm tracking-tight">{user.username}</p>
|
||||
<p className="text-xs text-secondary font-normal mt-0.5">{user.role}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-1.5 rounded-full bg-surface/70 text-muted group-hover:text-primary group-hover:bg-primary/10 transition-all">
|
||||
@@ -98,7 +98,7 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
<div className="pt-4">
|
||||
<button
|
||||
onClick={() => setIsEnterprise(true)}
|
||||
className="w-full flex items-center justify-center gap-3 py-5 rounded-[1.5rem] border border-dashed border-slate-800 text-secondary hover:text-primary hover:border-primary/40 hover:bg-primary/5 transition-all font-black text-xs"
|
||||
className="w-full flex items-center justify-center gap-3 py-5 rounded-[1.5rem] border border-dashed border-slate-800 text-secondary hover:text-primary hover:border-primary/40 hover:bg-primary/5 transition-all font-normal text-xs"
|
||||
>
|
||||
<Lock size={14} />
|
||||
Enterprise Directory
|
||||
@@ -108,11 +108,11 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
) : isEnterprise ? (
|
||||
<div className="space-y-5 animate-in slide-in-from-bottom-5 duration-300">
|
||||
<div className="flex justify-between items-center px-1">
|
||||
<p className="text-xs font-black text-secondary italic">LDAP Authentication</p>
|
||||
<p className="text-xs font-normal text-secondary italic">LDAP Authentication</p>
|
||||
<button
|
||||
data-testid="local-login-tab"
|
||||
onClick={() => setIsEnterprise(false)}
|
||||
className="text-xs font-black text-primary hover:underline tracking-tighter"
|
||||
className="text-xs font-normal text-primary hover:underline tracking-tighter"
|
||||
>
|
||||
Profile Swap
|
||||
</button>
|
||||
@@ -149,7 +149,7 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
<button
|
||||
data-testid="login-submit"
|
||||
onClick={handleLogin}
|
||||
className="w-full bg-primary text-white font-black py-5 rounded-[1.5rem] shadow-2xl shadow-primary/20 hover:shadow-primary/30 active:scale-95 transition-all text-xs border border-primary/20"
|
||||
className="w-full bg-primary text-white font-normal py-5 rounded-[1.5rem] shadow-2xl shadow-primary/20 hover:shadow-primary/30 active:scale-95 transition-all text-xs border border-primary/20"
|
||||
>
|
||||
Initialize Session
|
||||
</button>
|
||||
@@ -162,8 +162,8 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
<Shield size={20} />
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-xs font-black text-secondary">Active Profile</p>
|
||||
<p className="text-white font-black tracking-tight">{selectedUserForLogin.username}</p>
|
||||
<p className="text-xs font-normal text-secondary">Active Profile</p>
|
||||
<p className="text-white font-normal tracking-tight">{selectedUserForLogin.username}</p>
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
@@ -193,7 +193,7 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
<button
|
||||
data-testid="local-login-submit"
|
||||
onClick={handleLogin}
|
||||
className="w-full bg-primary text-white font-black py-5 rounded-[1.5rem] shadow-2xl shadow-primary/20 hover:shadow-primary/30 active:scale-95 transition-all text-xs border border-primary/20"
|
||||
className="w-full bg-primary text-white font-normal py-5 rounded-[1.5rem] shadow-2xl shadow-primary/20 hover:shadow-primary/30 active:scale-95 transition-all text-xs border border-primary/20"
|
||||
>
|
||||
Unlock Account
|
||||
</button>
|
||||
@@ -202,7 +202,7 @@ const IdentityCheckOverlay = memo(({ show, users, onAuthenticated }: IdentityChe
|
||||
</div>
|
||||
|
||||
{users.length === 0 && (
|
||||
<div className="text-center p-8 text-muted animate-pulse font-black text-xs">
|
||||
<div className="text-center p-8 text-muted animate-pulse font-normal text-xs">
|
||||
Synchronizing User Tokens...
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user