From 3240e1138e8f46ea99476bef4df0d81b5be3c561 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Thu, 27 May 2021 13:36:39 +0300 Subject: [PATCH] Sketched out export config modal infrastructure --- .../ExportConfigModal.tsx | 53 +++++++++++++++++++ .../ui/src/components/pages/ConfigurePage.js | 17 +++++- 2 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 monkey/monkey_island/cc/ui/src/components/configuration-components/ExportConfigModal.tsx diff --git a/monkey/monkey_island/cc/ui/src/components/configuration-components/ExportConfigModal.tsx b/monkey/monkey_island/cc/ui/src/components/configuration-components/ExportConfigModal.tsx new file mode 100644 index 000000000..1f2dedba3 --- /dev/null +++ b/monkey/monkey_island/cc/ui/src/components/configuration-components/ExportConfigModal.tsx @@ -0,0 +1,53 @@ +import {Button, Modal, Form} from 'react-bootstrap'; +import React from 'react'; + +type Props = { + show: boolean, + onClick: () => void +} + + +const PasswordInput = (props) => { + return ( +
+

Encrypt with a password:

+ +
+ ) +} + + +const ConfigExportModal = (props: Props) => { + return ( + + + Configuration export + + +
+ } + /> + + +
+
+ + + + +
) +} + +export default ConfigExportModal; diff --git a/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js b/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js index 4cae9b2bf..9b2251cd8 100644 --- a/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js +++ b/monkey/monkey_island/cc/ui/src/components/pages/ConfigurePage.js @@ -14,6 +14,7 @@ import InternalConfig from '../configuration-components/InternalConfig'; import UnsafeOptionsConfirmationModal from '../configuration-components/UnsafeOptionsConfirmationModal.js'; import UnsafeOptionsWarningModal from '../configuration-components/UnsafeOptionsWarningModal.js'; import isUnsafeOptionSelected from '../utils/SafeOptionValidator.js'; +import ConfigExportModal from '../configuration-components/ExportConfigModal'; const ATTACK_URL = '/api/attack'; const CONFIG_URL = '/api/configuration/island'; @@ -40,7 +41,8 @@ class ConfigurePageComponent extends AuthComponent { selectedSection: 'attack', showAttackAlert: false, showUnsafeOptionsConfirmation: false, - showUnsafeAttackOptionsWarning: false + showUnsafeAttackOptionsWarning: false, + showConfigExportModal: false }; } @@ -220,6 +222,14 @@ class ConfigurePageComponent extends AuthComponent { this.setState({configuration: newConfig, lastAction: 'none'}); }; + renderConfigExportModal = () => { + return ()} + + onExport = () => { + this.setState({showConfigExportModal: false}) + } + renderAttackAlertModal = () => { return ( { this.setState({showAttackAlert: false}) @@ -488,6 +498,7 @@ class ConfigurePageComponent extends AuthComponent { + {this.renderConfigExportModal()} {this.renderAttackAlertModal()} {this.renderUnsafeOptionsConfirmationModal()} {this.renderUnsafeAttackOptionsWarningModal()} @@ -509,7 +520,9 @@ class ConfigurePageComponent extends AuthComponent { -