         games-list (sort-by :game-id games-list)]
     [:div
       [:div.time-input-row
-        [:button.btn-primary-7f246 {:on-click (fn [_] (save-state!))} "Save Schedule"]]
+        [:button.btn-primary-7f246 {:on-click click-save-schedule} "Save Schedule"]]
       (map-indexed GameTimeInput games-list)
       [:div.time-input-row
-        [:button.btn-primary-7f246 {:on-click (fn [_] (save-state!))} "Save Schedule"]]]))
+        [:button.btn-primary-7f246 {:on-click click-save-schedule} "Save Schedule"]]]))
 
 ;;------------------------------------------------------------------------------
 ;; Games Body

;; NOTE: this is a hack for the 2017 tournament
;;       make sure the game-ids are in descending order of how you want the tournament to run

(defn- on-change-time-input [game-id js-evt]
  (let [new-txt (aget js-evt "currentTarget" "value")]
    (swap! page-state assoc-in [:games game-id :start-time] new-txt)))

    (condp = active-page
      "teams" (TeamsPage teams)
      "schedule" (SchedulePage games)
      (GamesList teams games active-page simulated-scoreA simulated-scoreB))
    (Footer)
    (when menu-showing?
      (LeftNavMenu))
