Browse Source

fix: collapse page configure by default

Tienson Qin 1 year ago
parent
commit
36a02a6a63

+ 37 - 38
src/main/frontend/components/db_based/page.cljs

@@ -198,9 +198,7 @@
                       ::collapsed?
                       (atom (not (seq (set/intersection #{"class" "property"} (:block/type page))))))))
            (fn [state]
-             (let [page (first (:rum/args state))
-                   properties (:block/properties page)]
-               (assoc state ::collapsed? (atom (empty? properties))))))}
+             (assoc state ::collapsed? (atom true))))}
   [state page *hover-title?]
   (let [page (db/sub-block (:db/id page))
         *collapsed? (::collapsed? state)
@@ -211,44 +209,45 @@
         collapsed? (rum/react *collapsed?)
         has-tags? (seq (:block/tags page))
         hover-or-expanded? (or @*hover? hover-title? (not collapsed?))]
+    (prn :debug :collapsed? collapsed?)
     (when (if config/publishing?
             ;; Since publishing is read-only, hide this component if it has no info to show
             ;; as it creates a fair amount of empty vertical space
             (or has-tags? (some? types))
             true)
-     [:div.page-info {:on-mouse-over #(reset! *hover? true)
-                      :on-mouse-leave #(reset! *hover? false)}
-      (when (or hover-or-expanded? has-tags?)
-        [:div.fade-in.p-2 (cond-> {}
-                            (or @*hover? (not collapsed?))
-                            (assoc :class "border rounded"))
-         [:div.info-title.cursor {:on-click
-                                  (if config/publishing?
-                                    (fn [_]
-                                      (when (seq (set/intersection #{"class" "empty"} types))
-                                        (swap! *collapsed? not)))
-                                    #(swap! *collapsed? not))}
-          [:div.flex.flex-row.items-center.gap-2.justify-between
-           [:div.flex.flex-row.items-center.gap-2
-            (if collapsed?
-              [:<>
-               (shui-ui/button {:variant :ghost :size :sm :class "fade-link"}
-                               (ui/icon "tags"))
-               [:div {:on-click util/stop-propagation}
-                (tags page)]]
-              [:div.flex.flex-row.items-center.gap-1
-               (shui-ui/button {:variant :ghost :size :sm :class "fade-link"}
-                               (ui/icon "info-circle"))
-               [:a.text-sm.font-medium.fade-link
-                "Configure:"]
-               (mode-switch types *mode)])]
-           (when (or @*hover? (not collapsed?))
-             (shui-ui/button
-              {:variant :ghost :size :sm :class "fade-link"}
-              (ui/icon (if collapsed?
-                         "chevron-down"
-                         "chevron-up"))))]]
+      [:div.page-info {:on-mouse-over #(reset! *hover? true)
+                       :on-mouse-leave #(reset! *hover? false)}
+       (when (or hover-or-expanded? has-tags?)
+         [:div.fade-in.p-2 (cond-> {}
+                             (or @*hover? (not collapsed?))
+                             (assoc :class "border rounded"))
+          [:div.info-title.cursor {:on-click
+                                   (if config/publishing?
+                                     (fn [_]
+                                       (when (seq (set/intersection #{"class" "empty"} types))
+                                         (swap! *collapsed? not)))
+                                     #(swap! *collapsed? not))}
+           [:div.flex.flex-row.items-center.gap-2.justify-between
+            [:div.flex.flex-row.items-center.gap-2
+             (if collapsed?
+               [:<>
+                (shui-ui/button {:variant :ghost :size :sm :class "fade-link"}
+                                (ui/icon "tags"))
+                [:div {:on-click util/stop-propagation}
+                 (tags page)]]
+               [:div.flex.flex-row.items-center.gap-1
+                (shui-ui/button {:variant :ghost :size :sm :class "fade-link"}
+                                (ui/icon "info-circle"))
+                [:a.text-sm.font-medium.fade-link
+                 "Configure:"]
+                (mode-switch types *mode)])]
+            (when (or @*hover? (not collapsed?))
+              (shui-ui/button
+               {:variant :ghost :size :sm :class "fade-link"}
+               (ui/icon (if collapsed?
+                          "chevron-down"
+                          "chevron-up"))))]]
 
-         (when-not collapsed?
-           [:div.py-2.px-4
-            (page-configure page *mode)])])])))
+          (when-not collapsed?
+            [:div.py-2.px-4
+             (page-configure page *mode)])])])))

+ 9 - 1
src/main/frontend/components/property.cljs

@@ -720,7 +720,15 @@
                    (not (:page-configure? opts)))
       [:div.ls-properties-area (cond-> (if in-block-container?
                                          {}
-                                         {:class [(if class-schema? "class-properties" "page-properties")]})
+                                         {:class [(cond
+                                                    class-schema?
+                                                    "class-properties"
+
+                                                    (config/db-based-graph? (state/get-current-repo))
+                                                    nil
+
+                                                    :else
+                                                    "page-properties")]})
                                  (:selected? opts)
                                  (update :class conj "select-none"))
        (properties-section block (if class-schema? properties own-properties) opts)