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?.saved?.absolute !== 0 ? ` ${ __( 'Overall saving', 'image-optimization' ) }: ${ data?.saved?.relative }% (${ absoluteValue }) ` : ` ${ __( 'Image is fully optimized', 'image-optimization' ) } ` } ${ data?.canBeRestored ? ` ` : '' } `; }; const detailsViewTemplates = Object.freeze( { notOptimizedTemplate, loadingTemplate, errorTemplate, optimizedTemplate, } ); export default detailsViewTemplates;