add confirmThumbnailUpload modal
This commit is contained in:
parent
de8f116709
commit
f5be93b6b5
4 changed files with 95 additions and 2 deletions
23
src/renderer/constants/modal_types.js
Normal file
23
src/renderer/constants/modal_types.js
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
export const CONFIRM_FILE_REMOVE = 'confirm_file_remove';
|
||||||
|
export const INCOMPATIBLE_DAEMON = 'incompatible_daemon';
|
||||||
|
export const FILE_TIMEOUT = 'file_timeout';
|
||||||
|
export const DOWNLOADING = 'downloading';
|
||||||
|
export const AUTO_UPDATE_DOWNLOADED = 'auto_update_downloaded';
|
||||||
|
export const AUTO_UPDATE_CONFIRM = 'auto_update_confirm';
|
||||||
|
export const ERROR = 'error';
|
||||||
|
export const INSUFFICIENT_CREDITS = 'insufficient_credits';
|
||||||
|
export const UPGRADE = 'upgrade';
|
||||||
|
export const WELCOME = 'welcome';
|
||||||
|
export const EMAIL_COLLECTION = 'email_collection';
|
||||||
|
export const PHONE_COLLECTION = 'phone_collection';
|
||||||
|
export const FIRST_REWARD = 'first_reward';
|
||||||
|
export const AUTHENTICATION_FAILURE = 'auth_failure';
|
||||||
|
export const TRANSACTION_FAILED = 'transaction_failed';
|
||||||
|
export const REWARD_APPROVAL_REQUIRED = 'reward_approval_required';
|
||||||
|
export const AFFIRM_PURCHASE = 'affirm_purchase';
|
||||||
|
export const CONFIRM_CLAIM_REVOKE = 'confirm_claim_revoke';
|
||||||
|
export const FIRST_SUBSCRIPTION = 'firstSubscription';
|
||||||
|
export const SEND_TIP = 'send_tip';
|
||||||
|
export const PUBLISH = 'publish';
|
||||||
|
export const SEARCH = 'search';
|
||||||
|
export const CONFIRM_THUMBNAIL_UPLOAD = 'confirmThumbnailUpload';
|
18
src/renderer/modal/modalConfirmThumbnailUpload/index.js
Normal file
18
src/renderer/modal/modalConfirmThumbnailUpload/index.js
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
import { doCloseModal } from 'redux/actions/app';
|
||||||
|
import { doUploadThumbnail, doUpdatePublishForm } from 'redux/actions/publish';
|
||||||
|
import { selectPublishFormValues } from 'redux/selectors/publish';
|
||||||
|
import ModalConfirmThumbnailUpload from './view';
|
||||||
|
|
||||||
|
const select = state => {
|
||||||
|
const publishState = selectPublishFormValues(state);
|
||||||
|
return { nsfw: publishState.nsfw };
|
||||||
|
};
|
||||||
|
|
||||||
|
const perform = dispatch => ({
|
||||||
|
closeModal: () => dispatch(doCloseModal()),
|
||||||
|
upload: (path, nsfw = false) => dispatch(doUploadThumbnail(path, nsfw)),
|
||||||
|
updatePublishForm: value => dispatch(doUpdatePublishForm(value)),
|
||||||
|
});
|
||||||
|
|
||||||
|
export default connect(select, perform)(ModalConfirmThumbnailUpload);
|
45
src/renderer/modal/modalConfirmThumbnailUpload/view.jsx
Normal file
45
src/renderer/modal/modalConfirmThumbnailUpload/view.jsx
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
// @flow
|
||||||
|
import React from 'react';
|
||||||
|
import { Modal } from 'modal/modal';
|
||||||
|
import { FormField } from 'component/common/form';
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
upload: (string, boolean) => void,
|
||||||
|
path: string,
|
||||||
|
nsfw: boolean,
|
||||||
|
closeModal: () => void,
|
||||||
|
updatePublishForm: any => void,
|
||||||
|
};
|
||||||
|
|
||||||
|
class ModalConfirmThumbnailUpload extends React.PureComponent<Props> {
|
||||||
|
upload() {
|
||||||
|
this.props.upload(this.props.path, this.props.nsfw);
|
||||||
|
this.props.closeModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { closeModal, path, updatePublishForm, nsfw } = this.props;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
isOpen
|
||||||
|
contentLabel={__('Confirm Thumbnail Upload')}
|
||||||
|
type="confirm"
|
||||||
|
confirmButtonLabel={__('Upload')}
|
||||||
|
onConfirmed={() => this.upload()}
|
||||||
|
onAborted={closeModal}
|
||||||
|
>
|
||||||
|
<p>{`Confirm upload: ${path}`}</p>
|
||||||
|
<FormField
|
||||||
|
type="checkbox"
|
||||||
|
name="content_is_mature"
|
||||||
|
postfix={__('Mature audiences only')}
|
||||||
|
checked={nsfw}
|
||||||
|
onChange={event => updatePublishForm({ nsfw: event.target.checked })}
|
||||||
|
/>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ModalConfirmThumbnailUpload;
|
|
@ -23,8 +23,13 @@ import ModalSendTip from '../modalSendTip';
|
||||||
import ModalPublish from '../modalPublish';
|
import ModalPublish from '../modalPublish';
|
||||||
import ModalSearch from '../modalSearch';
|
import ModalSearch from '../modalSearch';
|
||||||
import ModalOpenExternalLink from '../modalOpenExternalLink';
|
import ModalOpenExternalLink from '../modalOpenExternalLink';
|
||||||
|
import ModalConfirmThumbnailUpload from 'modal/modalConfirmThumbnailUpload';
|
||||||
|
|
||||||
class ModalRouter extends React.PureComponent {
|
type Props = {
|
||||||
|
modal: string,
|
||||||
|
};
|
||||||
|
|
||||||
|
class ModalRouter extends React.PureComponent<Props> {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
|
@ -57,7 +62,7 @@ class ModalRouter extends React.PureComponent {
|
||||||
|
|
||||||
if (
|
if (
|
||||||
transitionModal &&
|
transitionModal &&
|
||||||
(transitionModal != this.state.lastTransitionModal || page != this.state.lastTransitionPage)
|
(transitionModal !== this.state.lastTransitionModal || page !== this.state.lastTransitionPage)
|
||||||
) {
|
) {
|
||||||
openModal({ id: transitionModal });
|
openModal({ id: transitionModal });
|
||||||
this.setState({
|
this.setState({
|
||||||
|
@ -161,6 +166,8 @@ class ModalRouter extends React.PureComponent {
|
||||||
return <ModalOpenExternalLink {...notificationProps} />;
|
return <ModalOpenExternalLink {...notificationProps} />;
|
||||||
case MODALS.CONFIRM_TRANSACTION:
|
case MODALS.CONFIRM_TRANSACTION:
|
||||||
return <ModalConfirmTransaction {...notificationProps} />;
|
return <ModalConfirmTransaction {...notificationProps} />;
|
||||||
|
case MODALS.CONFIRM_THUMBNAIL_UPLOAD:
|
||||||
|
return <ModalConfirmThumbnailUpload {...modalProps} />;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue