2018-09-20 11:58:47 -07:00
|
|
|
import React from 'react';
|
|
|
|
import { connect } from 'react-redux';
|
2019-01-23 07:15:59 -08:00
|
|
|
import { Icon } from 'antd';
|
2018-09-20 11:58:47 -07:00
|
|
|
import { Link } from 'react-router-dom';
|
2019-01-23 07:15:59 -08:00
|
|
|
import Loader from 'components/Loader';
|
2018-09-20 11:58:47 -07:00
|
|
|
import { createActions } from 'modules/create';
|
|
|
|
import { AppState } from 'store/reducers';
|
|
|
|
import './Final.less';
|
|
|
|
|
2019-02-05 12:26:37 -08:00
|
|
|
interface OwnProps {
|
|
|
|
goBack(): void;
|
|
|
|
}
|
|
|
|
|
2018-09-20 11:58:47 -07:00
|
|
|
interface StateProps {
|
|
|
|
form: AppState['create']['form'];
|
2018-12-28 15:05:34 -08:00
|
|
|
submittedProposal: AppState['create']['submittedProposal'];
|
|
|
|
submitError: AppState['create']['submitError'];
|
2018-09-20 11:58:47 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
interface DispatchProps {
|
2018-12-28 15:05:34 -08:00
|
|
|
submitProposal: typeof createActions['submitProposal'];
|
2018-09-20 11:58:47 -07:00
|
|
|
}
|
|
|
|
|
2019-02-05 12:26:37 -08:00
|
|
|
type Props = OwnProps & StateProps & DispatchProps;
|
2018-09-20 11:58:47 -07:00
|
|
|
|
CCRs (#86)
* CCRs API / Models boilerplate
* start on frontend
* backendy things
* Create CCR redux module, integrate API endpoints, create types
* Fix/Cleanup API
* Wire up CreateRequestDraftList
* bounty->target
* Add 'Create Request Flow' MVP
* cleanup
* Tweak filenames
* Simplify migrations
* fix migrations
* CCR Staking MVP
* tslint
* Get Pending Requests into Profile
* Remove staking requirement
* more staking related removals
* MVP Admin integration
* Make RFP when CCR is accepted
* Add pagination to CCRs in Admin
Improve styles for Proposals
* Hookup notifications
Adjust copy
* Simplify ccr->rfp relationship
Add admin approval email
Fixup copy
* Show Message on RFP Detail
Make Header CTAs change based on draft status
Adjust proposal card style
* Bugfix: Show header for non signed in users
* Add 'create a request' to intro
* Profile Created CCRs
RFP CCR attribution
* ignore
* CCR Price in USD (#85)
* init profile tipjar backend
* init profile tipjar frontend
* fix lint
* implement tip jar block
* fix wrapping, hide tip block on self
* init backend proposal tipjar
* init frontend proposal tipjar
* add hide title, fix bug
* uncomment rate limit
* rename vars, use null check
* allow address and view key to be unset
* add api tests
* fix tsc errors
* fix lint
* fix CopyInput styling
* fix migrations
* hide tipping in proposal if address not set
* add tip address to create flow
* redesign campaign block
* fix typo
* init backend changes
* init admin changes
* init frontend changes
* fix backend tests
* update campaign block
* be - init rfp usd changes
* admin - init rfp usd changes
* fe - fully adapt api util functions to usd
* fe - init rfp usd changes
* adapt profile created to usd
* misc usd changes
* add tip jar to dedicated card
* fix tipjar bug
* use zf light logo
* switch to zf grants logo
* hide profile tip jar if address not set
* add comment, run prettier
* conditionally add info icon and tooltip to funding line
* admin - disallow decimals in RFPs
* fe - cover usd string edge case
* add Usd as rfp bounty type
* fix migration order
* fix email bug
* adapt CCRs to USD
* implement CCR preview
* fix tsc
* Copy Updates and UX Tweaks (#87)
* Add default structure to proposal content
* Landing page copy
* Hide contributors tab for v2 proposals
* Minor UX tweaks for Liking/Following/Tipping
* Copy for Tipping Tooltip, proposal explainer for review, and milestone day estimate notice.
* Fix header styles bug and remove commented out styles.
* Revert "like" / "unfollow" hyphenication
* Comment out unused tests related to staking
Increase PROPOSAL_TARGET_MAX in .env.example
* Comment out ccr approval email send until ready
* Adjust styles, copy.
* fix proposal prune test (#88)
* fix USD display in preview, fix non-unique key (#90)
* Pre-stepper explainer for CCRs.
* Tweak styles
* Default content for CCRs
* fix tsc
* CCR approval and rejection emails
* add back admin_approval_ccr email templates
* Link ccr author name to profile in RFPs
* copy tweaks
* copy tweak
* hookup mangle user command
* Fix/add endif in jinja
* fix tests
* review
* fix review
2019-12-05 17:01:02 -08:00
|
|
|
class CreateFinal extends React.Component<Props, {}> {
|
2018-09-20 11:58:47 -07:00
|
|
|
componentDidMount() {
|
2018-12-28 15:05:34 -08:00
|
|
|
this.submit();
|
2018-09-20 11:58:47 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
2019-02-05 12:26:37 -08:00
|
|
|
const { submittedProposal, submitError, goBack } = this.props;
|
2019-01-31 14:56:16 -08:00
|
|
|
|
CCRs (#86)
* CCRs API / Models boilerplate
* start on frontend
* backendy things
* Create CCR redux module, integrate API endpoints, create types
* Fix/Cleanup API
* Wire up CreateRequestDraftList
* bounty->target
* Add 'Create Request Flow' MVP
* cleanup
* Tweak filenames
* Simplify migrations
* fix migrations
* CCR Staking MVP
* tslint
* Get Pending Requests into Profile
* Remove staking requirement
* more staking related removals
* MVP Admin integration
* Make RFP when CCR is accepted
* Add pagination to CCRs in Admin
Improve styles for Proposals
* Hookup notifications
Adjust copy
* Simplify ccr->rfp relationship
Add admin approval email
Fixup copy
* Show Message on RFP Detail
Make Header CTAs change based on draft status
Adjust proposal card style
* Bugfix: Show header for non signed in users
* Add 'create a request' to intro
* Profile Created CCRs
RFP CCR attribution
* ignore
* CCR Price in USD (#85)
* init profile tipjar backend
* init profile tipjar frontend
* fix lint
* implement tip jar block
* fix wrapping, hide tip block on self
* init backend proposal tipjar
* init frontend proposal tipjar
* add hide title, fix bug
* uncomment rate limit
* rename vars, use null check
* allow address and view key to be unset
* add api tests
* fix tsc errors
* fix lint
* fix CopyInput styling
* fix migrations
* hide tipping in proposal if address not set
* add tip address to create flow
* redesign campaign block
* fix typo
* init backend changes
* init admin changes
* init frontend changes
* fix backend tests
* update campaign block
* be - init rfp usd changes
* admin - init rfp usd changes
* fe - fully adapt api util functions to usd
* fe - init rfp usd changes
* adapt profile created to usd
* misc usd changes
* add tip jar to dedicated card
* fix tipjar bug
* use zf light logo
* switch to zf grants logo
* hide profile tip jar if address not set
* add comment, run prettier
* conditionally add info icon and tooltip to funding line
* admin - disallow decimals in RFPs
* fe - cover usd string edge case
* add Usd as rfp bounty type
* fix migration order
* fix email bug
* adapt CCRs to USD
* implement CCR preview
* fix tsc
* Copy Updates and UX Tweaks (#87)
* Add default structure to proposal content
* Landing page copy
* Hide contributors tab for v2 proposals
* Minor UX tweaks for Liking/Following/Tipping
* Copy for Tipping Tooltip, proposal explainer for review, and milestone day estimate notice.
* Fix header styles bug and remove commented out styles.
* Revert "like" / "unfollow" hyphenication
* Comment out unused tests related to staking
Increase PROPOSAL_TARGET_MAX in .env.example
* Comment out ccr approval email send until ready
* Adjust styles, copy.
* fix proposal prune test (#88)
* fix USD display in preview, fix non-unique key (#90)
* Pre-stepper explainer for CCRs.
* Tweak styles
* Default content for CCRs
* fix tsc
* CCR approval and rejection emails
* add back admin_approval_ccr email templates
* Link ccr author name to profile in RFPs
* copy tweaks
* copy tweak
* hookup mangle user command
* Fix/add endif in jinja
* fix tests
* review
* fix review
2019-12-05 17:01:02 -08:00
|
|
|
const ready = submittedProposal;
|
2019-01-31 14:56:16 -08:00
|
|
|
|
2018-09-20 11:58:47 -07:00
|
|
|
let content;
|
2018-12-28 15:05:34 -08:00
|
|
|
if (submitError) {
|
|
|
|
content = (
|
|
|
|
<div className="CreateFinal-message is-error">
|
|
|
|
<Icon type="close-circle" />
|
|
|
|
<div className="CreateFinal-message-text">
|
2019-01-27 19:16:04 -08:00
|
|
|
<h3>
|
|
|
|
<b>Something went wrong during creation</b>
|
|
|
|
</h3>
|
|
|
|
<h5>{submitError}</h5>
|
2019-02-05 12:26:37 -08:00
|
|
|
<a onClick={goBack}>Click here</a> to go back to the form and try again.
|
2018-12-28 15:05:34 -08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|
2019-01-31 14:56:16 -08:00
|
|
|
} else if (ready) {
|
2018-09-20 11:58:47 -07:00
|
|
|
content = (
|
2019-01-31 14:56:16 -08:00
|
|
|
<>
|
|
|
|
<div className="CreateFinal-message is-success">
|
|
|
|
<Icon type="check-circle" />
|
CCRs (#86)
* CCRs API / Models boilerplate
* start on frontend
* backendy things
* Create CCR redux module, integrate API endpoints, create types
* Fix/Cleanup API
* Wire up CreateRequestDraftList
* bounty->target
* Add 'Create Request Flow' MVP
* cleanup
* Tweak filenames
* Simplify migrations
* fix migrations
* CCR Staking MVP
* tslint
* Get Pending Requests into Profile
* Remove staking requirement
* more staking related removals
* MVP Admin integration
* Make RFP when CCR is accepted
* Add pagination to CCRs in Admin
Improve styles for Proposals
* Hookup notifications
Adjust copy
* Simplify ccr->rfp relationship
Add admin approval email
Fixup copy
* Show Message on RFP Detail
Make Header CTAs change based on draft status
Adjust proposal card style
* Bugfix: Show header for non signed in users
* Add 'create a request' to intro
* Profile Created CCRs
RFP CCR attribution
* ignore
* CCR Price in USD (#85)
* init profile tipjar backend
* init profile tipjar frontend
* fix lint
* implement tip jar block
* fix wrapping, hide tip block on self
* init backend proposal tipjar
* init frontend proposal tipjar
* add hide title, fix bug
* uncomment rate limit
* rename vars, use null check
* allow address and view key to be unset
* add api tests
* fix tsc errors
* fix lint
* fix CopyInput styling
* fix migrations
* hide tipping in proposal if address not set
* add tip address to create flow
* redesign campaign block
* fix typo
* init backend changes
* init admin changes
* init frontend changes
* fix backend tests
* update campaign block
* be - init rfp usd changes
* admin - init rfp usd changes
* fe - fully adapt api util functions to usd
* fe - init rfp usd changes
* adapt profile created to usd
* misc usd changes
* add tip jar to dedicated card
* fix tipjar bug
* use zf light logo
* switch to zf grants logo
* hide profile tip jar if address not set
* add comment, run prettier
* conditionally add info icon and tooltip to funding line
* admin - disallow decimals in RFPs
* fe - cover usd string edge case
* add Usd as rfp bounty type
* fix migration order
* fix email bug
* adapt CCRs to USD
* implement CCR preview
* fix tsc
* Copy Updates and UX Tweaks (#87)
* Add default structure to proposal content
* Landing page copy
* Hide contributors tab for v2 proposals
* Minor UX tweaks for Liking/Following/Tipping
* Copy for Tipping Tooltip, proposal explainer for review, and milestone day estimate notice.
* Fix header styles bug and remove commented out styles.
* Revert "like" / "unfollow" hyphenication
* Comment out unused tests related to staking
Increase PROPOSAL_TARGET_MAX in .env.example
* Comment out ccr approval email send until ready
* Adjust styles, copy.
* fix proposal prune test (#88)
* fix USD display in preview, fix non-unique key (#90)
* Pre-stepper explainer for CCRs.
* Tweak styles
* Default content for CCRs
* fix tsc
* CCR approval and rejection emails
* add back admin_approval_ccr email templates
* Link ccr author name to profile in RFPs
* copy tweaks
* copy tweak
* hookup mangle user command
* Fix/add endif in jinja
* fix tests
* review
* fix review
2019-12-05 17:01:02 -08:00
|
|
|
<div className="CreateFinal-message-text">
|
|
|
|
Your proposal has been submitted! Check your{' '}
|
|
|
|
<Link to={`/profile?tab=pending`}>profile's pending tab</Link> to check its
|
|
|
|
status.
|
|
|
|
</div>
|
2019-01-09 10:23:08 -08:00
|
|
|
</div>
|
2019-01-31 14:56:16 -08:00
|
|
|
</>
|
2018-09-20 11:58:47 -07:00
|
|
|
);
|
|
|
|
} else {
|
2019-01-23 08:35:03 -08:00
|
|
|
content = <Loader size="large" tip="Submitting your proposal..." />;
|
2018-09-20 11:58:47 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
return <div className="CreateFinal">{content}</div>;
|
|
|
|
}
|
|
|
|
|
2018-12-28 15:05:34 -08:00
|
|
|
private submit = () => {
|
2018-11-14 08:43:00 -08:00
|
|
|
if (this.props.form) {
|
2018-12-28 15:05:34 -08:00
|
|
|
this.props.submitProposal(this.props.form);
|
2018-11-14 08:43:00 -08:00
|
|
|
}
|
2018-09-20 11:58:47 -07:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2019-02-05 12:26:37 -08:00
|
|
|
export default connect<StateProps, DispatchProps, OwnProps, AppState>(
|
2018-09-20 11:58:47 -07:00
|
|
|
(state: AppState) => ({
|
|
|
|
form: state.create.form,
|
2018-12-28 15:05:34 -08:00
|
|
|
submittedProposal: state.create.submittedProposal,
|
|
|
|
submitError: state.create.submitError,
|
2018-09-20 11:58:47 -07:00
|
|
|
}),
|
|
|
|
{
|
2018-12-28 15:05:34 -08:00
|
|
|
submitProposal: createActions.submitProposal,
|
2018-09-20 11:58:47 -07:00
|
|
|
},
|
|
|
|
)(CreateFinal);
|