Finish new welcome newsletter series

This commit is contained in:
Ben Gotow 2017-11-08 20:50:23 +01:00
parent 3cd114d703
commit 78f584e3cc
4 changed files with 10 additions and 13 deletions

View file

@ -2,7 +2,7 @@ import _ from 'underscore';
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { RetinaImg, Flexbox } from 'mailspring-component-kit'; import { RetinaImg, Flexbox } from 'mailspring-component-kit';
import { makeRequest } from '../flux/mailspring-api-request'; import { MailspringAPIRequest } from 'mailspring-exports';
export default class NewsletterSignup extends React.Component { export default class NewsletterSignup extends React.Component {
static displayName = 'NewsletterSignup'; static displayName = 'NewsletterSignup';
@ -41,7 +41,7 @@ export default class NewsletterSignup extends React.Component {
_onGetStatus = async (props = this.props) => { _onGetStatus = async (props = this.props) => {
this._setState({ status: 'Pending' }); this._setState({ status: 'Pending' });
try { try {
const { status } = await makeRequest({ const { status } = await MailspringAPIRequest.makeRequest({
server: 'identity', server: 'identity',
method: 'GET', method: 'GET',
path: this._path(props), path: this._path(props),
@ -59,7 +59,7 @@ export default class NewsletterSignup extends React.Component {
_onSubscribe = async () => { _onSubscribe = async () => {
this._setState({ status: 'Pending' }); this._setState({ status: 'Pending' });
try { try {
const { status } = await makeRequest({ const { status } = await MailspringAPIRequest.makeRequest({
server: 'identity', server: 'identity',
method: 'POST', method: 'POST',
path: this._path(), path: this._path(),
@ -73,7 +73,7 @@ export default class NewsletterSignup extends React.Component {
_onUnsubscribe = () => { _onUnsubscribe = () => {
this._setState({ status: 'Pending' }); this._setState({ status: 'Pending' });
try { try {
const { status } = makeRequest({ const { status } = MailspringAPIRequest.makeRequest({
server: 'identity', server: 'identity',
method: 'DELETE', method: 'DELETE',
path: this._path(), path: this._path(),
@ -85,7 +85,7 @@ export default class NewsletterSignup extends React.Component {
}; };
_path(props = this.props) { _path(props = this.props) {
return `/api/newsletter-subscription/${encodeURIComponent( return `/api/newsletter/first-account/${encodeURIComponent(
props.emailAddress props.emailAddress
)}?name=${encodeURIComponent(props.name)}`; )}?name=${encodeURIComponent(props.name)}`;
} }

View file

@ -3,9 +3,10 @@ PropTypes = require 'prop-types'
path = require 'path' path = require 'path'
fs = require 'fs' fs = require 'fs'
_ = require 'underscore' _ = require 'underscore'
{RetinaImg, Flexbox, ConfigPropContainer, NewsletterSignup} = require 'mailspring-component-kit' {RetinaImg, Flexbox, ConfigPropContainer} = require 'mailspring-component-kit'
{AccountStore} = require 'mailspring-exports' {AccountStore} = require 'mailspring-exports'
OnboardingActions = require('./onboarding-actions').default OnboardingActions = require('./onboarding-actions').default
NewsletterSignup = require('./newsletter-signup').default
# NOTE: Temporarily copied from preferences module # NOTE: Temporarily copied from preferences module
class AppearanceModeOption extends React.Component class AppearanceModeOption extends React.Component

View file

@ -5,16 +5,13 @@ import { DateUtils } from 'mailspring-exports';
import { DatePickerPopover } from 'mailspring-component-kit'; import { DatePickerPopover } from 'mailspring-component-kit';
const SendRemindersOptions = { const SendRemindersOptions = {
'In 1 hour': DateUtils.in1Hour, 'In 3 hours': () => DateUtils.minutesFromNow(180),
'In 2 hours': DateUtils.in2Hours,
'In 4 hours': () => DateUtils.minutesFromNow(240),
'Tomorrow morning': DateUtils.tomorrow, 'Tomorrow morning': DateUtils.tomorrow,
'Tomorrow evening': DateUtils.tomorrowEvening, 'Tomorrow evening': DateUtils.tomorrowEvening,
'In 2 days': () => DateUtils.hoursFromNow(48), 'In 3 days': () => DateUtils.hoursFromNow(72),
'In 4 days': () => DateUtils.hoursFromNow(96),
'In 1 week': () => DateUtils.weeksFromNow(1), 'In 1 week': () => DateUtils.weeksFromNow(1),
'In 2 weeks': () => DateUtils.weeksFromNow(2), 'In 2 weeks': () => DateUtils.weeksFromNow(2),
'In 1 month': () => DateUtils.monthsFromNow(1), 'In a month': () => DateUtils.monthsFromNow(1),
}; };
function SendRemindersPopover(props) { function SendRemindersPopover(props) {

View file

@ -113,7 +113,6 @@ lazyLoadFrom('GeneratedForm', 'generated-form');
lazyLoadFrom('GeneratedFieldset', 'generated-form'); lazyLoadFrom('GeneratedFieldset', 'generated-form');
lazyLoad('ScenarioEditor', 'scenario-editor'); lazyLoad('ScenarioEditor', 'scenario-editor');
lazyLoad('NewsletterSignup', 'newsletter-signup');
lazyLoad('SearchBar', 'search-bar'); lazyLoad('SearchBar', 'search-bar');