React = require 'react' shell = require 'shell' classnames = require 'classnames' {RetinaImg, TimeoutTransitionGroup} = require 'nylas-component-kit' OnboardingActions = require './onboarding-actions' class WelcomePage extends React.Component @displayName: "WelcomePage" constructor: (@props) -> @state = step: 0 lastStep: 0 render: -> closeType = if @props.pageData.addingAccount then "close" else "quit"
atom[closeType]() }>
{@_renderSteps()}
{@_renderButtons()}
_renderButtons: -> buttons = [] # if @state.step > 0 # buttons.push Back btnText = if @state.step is 2 then "Get Started" else "Continue" buttons.push return buttons _renderSteps: -> [ @_renderStep0() @_renderStep1() @_renderStep2() ] _stepClass: (n) -> obj = "step-wrap": true "active": @state.step is n obj["step-#{n}-wrap"] = true className = classnames(obj) return className _renderStep0: ->

N1 is a new email app that is fast,
friendly, and easy to use.

It is the foundation for a highly extensible email experience

{@_renderNavBubble(0)}
_renderStep1: ->

Under the hood, N1 is built for developers.

{@_gears()}

You can extend it using packages and build your own components.

{@_renderNavBubble(1)}
_gears: -> gears = [] for i in [0..3] gears.push return gears _renderStep2: ->

N1 is secured and enhanced by the Nylas Sync Engine

Secured using
bank-grade encryption

@_open("https://nylas.com/security/")}>more info

Synced by Nylas to be
faster and more extensible

@_open("https://github.com/nylas/sync-engine")}>more info
{@_renderNavBubble(2)}
_open: (link) -> shell.openExternal(link) return _renderNavBubble: (step=0) -> bubbles = [0..2].map (n) => active = if n is step then "active" else ""
@setState step: n }>
{bubbles}
_onBack: => @setState(step: @state.step - 1) _onContinue: => if @state.step < 2 @setState(step: @state.step + 1) else OnboardingActions.moveToPage("account-choose") module.exports = WelcomePage