@@ -37,7 +37,7 @@ Onyx.connect({
37
37
key : ONYXKEYS . SESSION ,
38
38
callback : ( val ) => {
39
39
currentUserEmail = val ?. email ?? '' ;
40
- currentUserAccountID = val ?. accountID ?? - 1 ;
40
+ currentUserAccountID = val ?. accountID ?? CONST . DEFAULT_NUMBER_ID ;
41
41
} ,
42
42
} ) ;
43
43
@@ -121,20 +121,36 @@ function updateDisplayName(firstName: string, lastName: string) {
121
121
122
122
function updateLegalName ( legalFirstName : string , legalLastName : string ) {
123
123
const parameters : UpdateLegalNameParams = { legalFirstName, legalLastName} ;
124
-
125
- API . write ( WRITE_COMMANDS . UPDATE_LEGAL_NAME , parameters , {
126
- optimisticData : [
127
- {
128
- onyxMethod : Onyx . METHOD . MERGE ,
129
- key : ONYXKEYS . PRIVATE_PERSONAL_DETAILS ,
130
- value : {
131
- legalFirstName,
132
- legalLastName,
124
+ const optimisticData : OnyxUpdate [ ] = [
125
+ {
126
+ onyxMethod : Onyx . METHOD . MERGE ,
127
+ key : ONYXKEYS . PRIVATE_PERSONAL_DETAILS ,
128
+ value : {
129
+ legalFirstName,
130
+ legalLastName,
131
+ } ,
132
+ } ,
133
+ ] ;
134
+ // In case the user does not have a display name, we will update the display name based on the legal name
135
+ if ( ! allPersonalDetails ?. [ currentUserAccountID ] ?. firstName && ! allPersonalDetails ?. [ currentUserAccountID ] ?. lastName ) {
136
+ optimisticData . push ( {
137
+ onyxMethod : Onyx . METHOD . MERGE ,
138
+ key : ONYXKEYS . PERSONAL_DETAILS_LIST ,
139
+ value : {
140
+ [ currentUserAccountID ] : {
141
+ displayName : PersonalDetailsUtils . createDisplayName ( currentUserEmail ?? '' , {
142
+ firstName : legalFirstName ,
143
+ lastName : legalLastName ,
144
+ } ) ,
133
145
} ,
146
+ firstName : legalFirstName ,
147
+ lastName : legalLastName ,
134
148
} ,
135
- ] ,
149
+ } ) ;
150
+ }
151
+ API . write ( WRITE_COMMANDS . UPDATE_LEGAL_NAME , parameters , {
152
+ optimisticData,
136
153
} ) ;
137
-
138
154
Navigation . goBack ( ) ;
139
155
}
140
156
0 commit comments