     @updateSliderPreset(elem, @cost) for elem in @sliderPresets
 
 
+  updateSearchResult: =>
+    $.publish 'store-supporter-tag:update-user', @user
+    @updateTargetId()
+    @updateUserInteraction()
+
+
   updateSliderPreset: (elem, cost) ->
     $(elem).toggleClass('js-slider-preset--active', cost.duration() >= +elem.dataset.months)
 
 
   updateTargetId: =>
     @targetIdElement.value = @user?.id
+
+
+  updateUserInteraction: =>
+    enabled = @user?.id? && Number.isFinite(@user.id) && @user.id > 0
+
+    StoreCart.setEnabled(enabled)
+    # TODO: need to elevate this element when switching over to new store design.
+    $(@el).toggleClass('js-store--disabled', !enabled)
+    $('.js-slider').slider('disabled': !enabled)

    .done (data) =>
      @user = data

    .fail (xhr) =>
      @user = null
      if xhr.status == 401
        osu.popup osu.trans('errors.logged_out'), 'danger'


    @initializeUsernameInput()
    @updateCostDisplay()

    # force initial values for consistency.
    @updateSearchResult()


  initializeSlider: =>
