@@ -82,20 +82,37 @@ const ListView: FC<ListViewProps> = (props: ListViewProps) => {
8282 } )
8383
8484 const convertToWinnings = useCallback (
85- ( payments : WinningDetail [ ] ) => payments . map ( payment => ( {
86- canBeReleased : new Date ( payment . releaseDate ) <= new Date ( ) && payment . details [ 0 ] . status === 'OWED' ,
87- createDate : formatIOSDateString ( payment . createdAt ) ,
88- currency : payment . details [ 0 ] . currency ,
89- datePaid : payment . details [ 0 ] . datePaid ? formatIOSDateString ( payment . details [ 0 ] . datePaid ) : '-' ,
90- description : payment . description ,
91- details : payment . details ,
92- id : payment . id ,
93- netPayment : formatCurrency ( payment . details [ 0 ] . totalAmount , payment . details [ 0 ] . currency ) ,
94- releaseDate : formatIOSDateString ( payment . releaseDate ) ,
95- status : formatStatus ( payment . details [ 0 ] . status ) ,
96- type : payment . category . replaceAll ( '_' , ' ' )
97- . toLowerCase ( ) ,
98- } ) ) ,
85+ ( payments : WinningDetail [ ] ) => payments . map ( payment => {
86+ const now = new Date ( )
87+ const releaseDate = new Date ( payment . releaseDate )
88+ const diffMs = releaseDate . getTime ( ) - now . getTime ( )
89+ const diffHours = diffMs / ( 1000 * 60 * 60 )
90+
91+ let formattedReleaseDate
92+ if ( diffHours > 0 && diffHours <= 24 ) {
93+ const diffMinutes = diffMs / ( 1000 * 60 )
94+ const hours = Math . floor ( diffHours )
95+ const minutes = Math . round ( diffMinutes - hours * 60 )
96+ formattedReleaseDate = `In ${ hours } hours ${ minutes } minutes`
97+ } else {
98+ formattedReleaseDate = formatIOSDateString ( payment . releaseDate )
99+ }
100+
101+ return {
102+ canBeReleased : new Date ( payment . releaseDate ) <= new Date ( ) && payment . details [ 0 ] . status === 'OWED' ,
103+ createDate : formatIOSDateString ( payment . createdAt ) ,
104+ currency : payment . details [ 0 ] . currency ,
105+ datePaid : payment . details [ 0 ] . datePaid ? formatIOSDateString ( payment . details [ 0 ] . datePaid ) : '-' ,
106+ description : payment . description ,
107+ details : payment . details ,
108+ id : payment . id ,
109+ netPayment : formatCurrency ( payment . details [ 0 ] . totalAmount , payment . details [ 0 ] . currency ) ,
110+ releaseDate : formattedReleaseDate ,
111+ status : formatStatus ( payment . details [ 0 ] . status ) ,
112+ type : payment . category . replaceAll ( '_' , ' ' )
113+ . toLowerCase ( ) ,
114+ }
115+ } ) ,
99116 [ ] ,
100117 )
101118
0 commit comments