         div className: "#{bn}__actions",
           div className: "#{bn}__actions-group",
             if @canResolve() && !@props.discussion.resolved
-              @renderReplyButton
-                text: osu.trans('common.buttons.reply_resolve')
-                icon: 'fas fa-check'
-                extraProps:
-                  'data-action': 'resolve'
+              @renderReplyButton 'reply_resolve'
 
             if @canResolve() && @props.discussion.resolved
-              @renderReplyButton
-                text: osu.trans('common.buttons.reply_reopen')
-                icon: 'fas fa-exclamation-circle'
-                extraProps:
-                  'data-action': 'reopen'
+              @renderReplyButton 'reply_reopen'
 
-            @renderReplyButton
-              text: osu.trans('common.buttons.reply')
-              icon: 'fas fa-reply'
+            @renderReplyButton 'reply'
 
 
   renderCancelButton: =>

          onClick: @editStart


  renderReplyButton: ({ text, icon, extraProps = {} }) =>
    props = _.extend
      disabled: !@validPost() || @state.posting?
      onClick: @throttledPost,
      extraProps

    div className: "#{bn}__action",
      el BigButton,
        text: text
        # wobbles if using spinner
        icon: if @state.posting then '_spinner' else icon
        props: props


  canResolve: =>

bn = 'beatmap-discussion-post'

class BeatmapDiscussions.NewReply extends React.PureComponent
  ACTION_ICONS =
    reply_resolve: 'fas fa-check'
    reply_reopen: 'fas fa-exclamation-circle'
    reply: 'fas fa-reply'

  constructor: (props) ->
    super props

