File tree Expand file tree Collapse file tree
frontend/src/pages/user/profile Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -55,20 +55,23 @@ export const UpdateEmailButton: React.FC<UpdateEmailButtonProps> = ({
5555 }
5656 } ;
5757
58- const baseClasses =
59- 'rounded-md px-4 py-2 text-sm font-medium focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50' ;
60- const variantClasses = {
61- primary : 'bg-pink-600 text-white hover:bg-pink-700 focus:ring-pink-500' ,
62- outlined : 'border border-pink-600 text-pink-600 hover:bg-pink-50 focus:ring-pink-500'
63- } ;
64-
6558 const isEmailValid = isValidEmail ( email ) ;
6659 const hasChanges = email !== user ?. email ;
6760 const canUpdate = isEmailValid && hasChanges && ! isLoading ;
6861
62+ const baseClasses = `rounded-md px-4 py-2 text-sm font-medium focus:outline-none focus:ring-2 focus:ring-offset-2 ` ;
63+ const variantClasses = {
64+ primary : ! canUpdate
65+ ? 'bg-pink-600 text-white'
66+ : 'bg-pink-600 text-white hover:bg-pink-700 focus:ring-pink-500' ,
67+ outlined : ! canUpdate
68+ ? 'border border-pink-600 text-pink-600'
69+ : 'border border-pink-600 text-pink-600 hover:bg-pink-50 focus:ring-pink-500'
70+ } ;
71+
6972 return (
7073 < div >
71- < div className = "flex gap-2" >
74+ < div className = "flex flex-col gap-2 sm:flex-row " >
7275 < input
7376 type = "email"
7477 id = "email"
@@ -84,7 +87,7 @@ export const UpdateEmailButton: React.FC<UpdateEmailButtonProps> = ({
8487 type = "button"
8588 onClick = { handleSubmit }
8689 disabled = { ! canUpdate }
87- className = { `${ baseClasses } ${ variantClasses [ variant ] } ${ className } ` }
90+ className = { `${ baseClasses } ${ variantClasses [ variant ] } ${ className } ${ ! canUpdate ? 'cursor-not-allowed opacity-50' : '' } ` }
8891 >
8992 { isLoading ? 'Updating...' : 'Update Email' }
9093 </ button >
Original file line number Diff line number Diff line change @@ -48,12 +48,18 @@ export const UpdateUsernameButton: React.FC<UpdateUsernameButtonProps> = ({
4848 const baseClasses =
4949 'rounded-md px-4 py-2 text-sm font-medium focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50' ;
5050 const variantClasses = {
51- primary : 'bg-pink-600 text-white hover:bg-pink-700 focus:ring-pink-500' ,
52- outlined : 'border border-pink-600 text-pink-600 hover:bg-pink-50 focus:ring-pink-500'
51+ primary :
52+ isLoading || name === user ?. name
53+ ? 'bg-pink-600 text-white'
54+ : 'bg-pink-600 text-white hover:bg-pink-700 focus:ring-pink-500' ,
55+ outlined :
56+ isLoading || name === user ?. name
57+ ? 'border border-pink-600 text-pink-600'
58+ : 'border border-pink-600 text-pink-600 hover:bg-pink-50 focus:ring-pink-500'
5359 } ;
5460
5561 return (
56- < div className = "flex gap-2" >
62+ < div className = "flex flex-col gap-2 sm:flex-row " >
5763 < input
5864 type = "text"
5965 id = "username"
@@ -67,7 +73,7 @@ export const UpdateUsernameButton: React.FC<UpdateUsernameButtonProps> = ({
6773 type = "button"
6874 onClick = { handleSubmit }
6975 disabled = { isLoading || name === user ?. name }
70- className = { `${ baseClasses } ${ variantClasses [ variant ] } ${ className } ` }
76+ className = { `${ baseClasses } ${ variantClasses [ variant ] } ${ className } ${ isLoading || name === user ?. name ? 'cursor-not-allowed opacity-50' : '' } ` }
7177 >
7278 { isLoading ? 'Updating...' : 'Update Name' }
7379 </ button >
You can’t perform that action at this time.
0 commit comments