Browse Source

fix(ui): human-friendly hls filename

charlie 4 years ago
parent
commit
344137ad48

+ 3 - 1
src/main/frontend/components/search.cljs

@@ -8,6 +8,7 @@
             [frontend.db :as db]
             [frontend.db.model :as model]
             [frontend.handler.search :as search-handler]
+            [frontend.extensions.pdf.assets :as pdf-assets]
             [frontend.ui :as ui]
             [frontend.state :as state]
             [frontend.mixins :as mixins]
@@ -233,7 +234,8 @@
                               nil)
                             (state/close-modal!))
          :item-render (fn [{:keys [type data alias]}]
-                        (let [search-mode (state/get-search-mode)]
+                        (let [search-mode (state/get-search-mode)
+                              data (if (string? data) (pdf-assets/fix-local-asset-filename data) data)]
                           [:div {:class "py-2"} (case type
                                                   :graph-add-filter
                                                   [:b search-q]

+ 3 - 2
src/main/frontend/components/sidebar.cljs

@@ -27,7 +27,8 @@
             [goog.dom :as gdom]
             [goog.object :as gobj]
             [rum.core :as rum]
-            [frontend.extensions.srs :as srs]))
+            [frontend.extensions.srs :as srs]
+            [frontend.extensions.pdf.assets :as pdf-assets]))
 
 (defn nav-item
   [title href svg-d active? close-modal-fn]
@@ -93,7 +94,7 @@
                             {:page page-entity}))
                          (route-handler/redirect! {:to :page
                                                    :path-params {:name name}}))))}
-     original-name]))
+     (pdf-assets/fix-local-asset-filename original-name)]))
 
 (rum/defcs favorite-item <
   (rum/local nil ::up?)

+ 11 - 5
src/main/frontend/extensions/pdf/assets.cljs

@@ -246,11 +246,17 @@
             [:span.hl-area
              [:img {:src asset-path}]]))))))
 
+(defn fix-local-asset-filename
+  [filename]
+  (when-not (string/blank? filename)
+    (let [local-asset? (re-find #"[0-9]{13}_\d$" filename)]
+      (-> filename
+          (subs 0 (- (count filename) (if local-asset? 15 0)))
+          (string/replace #"^hls__" "")
+          (string/replace "_" " ")))))
+
 (rum/defc human-hls-filename-display
   [title]
-  (let [local-asset? (re-find #"[0-9]{13}_\d$" title)]
+  (when (string/starts-with? title "hls__")
     [:a.asset-ref
-     (-> title
-         (subs 0 (- (count title) (if local-asset? 15 0)))
-         (string/replace #"^hls__" "")
-         (string/replace "_" " "))]))
+     (fix-local-asset-filename title)]))