/** * External dependencies */ import React from 'react'; import ReactDOM from 'react-dom'; import PropTypes from 'prop-types'; /** * WordPress dependencies */ import domReady from '@wordpress/dom-ready'; const { __, sprintf } = wp.i18n; /** * Internal dependencies. */ import { Presets } from '@wpmudev/shared-presets'; export const ConfigsPage = ( { isWidget, wphbData } ) => { const proDescription = ( { __( 'You can easily apply configs to multiple sites at once via ', 'wphb' ) } { __( 'the Hub.' ) } ); const closeIcon = __( 'Close this dialog window', 'wphb' ), cancelButton = __( 'Cancel', 'wphb' ); const lang = { title: __( 'Preset Configs', 'wphb' ), upload: __( 'Upload', 'wphb' ), save: __( 'Save config', 'wphb' ), manageConfigs: __( 'Manage configs', 'wphb' ), loading: __( 'Updating the config list...', 'wphb' ), emptyNotice: __( 'You don’t have any available config. Save preset configurations of Hummingbird’s settings, then upload and apply them to your other sites in just a few clicks!', 'wphb' ), baseDescription: __( 'Use configs to save preset configurations of Hummingbird’s settings, then upload and apply them to your other sites in just a few clicks!', 'wphb' ), proDescription, widgetDescription: __( 'Use configs to save preset configurations of your settings.', 'wphb' ), syncWithHubText: __( 'Created or updated the configs via the Hub?', 'wphb' ), syncWithHubButton: __( 'Re-check to get the updated list.', 'wphb' ), apply: __( 'Apply', 'wphb' ), download: __( 'Download', 'wphb' ), edit: __( 'Name and Description', 'wphb' ), delete: __( 'Delete', 'wphb' ), notificationDismiss: __( 'Dismiss notice', 'wphb' ), freeButtonLabel: __( 'Try The Hub', 'wphb' ), defaultRequestError: sprintf( /* translators: %s request status */ __( 'Request failed. Status: %s. Please reload the page and try again.', 'wphb' ), '{status}' ), uploadActionSuccessMessage: sprintf( /* translators: %s request status */ __( '%s config has been uploaded successfully – you can now apply it to this site.', 'wphb' ), '{configName}' ), uploadWrongPluginErrorMessage: sprintf( /* translators: %s {pluginName} */ __( 'The uploaded file is not a %s Config. Please make sure the uploaded file is correct.', 'wphp' ), '{pluginName}' ), applyAction: { closeIcon, cancelButton, title: __( 'Apply Config', 'wphb' ), 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.', 'wphb' ), '{configName}' ), actionButton: __( 'Apply', 'wphb' ), successMessage: sprintf( /* translators: %s. config name */ __( '%s config has been applied successfully.', 'wphb' ), '{configName}' ), }, deleteAction: { closeIcon, cancelButton, title: __( 'Delete Configuration File', 'wphb' ), 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.', 'wphb' ), '{configName}' ), actionButton: __( 'Delete', 'wphb' ), }, editAction: { closeIcon, cancelButton, nameInput: __( 'Config name', 'wphb' ), descriptionInput: __( 'Description', 'wphb' ), emptyNameError: __( 'The config name is required', 'wphb' ), actionButton: __( 'Save', 'wphb' ), editTitle: __( 'Rename Config', 'wphb' ), editDescription: __( 'Change your config name to something recognizable.', 'wphb' ), createTitle: __( 'Save Config', 'wphb' ), createDescription: __( 'Save your current settings configuration. You’ll be able to then download and apply it to your other sites.', 'wphb' ), successMessage: sprintf( /* translators: %s. config name */ __( '%s config created successfully.', 'wphb' ), '{configName}' ), }, settingsLabels: { uptime: __( 'Uptime', 'wphb' ), gravatar: __( 'Gravatar Caching', 'wphb' ), page_cache: __( 'Page Caching', 'wphb' ), advanced: __( 'Advanced Tools', 'wphb' ), rss: __( 'RSS Caching', 'wphb' ), settings: __( 'Settings', 'wphb' ), performance: __( 'Performance Test', 'wphb' ), }, }; return ( ); }; ConfigsPage.propTypes = { wphbData: PropTypes.object, }; domReady( function() { // Configs section on Dashboard page. const configsDashDiv = document.getElementById( 'wphb-dashboard-configs' ); if ( configsDashDiv ) { ReactDOM.render( , configsDashDiv ); } // Configs page. const configsDiv = document.getElementById( 'wrap-wphb-configs' ); if ( configsDiv ) { ReactDOM.render( , configsDiv ); } } );