   (let [dirname (.dirname path filename)]
     (open dirname)))
 
-(defn- click-modal-overlay []
+(defn- click-add-project-modal-overlay []
   ;; do not let them close the modal while a new project is being created
   (when-not (= 3 (:new-project-step @state))
     (close-add-project-modal)))
 
+(defn- click-settings-modal-overlay []
+  (swap! state assoc :settings-modal-showing? false))
+
 (defn- on-keydown-new-project-name [js-evt]
   (when (= ENTER (aget js-evt "keyCode"))
     (click-create-project-btn)))

(defn- on-mount-new-project-form []
  (when-let [el (by-id new-project-input-id)]
    (.focus el)))

;;------------------------------------------------------------------------------
;; Sablono Templates

      3 (new-project-step-3 app-state)
      nil)))

(quiescent/defcomponent SettingsModal [app-state]
  (sablono/html
    [:div.modal-body-fe4db "Settings menu!"]))

(quiescent/defcomponent AppRoot [app-state]
  (sablono/html
    [:div
      (when (:add-project-modal-showing? app-state)
        (list (modal-overlay click-add-project-modal-overlay)
              (NewProjectModal app-state)))
      (when (:settings-modal-showing? app-state)
        (list (modal-overlay click-settings-modal-overlay)
              (SettingsModal app-state)))
      [:div.app-ca3cd {:on-click click-root}
        (header)
        (let [projects (-> app-state :projects get-ordered-projects)]
