import { __ } from '@wordpress/i18n'; import { escapeHTML } from '@wordpress/escape-html'; import { formatFileSize } from '../../utils'; const notOptimizedTemplate = () => { return ` `; }; const loadingTemplate = ( action ) => { let buttonText; switch ( action ) { case 'restore': buttonText = __( 'Restoring…', 'image-optimizer' ); break; case 'optimize': buttonText = __( 'Optimizing…', 'image-optimizer' ); break; case 'reoptimize': buttonText = __( 'Reoptimizing…', 'image-optimizer' ); break; default: buttonText = __( 'Loading…', 'image-optimizer' ); } return ` `; }; const errorTemplate = ( message ) => { return ` ${ escapeHTML( message ) } `; }; const successTemplate = ( data ) => { const absoluteValue = formatFileSize( data?.saved?.absolute, 1 ); return `

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

${ __( 'Overall saving', 'image-optimizer' ) }: ${ data?.saved?.relative }% (${ absoluteValue })

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