@@ -52,6 +52,33 @@ const Login: PageWithLayout = () => {
5252 }
5353 } , [ ] ) ;
5454
55+ // Dev-only login for Jerome
56+ const handleDevLogin = useCallback ( async ( ) => {
57+ if ( typeof window !== "undefined" ) {
58+ try {
59+ const devUser = {
60+ id : "dev-jerome" ,
61+ name : "Jerome Hardaway" ,
62+ 63+ image : "https://github.com/jeromehardaway.png" ,
64+ } ;
65+
66+ // Initialize user in database
67+ await fetch ( "/api/dev/init-user" , {
68+ method : "POST" ,
69+ headers : { "Content-Type" : "application/json" } ,
70+ body : JSON . stringify ( devUser ) ,
71+ } ) ;
72+
73+ localStorage . setItem ( "dev-session" , JSON . stringify ( devUser ) ) ;
74+ router . replace ( "/profile" ) ;
75+ } catch ( error ) {
76+ console . error ( "Dev login error:" , error ) ;
77+ setErrorMessage ( "Failed to initialize dev session" ) ;
78+ }
79+ }
80+ } , [ router ] ) ;
81+
5582 if ( ! mounted || status === "loading" ) {
5683 return (
5784 < div className = "tw-fixed tw-top-0 tw-z-50 tw-flex tw-h-screen tw-w-screen tw-items-center tw-justify-center tw-bg-white" >
@@ -77,7 +104,7 @@ const Login: PageWithLayout = () => {
77104 </ div >
78105 ) }
79106 </ div >
80- < div className = "tw-p-6" >
107+ < div className = "tw-p-6 tw-space-y-3 " >
81108 < button
82109 type = "button"
83110 onClick = { handleSignIn }
@@ -87,6 +114,27 @@ const Login: PageWithLayout = () => {
87114 < i className = "fab fa-github" />
88115 Sign in with GitHub
89116 </ button >
117+
118+ { /* Dev Login - Only for local development */ }
119+ < div className = "tw-relative" >
120+ < div className = "tw-absolute tw-inset-0 tw-flex tw-items-center" >
121+ < div className = "tw-w-full tw-border-t tw-border-gray-300" />
122+ </ div >
123+ < div className = "tw-relative tw-flex tw-justify-center tw-text-sm" >
124+ < span className = "tw-bg-white tw-px-2 tw-text-gray-500" >
125+ Dev Mode
126+ </ span >
127+ </ div >
128+ </ div >
129+
130+ < button
131+ type = "button"
132+ onClick = { handleDevLogin }
133+ className = "tw-flex tw-w-full tw-items-center tw-justify-center tw-gap-2 tw-rounded-md tw-bg-secondary tw-px-4 tw-py-3 tw-text-sm tw-font-medium tw-text-white tw-transition-colors hover:tw-opacity-90"
134+ >
135+ < i className = "fas fa-user-shield" />
136+ Dev Login (Jerome Only)
137+ </ button >
90138 </ div >
91139 < div className = "tw-px-8 tw-pb-8" >
92140 < p className = "tw-text-center tw-text-sm tw-text-secondary" >
0 commit comments