     section: React.PropTypes.string
     onCreateBoard: React.PropTypes.func # passed (board) on create
 
-  defaultBoardPromise: ->
+  getInitialState: ->
+    defaultBoard: null
+
+  componentWillMount: ->
+    @getDefaultBoard @props.section
+
+  componentWillReceiveProps: (newProps) ->
+    @getDefaultBoard newProps.section if newProps.section isnt @props.section
+
+  getDefaultBoard: (section) ->
     talkClient
-      .type('boards')
-      .get({section: @props.section, subject_default: true})
-      .index(0)
+      .type 'boards'
+      .get
+        section: section
+        subject_default: true
+      .index 0
+      .then (defaultBoard) =>
+        @setState {defaultBoard}
 
   createSubjectDefaultBoard: ->
     board =

React = require 'react'
talkClient = require 'panoptes-client/lib/talk-client'
PromiseRenderer = require '../../components/promise-renderer'
SingleSubmitButton = require '../../components/single-submit-button'

DEFAULT_BOARD_TITLE = 'Notes'            # Name of board to put subject comments

      .then => @props.onCreateBoard?(board)

  render: ->
    if @state.defaultBoard?
      <div>
        <i className="fa fa-check" /> Subject Default Board Setup
      </div>
    else
      <SingleSubmitButton type="button" onClick={@createSubjectDefaultBoard}>
        <i className="fa fa-photo" /> Activate Talk Subject Comments Board
      </SingleSubmitButton>
