import { __ } from '@wordpress/i18n'; import { escapeHTML } from '@wordpress/escape-html'; import { formatFileSize } from '../../utils'; import { UPGRADE_LINK } from '../../constants'; const notOptimizedTemplate = () => { return `

${ __( 'Status', 'image-optimization' ) }: ${ __( 'Not optimized', 'image-optimization' ) }

`; }; const loadingTemplate = () => { return `

${ __( 'Status', 'image-optimization' ) }: ${ __( 'In Progress', 'image-optimization' ) }

`; }; const errorTemplate = ( message, imagesLeft ) => { return `

${ __( 'Status', 'image-optimization' ) }: ${ __( 'Error', 'image-optimization' ) }

${ __( 'Reason', 'image-optimization' ) }: ${ escapeHTML( message ) }

${ imagesLeft === 0 ? ` ${ __( 'Upgrade', 'image-optimization' ) } ` : ` ` }
`; }; const optimizedTemplate = ( data ) => { const absoluteValue = formatFileSize( data?.saved?.absolute, 1 ); return `

${ __( 'Status', 'image-optimization' ) }: ${ __( 'Optimized', 'image-optimization' ) }

${ __( 'Image sizes optimized', 'image-optimization' ) }: ${ data?.sizesOptimized }/${ data?.sizesTotal }

${ data?.saved?.absolute !== 0 ? ` ${ __( 'Overall saving', 'image-optimization' ) }: ${ data?.saved?.relative }% (${ absoluteValue }) ` : ` ${ __( 'Image is fully optimized', 'image-optimization' ) } ` }

${ data?.canBeRestored ? ` ` : '' }
`; }; const metaBoxTemplates = Object.freeze( { notOptimizedTemplate, loadingTemplate, errorTemplate, optimizedTemplate, } ); export default metaBoxTemplates;