瀏覽代碼

jump to setting page if api key not set

Weihua Lu 4 年之前
父節點
當前提交
b2288def83
共有 2 個文件被更改,包括 13 次插入2 次删除
  1. 5 1
      src/main/frontend/extensions/zotero.cljs
  2. 8 1
      src/main/frontend/extensions/zotero/setting.cljs

+ 5 - 1
src/main/frontend/extensions/zotero.cljs

@@ -6,6 +6,8 @@
             [frontend.extensions.zotero.extractor :as extractor]
             [frontend.extensions.zotero.handler :as zotero-handler]
             [frontend.extensions.zotero.setting :as setting]
+            [frontend.handler.notification :as notification]
+            [frontend.handler.route :as route-handler]
             [frontend.state :as state]
             [frontend.ui :as ui]
             [frontend.util :as util]
@@ -40,7 +42,9 @@
         [search-result set-search-result!] (rum/use-state [])
         [search-error set-search-error!]   (rum/use-state nil)
         [is-searching set-is-searching!]   (rum/use-state false)]
-
+    (when-not (setting/valid?)
+      (route-handler/redirect! {:to :zotero-setting})
+      (notification/show! "Please setup Zotero API key and user/group id first!" :warn false))
 
     (go
       (let [d-term   (<! debounce-chan)]

+ 8 - 1
src/main/frontend/extensions/zotero/setting.cljs

@@ -1,5 +1,7 @@
 (ns frontend.extensions.zotero.setting
-  (:require [frontend.handler.config :as config-handler]
+  (:require [clojure.string :as str]
+            [frontend.extensions.zotero.setting :as setting]
+            [frontend.handler.config :as config-handler]
             [frontend.state :as state]
             [frontend.storage :as storage]))
 
@@ -29,3 +31,8 @@
   (get (sub-zotero-config)
        k
        (get default-settings k)))
+
+(defn valid? []
+  (and
+   (not (str/blank? (api-key)))
+   (not (str/blank? (setting :type-id)))))