aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/ui/Subscription.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ui/Subscription.js')
-rw-r--r--src/components/ui/Subscription.js108
1 files changed, 25 insertions, 83 deletions
diff --git a/src/components/ui/Subscription.js b/src/components/ui/Subscription.js
index 8bff72095..41f8ba5d7 100644
--- a/src/components/ui/Subscription.js
+++ b/src/components/ui/Subscription.js
@@ -31,10 +31,6 @@ const messages = defineMessages({
31 id: 'subscription.type.year', 31 id: 'subscription.type.year',
32 defaultMessage: '!!!year', 32 defaultMessage: '!!!year',
33 }, 33 },
34 typeMining: {
35 id: 'subscription.type.mining',
36 defaultMessage: '!!!Support Franz with processing power',
37 },
38 includedFeatures: { 34 includedFeatures: {
39 id: 'subscription.includedFeatures', 35 id: 'subscription.includedFeatures',
40 defaultMessage: '!!!The Franz Premium Supporter Account includes', 36 defaultMessage: '!!!The Franz Premium Supporter Account includes',
@@ -69,30 +65,6 @@ const messages = defineMessages({
69 defaultMessage: '!!!coming soon', 65 defaultMessage: '!!!coming soon',
70 }, 66 },
71 }, 67 },
72 miningHeadline: {
73 id: 'subscription.mining.headline',
74 defaultMessage: '!!!How does this work?',
75 },
76 experimental: {
77 id: 'subscription.mining.experimental',
78 defaultMessage: '!!!experimental',
79 },
80 miningDetail1: {
81 id: 'subscription.mining.line1',
82 defaultMessage: '!!!By enabling "Support with processing power", Franz will use about 20-50% of your CPU to mine cryptocurrency Monero which equals approximately € 5/year.',
83 },
84 miningDetail2: {
85 id: 'subscription.mining.line2',
86 defaultMessage: '!!!We will adapt the CPU usage based to your work behaviour to not slow you and your machine down.',
87 },
88 miningDetail3: {
89 id: 'subscription.mining.line3',
90 defaultMessage: '!!!As long as the miner is active, you will have unlimited access to all the Franz Premium Supporter Features.',
91 },
92 miningMoreInfo: {
93 id: 'subscription.mining.moreInformation',
94 defaultMessage: '!!!Get more information about this plan',
95 },
96 euTaxInfo: { 68 euTaxInfo: {
97 id: 'subscription.euTaxInfo', 69 id: 'subscription.euTaxInfo',
98 defaultMessage: '!!!EU residents: local sales tax may apply', 70 defaultMessage: '!!!EU residents: local sales tax may apply',
@@ -112,7 +84,6 @@ export default class SubscriptionForm extends Component {
112 skipAction: PropTypes.func, 84 skipAction: PropTypes.func,
113 skipButtonLabel: PropTypes.string, 85 skipButtonLabel: PropTypes.string,
114 hideInfo: PropTypes.bool.isRequired, 86 hideInfo: PropTypes.bool.isRequired,
115 openExternalUrl: PropTypes.func.isRequired,
116 }; 87 };
117 88
118 static defaultProps ={ 89 static defaultProps ={
@@ -153,13 +124,6 @@ export default class SubscriptionForm extends Component {
153 }, 124 },
154 }; 125 };
155 126
156 if (this.props.plan.miner) {
157 form.fields.paymentTier.options.push({
158 value: 'mining',
159 label: intl.formatMessage(messages.typeMining),
160 });
161 }
162
163 if (this.props.showSkipOption) { 127 if (this.props.showSkipOption) {
164 form.fields.paymentTier.options.unshift({ 128 form.fields.paymentTier.options.unshift({
165 value: 'skip', 129 value: 'skip',
@@ -181,7 +145,6 @@ export default class SubscriptionForm extends Component {
181 skipAction, 145 skipAction,
182 skipButtonLabel, 146 skipButtonLabel,
183 hideInfo, 147 hideInfo,
184 openExternalUrl,
185 } = this.props; 148 } = this.props;
186 const { intl } = this.context; 149 const { intl } = this.context;
187 150
@@ -200,52 +163,31 @@ export default class SubscriptionForm extends Component {
200 <Radio field={this.form.$('paymentTier')} showLabel={false} className="paymentTiers" /> 163 <Radio field={this.form.$('paymentTier')} showLabel={false} className="paymentTiers" />
201 {!hideInfo && ( 164 {!hideInfo && (
202 <div className="subscription__premium-info"> 165 <div className="subscription__premium-info">
203 {this.form.$('paymentTier').value !== 'mining' && ( 166 <div>
204 <div> 167 <p>
205 <p> 168 <strong>{intl.formatMessage(messages.includedFeatures)}</strong>
206 <strong>{intl.formatMessage(messages.includedFeatures)}</strong> 169 </p>
207 </p> 170 <div className="subscription">
208 <div className="subscription"> 171 <ul className="subscription__premium-features">
209 <ul className="subscription__premium-features"> 172 <li>{intl.formatMessage(messages.features.onpremise)}</li>
210 <li>{intl.formatMessage(messages.features.onpremise)}</li> 173 <li>
211 <li> 174 {intl.formatMessage(messages.features.encryptedSync)}
212 {intl.formatMessage(messages.features.encryptedSync)} 175 <span className="badge">{intl.formatMessage(messages.features.comingSoon)}</span>
213 <span className="badge">{intl.formatMessage(messages.features.comingSoon)}</span> 176 </li>
214 </li> 177 <li>
215 <li> 178 {intl.formatMessage(messages.features.customServices)}
216 {intl.formatMessage(messages.features.customServices)} 179 <span className="badge">{intl.formatMessage(messages.features.comingSoon)}</span>
217 <span className="badge">{intl.formatMessage(messages.features.comingSoon)}</span> 180 </li>
218 </li> 181 <li>
219 <li> 182 {intl.formatMessage(messages.features.vpn)}
220 {intl.formatMessage(messages.features.vpn)} 183 <span className="badge">{intl.formatMessage(messages.features.comingSoon)}</span>
221 <span className="badge">{intl.formatMessage(messages.features.comingSoon)}</span> 184 </li>
222 </li> 185 <li>
223 <li> 186 {intl.formatMessage(messages.features.ads)}
224 {intl.formatMessage(messages.features.ads)} 187 </li>
225 </li> 188 </ul>
226 </ul>
227 </div>
228 </div>
229 )}
230 {this.form.$('paymentTier').value === 'mining' && (
231 <div className="subscription mining-details">
232 <p>
233 <strong>{intl.formatMessage(messages.miningHeadline)}</strong>
234 &nbsp;
235 <span className="badge">{intl.formatMessage(messages.experimental)}</span>
236 </p>
237 <p>{intl.formatMessage(messages.miningDetail1)}</p>
238 <p>{intl.formatMessage(messages.miningDetail2)}</p>
239 <p>{intl.formatMessage(messages.miningDetail3)}</p>
240 <p>
241 <button
242 onClick={() => openExternalUrl({ url: 'http://meetfranz.com/mining' })}
243 >
244 {intl.formatMessage(messages.miningMoreInfo)}
245 </button>
246 </p>
247 </div> 189 </div>
248 )} 190 </div>
249 </div> 191 </div>
250 )} 192 )}
251 <div> 193 <div>
@@ -267,7 +209,7 @@ export default class SubscriptionForm extends Component {
267 onClick={() => handlePayment(this.form.$('paymentTier').value)} 209 onClick={() => handlePayment(this.form.$('paymentTier').value)}
268 /> 210 />
269 )} 211 )}
270 {this.form.$('paymentTier').value !== 'skip' && this.form.$('paymentTier').value !== 'mining' && ( 212 {this.form.$('paymentTier').value !== 'skip' && (
271 <p className="legal"> 213 <p className="legal">
272 {intl.formatMessage(messages.euTaxInfo)} 214 {intl.formatMessage(messages.euTaxInfo)}
273 </p> 215 </p>