     this.listenTo this.router, 'route:item', (id) =>
       model = new Item {id}
       model.fetch().then => this.show new ItemScreen {model}
+    this.listenTo this.router, 'route:auth', (provider) =>
+      window.open(window.location.pathname)
+      Backbone.history.history.back()
 
   show: (screen, options = {}) ->
     this.setState {screen}

    this.router.navigate screenURL, {trigger: options.trigger} if screenURL?

  renderControls: ->
    authControl = if this.state?.user?
      Control(
        class: 'logout', icon: 'signout',
        href: '/auth/logout', label: 'Sign out')
    else
      Control(
        class: 'login', icon: 'signin', label: 'Sign in',
        onClick: => this.showModal LoginDialog())

    controls = [
      Control(
        class: 'submit', icon: 'pencil', label: 'Submit',
        onClick: => this.showModal WriteScreen()),
      authControl,
    ]

    `<div class="Controls">{controls}</div>`

  render: ->

    title: React.PropTypes.string.isRequired

  routes:
    '':               'items'
    'items/:id':      'item'
    '~:username':     'user'
    'auth/:provider': 'auth'

  events:
    'click a': (e) ->
