11import { useSubmit } from '@remix-run/react'
2- import { cn } from '@ui/utils'
32import { APP_NAME } from '~/constants'
43import { GoogleAuthButton } from '~/screens/Login/GoogleAuthButton'
5- import { useHomePageDots } from '~/screens/Login/useDots'
64import { AuthenticatorRoutes } from '~/services/auth/interfaces'
75
86export const Login = ( ) => {
9- const { dots, mousePosition} = useHomePageDots ( { rows : 20 , cols : 30 } )
10-
117 const submit = useSubmit ( )
128 const login = ( ) => {
139 submit ( null , {
@@ -17,37 +13,84 @@ export const Login = () => {
1713 }
1814
1915 return (
20- < div className = "fixed inset-0 flex flex-row justify-center items-center overflow-hidden" >
21- < div className = "relative w-full h-full bg-[#000000]" >
22- < div
23- className = "absolute inset-0 transition-opacity duration-300"
24- style = { {
25- background : `radial-gradient(circle at ${ mousePosition . x } px ${ mousePosition . y } px, rgba(24, 60, 81), transparent)` ,
26- } }
27- />
28- < div className = "relative z-10 flex flex-col items-center justify-center w-full h-full space-y-4 text-center" >
29- < h1 className = "text-5xl font-extrabold text-white" >
30- Welcome to { APP_NAME }
31- </ h1 >
32- < p className = "text-lg text-gray-300" >
33- More than just a Test Management tool
16+ < div className = "fixed inset-0 flex overflow-hidden" >
17+ { /* Left Side - Checkmate Branding */ }
18+ < div className = "hidden lg:flex lg:w-1/2 bg-slate-900 border-r border-slate-800 flex-col justify-center items-center" >
19+ < div className = "max-w-2xl px-12 w-full" >
20+ < div className = "mb-8 flex items-center gap-4" >
21+ < img
22+ src = "/logo.svg"
23+ alt = { APP_NAME }
24+ className = "h-16 w-auto"
25+ />
26+ < h1 className = "text-5xl font-bold text-white tracking-tight" >
27+ { APP_NAME }
28+ </ h1 >
29+ </ div >
30+
31+ < h2 className = "text-2xl font-semibold text-slate-300 mb-4" >
32+ Modern Test Case Management
33+ </ h2 >
34+
35+ < p className = "text-slate-400 text-lg leading-relaxed max-w-xl" >
36+ Streamline your testing workflow with powerful features and seamless integrations. Organize, execute, and track your test cases with ease.
3437 </ p >
35- < div className = "pt-4" >
38+ </ div >
39+ </ div >
40+
41+ { /* Right Side - Login Form */ }
42+ < div className = "flex-1 flex items-center justify-center bg-[#f2f5f9]" >
43+ < div className = "w-full max-w-md px-6 sm:px-8" >
44+ { /* Mobile Logo */ }
45+ < div className = "lg:hidden mb-8 text-center flex flex-col items-center gap-3" >
46+ < img
47+ src = "/logo.svg"
48+ alt = { APP_NAME }
49+ className = "h-12 w-auto"
50+ />
51+ < h1 className = "text-3xl font-bold text-slate-900" > { APP_NAME } </ h1 >
52+ </ div >
53+
54+ < div className = "bg-white border border-slate-200 rounded-lg shadow-sm p-8 sm:p-10" >
55+ < div className = "mb-8" >
56+ < h2 className = "text-2xl font-semibold text-slate-900 mb-2" >
57+ Welcome Back
58+ </ h2 >
59+ < p className = "text-slate-600 text-sm" >
60+ Sign in to continue to { APP_NAME }
61+ </ p >
62+ </ div >
63+
3664 < GoogleAuthButton onClick = { login } />
65+
66+ < div className = "mt-6 pt-6 border-t border-slate-200" >
67+ < p className = "text-xs text-slate-500 text-center" >
68+ By signing in, you agree to our terms of service
69+ </ p >
70+ </ div >
71+ </ div >
72+
73+ { /* Footer Links */ }
74+ < div className = "mt-6 text-center space-x-4 text-sm" >
75+ < a
76+ href = "https://checkmate.dreamsportslabs.com"
77+ className = "text-slate-600 hover:text-slate-900 transition-colors"
78+ target = "_blank"
79+ rel = "noopener noreferrer"
80+ >
81+ Documentation
82+ </ a >
83+ < span className = "text-slate-400" > •</ span >
84+ < a
85+ href = "https://discord.gg/wBQXeYAKNc"
86+ className = "text-slate-600 hover:text-slate-900 transition-colors"
87+ target = "_blank"
88+ rel = "noopener noreferrer"
89+ >
90+ Discord
91+ </ a >
3792 </ div >
3893 </ div >
39- { dots . map ( ( dot ) => (
40- < div
41- key = { dot . id }
42- className = { cn ( `absolute h-0.5 bg-gray-700 rounded-full` ) }
43- style = { {
44- top : `${ dot . y } px` ,
45- left : `${ dot . x } px` ,
46- transform : `rotate(${ dot . angle } deg)` ,
47- width : `${ dot . dotWidth } px` ,
48- } }
49- />
50- ) ) }
5194 </ div >
5295 </ div >
5396 )
0 commit comments