@@ -40,7 +40,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) {
4040
4141 const { shouldUseNarrowLayout} = useResponsiveLayout ( ) ;
4242
43- const [ errorMessage , setErrorMessage ] = React . useState < string | null > ( null ) ;
43+ const [ errorMessage , setErrorMessage ] = React . useState < string > ( '' ) ;
4444 const { currentSearchHash} = useSearchContext ( ) ;
4545
4646 const [ draftTransaction ] = useOnyx ( `${ ONYXKEYS . COLLECTION . SPLIT_TRANSACTION_DRAFT } ${ transactionID } ` , { canBeMissing : false } ) ;
@@ -56,7 +56,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) {
5656 const isCard = isCardTransaction ( transaction ) ;
5757
5858 useEffect ( ( ) => {
59- setErrorMessage ( null ) ;
59+ setErrorMessage ( '' ) ;
6060 } , [ sumOfSplitExpenses , draftTransaction ?. comment ?. splitExpenses ?. length ] ) ;
6161
6262 const onAddSplitExpense = useCallback ( ( ) => {
@@ -147,13 +147,18 @@ function SplitExpensePage({route}: SplitExpensePageProps) {
147147 ) ;
148148
149149 const footerContent = useMemo ( ( ) => {
150+ const shouldShowWarningMessage = sumOfSplitExpenses < Math . abs ( transactionDetailsAmount ) ;
151+ const warningMessage = shouldShowWarningMessage
152+ ? translate ( 'iou.totalAmountLessThanOriginal' , { amount : convertToDisplayString ( Math . abs ( transactionDetailsAmount ) - sumOfSplitExpenses , transactionDetails . currency ) } )
153+ : '' ;
150154 return (
151155 < >
152- { ! ! errorMessage && (
156+ { ( ! ! errorMessage || ! ! warningMessage ) && (
153157 < FormHelpMessage
154158 style = { [ styles . ph1 , styles . mb2 ] }
155- isError
156- message = { errorMessage }
159+ isError = { ! ! errorMessage }
160+ isInfo = { ! errorMessage && shouldShowWarningMessage }
161+ message = { errorMessage || warningMessage }
157162 />
158163 ) }
159164 < Button
@@ -167,7 +172,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) {
167172 />
168173 </ >
169174 ) ;
170- } , [ onSaveSplitExpense , styles . mb2 , styles . ph1 , styles . w100 , translate , errorMessage ] ) ;
175+ } , [ sumOfSplitExpenses , transactionDetailsAmount , translate , transactionDetails . currency , errorMessage , styles . ph1 , styles . mb2 , styles . w100 , onSaveSplitExpense ] ) ;
171176
172177 const initiallyFocusedOptionKey = useMemo (
173178 ( ) => sections . at ( 0 ) ?. data . find ( ( option ) => option . transactionID === splitExpenseTransactionID ) ?. keyForList ,
0 commit comments