refactor: migrate page components to Design System v4
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -43,7 +43,7 @@ export function LoginPage() {
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Sign In" description="Sign in to your ResolutionFlow account" />
|
||||
<div className="flex min-h-screen items-center justify-center bg-background px-4">
|
||||
<div className="flex min-h-screen items-center justify-center bg-[#0c0d10] px-4">
|
||||
{/* Atmosphere orbs */}
|
||||
<div
|
||||
className="pointer-events-none fixed z-0"
|
||||
@@ -75,27 +75,27 @@ export function LoginPage() {
|
||||
<div className="mb-4 flex justify-center sm:mb-6">
|
||||
<BrandLogo size="lg" />
|
||||
</div>
|
||||
<h1 className="text-3xl font-bold font-heading text-foreground tracking-tight">
|
||||
<span>Resolution</span><span className="text-gradient-brand">Flow</span>
|
||||
<h1 className="text-3xl font-bold font-heading text-[#e2e5eb] tracking-tight">
|
||||
<span>Resolution</span><span className="text-[#67e8f9]">Flow</span>
|
||||
</h1>
|
||||
<p className="mt-2 text-base font-medium text-muted-foreground sm:mt-3 sm:text-lg">
|
||||
<p className="mt-2 text-base font-medium text-[#848b9b] sm:mt-3 sm:text-lg">
|
||||
AI-Powered Troubleshooting for MSPs
|
||||
</p>
|
||||
<p className="mt-1 text-sm text-muted-foreground/70 sm:mt-2">
|
||||
<p className="mt-1 text-sm text-[#848b9b]/70 sm:mt-2">
|
||||
Sign in to your account
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<form onSubmit={handleSubmit} className="mt-8 space-y-6" data-testid="login-form">
|
||||
<div className="glass-card-static p-6 space-y-4">
|
||||
<div className="card-flat p-6 space-y-4">
|
||||
{(error || localError) && (
|
||||
<div className="rounded-[10px] border border-rose-500/20 bg-rose-500/10 p-3 text-sm text-rose-400">
|
||||
<div className="rounded-lg border border-rose-500/20 bg-rose-500/10 p-3 text-sm text-rose-400">
|
||||
{localError || error}
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div>
|
||||
<label htmlFor="email" className="mb-1.5 block text-sm font-medium text-foreground">
|
||||
<label htmlFor="email" className="mb-1.5 block text-sm font-medium text-[#e2e5eb]">
|
||||
Email address
|
||||
</label>
|
||||
<input
|
||||
@@ -107,8 +107,8 @@ export function LoginPage() {
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
className={cn(
|
||||
'block w-full rounded-[10px] border border-border bg-card px-3 py-2.5',
|
||||
'text-foreground placeholder:text-muted-foreground',
|
||||
'block w-full rounded-lg border border-[#1e2130] bg-[#14161d] px-3 py-2.5',
|
||||
'text-[#e2e5eb] placeholder:text-[#848b9b]',
|
||||
'focus:border-primary/30 focus:outline-hidden focus:ring-1 focus:ring-primary/20',
|
||||
'transition-colors'
|
||||
)}
|
||||
@@ -117,7 +117,7 @@ export function LoginPage() {
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label htmlFor="password" className="mb-1.5 block text-sm font-medium text-foreground">
|
||||
<label htmlFor="password" className="mb-1.5 block text-sm font-medium text-[#e2e5eb]">
|
||||
Password
|
||||
</label>
|
||||
<PasswordInput
|
||||
@@ -128,8 +128,8 @@ export function LoginPage() {
|
||||
value={password}
|
||||
onChange={(e) => setPassword(e.target.value)}
|
||||
className={cn(
|
||||
'block w-full rounded-[10px] border border-border bg-card px-3 py-2.5',
|
||||
'text-foreground placeholder:text-muted-foreground',
|
||||
'block w-full rounded-lg border border-[#1e2130] bg-[#14161d] px-3 py-2.5',
|
||||
'text-[#e2e5eb] placeholder:text-[#848b9b]',
|
||||
'focus:border-primary/30 focus:outline-hidden focus:ring-1 focus:ring-primary/20',
|
||||
'transition-colors'
|
||||
)}
|
||||
@@ -138,7 +138,7 @@ export function LoginPage() {
|
||||
</div>
|
||||
|
||||
<div className="text-right">
|
||||
<Link to="/forgot-password" className="text-xs text-muted-foreground hover:text-foreground transition-colors">
|
||||
<Link to="/forgot-password" className="text-xs text-[#848b9b] hover:text-[#e2e5eb] transition-colors">
|
||||
Forgot password?
|
||||
</Link>
|
||||
</div>
|
||||
@@ -148,8 +148,8 @@ export function LoginPage() {
|
||||
disabled={isLoading}
|
||||
data-testid="login-submit"
|
||||
className={cn(
|
||||
'w-full rounded-[10px] px-4 py-2.5 text-sm font-semibold',
|
||||
'bg-gradient-brand text-brand-dark shadow-lg shadow-primary/20 hover:opacity-90 active:scale-[0.97]',
|
||||
'w-full rounded-lg px-4 py-2.5 text-sm font-semibold',
|
||||
'bg-[#22d3ee] text-brand-dark hover:brightness-110 active:scale-[0.98]',
|
||||
'focus:outline-hidden focus:ring-2 focus:ring-primary/30 focus:ring-offset-2 focus:ring-offset-background',
|
||||
'disabled:cursor-not-allowed disabled:opacity-50',
|
||||
'transition-all'
|
||||
@@ -159,9 +159,9 @@ export function LoginPage() {
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<p className="text-center text-sm text-muted-foreground">
|
||||
<p className="text-center text-sm text-[#848b9b]">
|
||||
Don't have an account?{' '}
|
||||
<Link to="/register" className="font-medium text-foreground hover:underline">
|
||||
<Link to="/register" className="font-medium text-[#e2e5eb] hover:underline">
|
||||
Register
|
||||
</Link>
|
||||
</p>
|
||||
|
||||
Reference in New Issue
Block a user