2020-02-18 16:49:18 +01:00
|
|
|
import React, { useReducer } from 'react';
|
2020-02-18 18:05:52 +01:00
|
|
|
import PropTypes from 'prop-types';
|
|
|
|
import { HeaderNavWrapper, ModalBody, ModalForm } from 'strapi-helper-plugin';
|
2020-02-18 16:39:03 +01:00
|
|
|
import ModalNav from '../ModalNav';
|
|
|
|
import NavLink from '../NavLink';
|
|
|
|
import InputFile from '../InputFile';
|
2020-02-18 16:49:18 +01:00
|
|
|
import init from './init';
|
|
|
|
import reducer, { initialState } from './reducer';
|
2020-02-18 16:39:03 +01:00
|
|
|
|
2020-02-18 18:05:52 +01:00
|
|
|
const UploadForm = ({ addFilesToUpload }) => {
|
2020-02-18 16:49:18 +01:00
|
|
|
const [reducerState, dispatch] = useReducer(reducer, initialState, init);
|
|
|
|
const { to } = reducerState.toJS();
|
|
|
|
const links = ['computer', 'url'];
|
|
|
|
|
|
|
|
const handleGoTo = to => {
|
|
|
|
dispatch({
|
|
|
|
type: 'SET_TAB',
|
|
|
|
to,
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2020-02-18 16:39:03 +01:00
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<HeaderNavWrapper>
|
2020-02-18 18:05:52 +01:00
|
|
|
<div className="settings-tabs" style={{ left: 30 }}>
|
|
|
|
<ModalNav>
|
|
|
|
{links.map(link => {
|
|
|
|
const isActive = link === to;
|
2020-02-18 16:49:18 +01:00
|
|
|
|
2020-02-18 18:05:52 +01:00
|
|
|
return (
|
|
|
|
<NavLink
|
|
|
|
key={link}
|
|
|
|
to={link}
|
|
|
|
isActive={isActive}
|
|
|
|
isDisabled={link === 'url'}
|
|
|
|
onClick={handleGoTo}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
})}
|
|
|
|
</ModalNav>
|
|
|
|
</div>
|
|
|
|
<hr />
|
2020-02-18 16:39:03 +01:00
|
|
|
</HeaderNavWrapper>
|
|
|
|
<ModalForm>
|
|
|
|
<ModalBody style={{ paddingTop: 35, paddingBottom: 18 }}>
|
|
|
|
<div className="container-fluid">
|
|
|
|
<div className="row">
|
|
|
|
<div className="col-12">
|
2020-02-18 18:05:52 +01:00
|
|
|
{to === 'computer' && <InputFile onChange={addFilesToUpload} />}
|
2020-02-18 16:49:18 +01:00
|
|
|
{to === 'url' && <div>COMING SOON</div>}
|
2020-02-18 16:39:03 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</ModalBody>
|
|
|
|
</ModalForm>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
2020-02-18 18:05:52 +01:00
|
|
|
UploadForm.defaultProps = {
|
|
|
|
addFilesToUpload: () => {},
|
|
|
|
};
|
|
|
|
|
|
|
|
UploadForm.propTypes = {
|
|
|
|
addFilesToUpload: PropTypes.func,
|
|
|
|
};
|
|
|
|
|
2020-02-18 16:39:03 +01:00
|
|
|
export default UploadForm;
|