import React, { useEffect, useState } from 'react';
import { addActiveElement, removeFocusedElement } from "../../../actions/MainNavigation/mainNavigationActions";
import AddItemLayout from '../../ControlPanel/AddItemLayout/AddItemLayout';
import { getUserNS } from '../../../ControlPanelService/UserNS';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import Toolbar from '../../MainNav/Toolbar/Toolbar';
import { useHistory } from 'react-router-dom';
import Spinner from '../../Spinner/Spinner';
import { useDispatch, useSelector } from 'react-redux';
import './AddDomainNameSystem.scss';
import AdvancedOptions from './AdvancedOptions/AdvancedOptions';
import { addDomainNameSystem } from '../../../ControlPanelService/Dns';
import { Helmet } from 'react-helmet';
import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
import HtmlParser from 'react-html-parser';
const AddDomainNameSystem = props => {
const { i18n } = useSelector(state => state.session);
const dispatch = useDispatch();
const token = localStorage.getItem("token");
const history = useHistory();
const [state, setState] = useState({
loading: false,
showAdvancedOptions: false,
okMessage: '',
domain: '',
errorMessage: '',
userNS: []
});
useEffect(() => {
dispatch(addActiveElement('/list/dns/'));
dispatch(removeFocusedElement());
setState({ ...state, loading: true });
getUserNS()
.then(result => {
if (result.data.length) {
setState({ ...state, userNS: result.data, loading: false });
}
})
.catch(err => console.error(err));
}, []);
const submitFormHandler = event => {
event.preventDefault();
let domainNameSystem = {};
for (var [name, value] of (new FormData(event.target)).entries()) {
domainNameSystem[name] = value;
}
if (Object.keys(domainNameSystem).length !== 0 && domainNameSystem.constructor === Object) {
setState({ ...state, loading: true });
addDomainNameSystem(domainNameSystem)
.then(result => {
if (result.status === 200) {
const { error_msg: errorMessage, ok_msg: okMessage } = result.data;
if (errorMessage) {
setState({ ...state, errorMessage, okMessage, loading: false });
} else {
dispatch(refreshCounters()).then(() => {
setState({ ...state, okMessage, errorMessage: '', loading: false });
});
}
}
})
.catch(err => console.error(err));
}
}
const renderAdvancedOptions = () => {
if (state.showAdvancedOptions) {
return