import { __, sprintf } from '@wordpress/i18n'; import { formatNumber } from '../../shared/lib/numbers'; import { timeAgo } from '../../shared/lib/timeAgo'; import { MILLISECONDS_PER_SECOND } from '../../shared/lib/timeUnits'; const SECONDS_SHOWN_BELOW = 120; function secondsSinceRun( lastRunAt: string, now: number ): number { const elapsedMilliseconds = now - Date.parse( lastRunAt ); return Math.max( 0, Math.round( elapsedMilliseconds / MILLISECONDS_PER_SECOND ) ); } export function lastRunText( lastRunAt: string, now: number ): string { const seconds = secondsSinceRun( lastRunAt, now ); if ( seconds < SECONDS_SHOWN_BELOW ) { return sprintf( /* translators: %s: number of seconds */ __( 'It last ran %s seconds ago.', 'aiplaz-link-checkup' ), formatNumber( seconds ) ); } return sprintf( /* translators: %s: how long ago, for example "2 hours ago" */ __( 'It last ran %s.', 'aiplaz-link-checkup' ), timeAgo( lastRunAt, now ) ); } export function schedulerHealthText( isHealthy: boolean ): string { if ( isHealthy ) { return __( 'The scheduler is working.', 'aiplaz-link-checkup' ); } return __( 'The scheduler has not run for a while.', 'aiplaz-link-checkup' ); }