浏览代码

fix: result safety check

Tienson Qin 1 年之前
父节点
当前提交
7ec93f0f16
共有 1 个文件被更改,包括 16 次插入15 次删除
  1. 16 15
      src/main/frontend/components/cmdk.cljs

+ 16 - 15
src/main/frontend/components/cmdk.cljs

@@ -212,21 +212,22 @@
         repo (state/get-current-repo)]
     (swap! !results assoc-in [group :status] :loading)
     (p/let [pages (search/page-search @!input)
-            items (map
-                   (fn [page]
-                     (let [entity (db/entity [:block/name (util/page-name-sanity-lc page)])
-                           whiteboard? (= (:block/type entity) "whiteboard")
-                           source-page (model/get-alias-source-page repo page)]
-                       (hash-map :icon (if whiteboard? "whiteboard" "page")
-                                 :icon-theme :gray
-                                 :text (if source-page
-                                         [:div.flex.flex-row.items-center.gap-2
-                                          page
-                                          [:div.opacity-50.font-normal "alias of"]
-                                          (:block/original-name source-page)]
-                                         page)
-                                 :source-page page)))
-                   pages)]
+            items (->> pages
+                       (remove nil?)
+                       (map
+                        (fn [page]
+                          (let [entity (db/entity [:block/name (util/page-name-sanity-lc page)])
+                                whiteboard? (= (:block/type entity) "whiteboard")
+                                source-page (model/get-alias-source-page repo page)]
+                            (hash-map :icon (if whiteboard? "whiteboard" "page")
+                                      :icon-theme :gray
+                                      :text (if source-page
+                                              [:div.flex.flex-row.items-center.gap-2
+                                               page
+                                               [:div.opacity-50.font-normal "alias of"]
+                                               (:block/original-name source-page)]
+                                              page)
+                                      :source-page page)))))]
       (swap! !results update group        merge {:status :success :items items}))))
 
 ;; The blocks search action uses an existing handler