wp_back/wp-content/plugins/wp-smushit/_src/react/modules/configs.jsx
2024-05-20 15:37:46 +03:00

177 lines
5.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* External dependencies
*/
import React from 'react';
import ReactDOM from 'react-dom';
/**
* WordPress dependencies
*/
import domReady from '@wordpress/dom-ready';
const { __, sprintf } = wp.i18n;
/**
* SUI dependencies
*/
import { Presets } from '@wpmudev/shared-presets';
export const Configs = ({ isWidget }) => {
// TODO: Handle the html interpolation and translation better.
const proDescription = (
<>
{__(
'You can easily apply configs to multiple sites at once via ',
'wp-smushit'
)}
<a
href={window.smushReact.links.hubConfigs}
target="_blank"
rel="noreferrer"
>
{__('the Hub.')}
</a>
</>
);
const closeIcon = __('Close this dialog window', 'wp-smushit'),
cancelButton = __('Cancel', 'wp-smushit');
const lang = {
title: __('Preset Configs', 'wp-smushit'),
upload: __('Upload', 'wp-smushit'),
save: __('Save config', 'wp-smushit'),
loading: __('Updating the config list…', 'wp-smushit'),
emptyNotice: __(
'You dont have any available config. Save preset configurations of Smushs settings, then upload and apply them to your other sites in just a few clicks!',
'wp-smushit'
),
baseDescription: __(
'Use configs to save preset configurations of Smushs settings, then upload and apply them to your other sites in just a few clicks!',
'wp-smushit'
),
proDescription,
syncWithHubText: __(
'Created or updated configs via the Hub?',
'wp-smushit'
),
syncWithHubButton: __('Check again', 'wp-smushit'),
apply: __('Apply', 'wp-smushit'),
download: __('Download', 'wp-smushit'),
edit: __('Name and Description', 'wp-smushit'),
delete: __('Delete', 'wp-smushit'),
notificationDismiss: __('Dismiss notice', 'wp-smushit'),
freeButtonLabel: __('Try The Hub', 'wp-smushit'),
defaultRequestError: sprintf(
/* translators: %s request status */
__(
'Request failed. Status: %s. Please reload the page and try again.',
'wp-smushit'
),
'{status}'
),
uploadActionSuccessMessage: sprintf(
/* translators: %s request status */
__(
'%s config has been uploaded successfully you can now apply it to this site.',
'wp-smushit'
),
'{configName}'
),
uploadWrongPluginErrorMessage: sprintf(
/* translators: %s {pluginName} */
__(
'The uploaded file is not a %s Config. Please make sure the uploaded file is correct.',
'wp-smushit'
),
'{pluginName}'
),
applyAction: {
closeIcon,
cancelButton,
title: __('Apply Config', 'wp-smushit'),
description: sprintf(
/* translators: %s config name */
__(
'Are you sure you want to apply the %s config to this site? We recommend you have a backup available as your existing settings configuration will be overridden.',
'wp-smushit'
),
'{configName}'
),
actionButton: __('Apply', 'wp-smushit'),
successMessage: sprintf(
/* translators: %s. config name */
__('%s config has been applied successfully.', 'wp-smushit'),
'{configName}'
),
},
deleteAction: {
closeIcon,
cancelButton,
title: __('Delete Configuration File', 'wp-smushit'),
description: sprintf(
/* translators: %s config name */
__(
'Are you sure you want to delete %s? You will no longer be able to apply it to this or other connected sites.',
'wp-smushit'
),
'{configName}'
),
actionButton: __('Delete', 'wp-smushit'),
},
editAction: {
closeIcon,
cancelButton,
nameInput: __('Config name', 'wp-smushit'),
descriptionInput: __('Description', 'wp-smushit'),
emptyNameError: __('The config name is required', 'wp-smushit'),
actionButton: __('Save', 'wp-smushit'),
editTitle: __('Rename Config', 'wp-smushit'),
editDescription: __(
'Change your config name to something recognizable.',
'wp-smushit'
),
createTitle: __('Save Config', 'wp-smushit'),
createDescription: __(
'Save your current settings configuration. Youll be able to then download and apply it to your other sites.',
'wp-smushit'
),
successMessage: sprintf(
/* translators: %s. config name */
__('%s config created successfully.', 'wp-smushit'),
'{configName}'
),
},
settingsLabels: {
bulk_smush: __('Bulk Smush', 'wp-smushit'),
integrations: __('Integrations', 'wp-smushit'),
lazy_load: __('Lazy Load', 'wp-smushit'),
cdn: __('CDN', 'wp-smushit'),
webp_mod: __('Local WebP', 'wp-smushit'),
settings: __('Settings', 'wp-smushit'),
networkwide: __('Subsite Controls', 'wp-smushit'),
},
};
return (
<Presets
isWidget={isWidget}
isPro={window.smushReact.isPro}
isWhitelabel={window.smushReact.hideBranding}
sourceLang={lang}
sourceUrls={window.smushReact.links}
requestsData={window.smushReact.requestsData}
/>
);
};
domReady(function () {
const configsPageBox = document.getElementById('smush-box-configs');
if (configsPageBox) {
ReactDOM.render(<Configs isWidget={false} />, configsPageBox);
}
const configsWidgetBox = document.getElementById('smush-widget-configs');
if (configsWidgetBox) {
ReactDOM.render(<Configs isWidget={true} />, configsWidgetBox);
}
});