@@ -170,20 +170,18 @@ export const useCampaignForm = ({ campaignId, ftId, onUpdateSuccess }: CampaignF
170170 return new Date ( time ) . getTime ( ) ;
171171 } ;
172172
173- const formatFullDateTime = ( timestampMs : number ) => {
174- const date = new Date ( timestampMs ) ;
175- const day = date . getDate ( ) ;
173+ const formatRelativeFromNow = ( timestampMs : number ) => {
174+ const diffMs = timestampMs - Date . now ( ) ;
175+ if ( diffMs <= 0 ) return "now" ;
176176
177- let suffix = "th" ;
178- if ( day % 10 === 1 && day !== 11 ) suffix = "st" ;
179- else if ( day % 10 === 2 && day !== 12 ) suffix = "nd" ;
180- else if ( day % 10 === 3 && day !== 13 ) suffix = "rd" ;
177+ const minutes = Math . round ( diffMs / 60_000 ) ;
178+ if ( minutes < 60 ) return `${ minutes } minute${ minutes === 1 ? "" : "s" } ` ;
181179
182- const month = date . toLocaleString ( "en-US" , { month : "long" } ) ;
183- const year = date . getFullYear ( ) ;
184- const time = date . toLocaleTimeString ( "en-US" , { hour : "2-digit" , minute : "2-digit" } ) ;
180+ const hours = Math . round ( minutes / 60 ) ;
181+ if ( hours < 24 ) return `${ hours } hour${ hours === 1 ? "" : "s" } ` ;
185182
186- return `${ day } ${ suffix } ${ month } ${ year } , ${ time } ` ;
183+ const days = Math . round ( hours / 24 ) ;
184+ return `${ days } day${ days === 1 ? "" : "s" } ` ;
187185 } ;
188186
189187 const handleDeleteCampaign = async ( ) => {
@@ -367,7 +365,7 @@ export const useCampaignForm = ({ campaignId, ftId, onUpdateSuccess }: CampaignF
367365 } ;
368366
369367 if ( campaignId ) {
370- campaignsContractClient
368+ return campaignsContractClient
371369 . update_campaign ( {
372370 args : { ...args , campaign_id : campaignId } ,
373371 } )
@@ -378,12 +376,12 @@ export const useCampaignForm = ({ campaignId, ftId, onUpdateSuccess }: CampaignF
378376 self . reset ( values , { keepErrors : false } ) ;
379377
380378 toast ( {
381- title : `You’ve successfully updated this campaign` ,
379+ title : "Campaign updated" ,
382380 description : ( ( ) => {
383381 const startMs = values . start_ms ? timeToMilliseconds ( values . start_ms ) : undefined ;
384382
385383 if ( startMs && startMs > Date . now ( ) ) {
386- return `Campaign starts on ${ formatFullDateTime ( startMs ) } .` ;
384+ return `Campaign starts in ${ formatRelativeFromNow ( startMs ) } .` ;
387385 }
388386
389387 return "Campaign is live." ;
@@ -406,7 +404,7 @@ export const useCampaignForm = ({ campaignId, ftId, onUpdateSuccess }: CampaignF
406404 } ) ;
407405 } ) ;
408406 } else {
409- campaignsContractClient
407+ return campaignsContractClient
410408 . create_campaign ( { args } )
411409 . then ( async ( newCampaign ) => {
412410 const startMs = values . start_ms ? timeToMilliseconds ( values . start_ms ) : undefined ;
@@ -422,10 +420,10 @@ export const useCampaignForm = ({ campaignId, ftId, onUpdateSuccess }: CampaignF
422420 }
423421
424422 toast ( {
425- title : `You’ve successfully created a campaign for ${ values . name } .` ,
423+ title : "Campaign created" ,
426424 description : ( ( ) => {
427425 if ( startMs && startMs > Date . now ( ) ) {
428- return `Campaign starts on ${ formatFullDateTime ( startMs ) } .` ;
426+ return `Campaign starts in ${ formatRelativeFromNow ( startMs ) } .` ;
429427 }
430428
431429 return "Campaign is live." ;
0 commit comments